1 #line 2 "src/Gui/BillPay/EditWidget.cpp"
3 #include <Wt/WMenuItem.h>
4 #include <Wt/WVBoxLayout.h>
6 #include "../../Eng/AccountComboModel.h"
7 #include "../../Glb/Core.h"
13 setModel( std::make_shared< GCW::Eng::AccountComboModel >() );
23 Wt::asString( model()-> data( currentIndex(), 0 ) ).toUTF8() ;
30 :
Wt::WContainerWidget(),
33 addStyleClass(
"EditWidget" );
38 auto lw = setLayout( std::make_unique< Wt::WVBoxLayout >() );
50 std::make_unique< Wt::WTemplate >(
TR(
"gcw_gui.billpay.editwidget.form.main") )
57 m_pbSave = templtMain-> bindNew< Wt::WPushButton >(
"save" ,
TR(
"gcw.billPay.pb.save") );
58 m_pbCancel = templtMain-> bindNew< Wt::WPushButton >(
"cancel" ,
TR(
"gcw.billPay.pb.cancel") );
59 m_pbDelete = templtMain-> bindNew< Wt::WPushButton >(
"delete" ,
TR(
"gcw.billPay.pb.delete") );
60 m_account = templtMain-> bindNew< ComboBox >(
"account" );
61 m_dueDay = templtMain-> bindNew< Wt::WSpinBox >(
"dueDay" );
62 m_minimum = templtMain-> bindNew< Wt::WLineEdit >(
"minimum" );
63 m_budget = templtMain-> bindNew< Wt::WLineEdit >(
"budget" );
64 m_nickname = templtMain-> bindNew< Wt::WLineEdit >(
"nickname" );
65 m_group = templtMain-> bindNew< Wt::WSpinBox >(
"group" );
66 m_limit = templtMain-> bindNew< Wt::WLineEdit >(
"limit" );
67 m_actual = templtMain-> bindNew< Wt::WLineEdit >(
"actual" );
68 m_ap = templtMain-> bindNew< Wt::WCheckBox >(
"ap" ,
TR(
"gcw.billPay.pb.ap") );
69 m_isActive = templtMain-> bindNew< Wt::WCheckBox >(
"isActive" ,
TR(
"gcw.billPay.pb.isActive") );
70 m_isVisible = templtMain-> bindNew< Wt::WCheckBox >(
"isVisible" ,
TR(
"gcw.billPay.pb.isVisible") );
71 m_autoPay = templtMain-> bindNew< Wt::WCheckBox >(
"autoPay" ,
TR(
"gcw.billPay.pb.autoPay") );
72 m_payNow = templtMain-> bindNew< Wt::WCheckBox >(
"payNow" ,
TR(
"gcw.billPay.pb.payNow") );
74 m_account -> setToolTip(
TR(
"gcw.billPay.account.toolTip" ) );
75 m_dueDay -> setToolTip(
TR(
"gcw.billPay.dueDay.toolTip" ) );
76 m_minimum -> setToolTip(
TR(
"gcw.billPay.minimum.toolTip" ) );
77 m_budget -> setToolTip(
TR(
"gcw.billPay.budget.toolTip" ) );
78 m_nickname -> setToolTip(
TR(
"gcw.billPay.nickname.toolTip" ) );
79 m_group -> setToolTip(
TR(
"gcw.billPay.group.toolTip" ) );
80 m_limit -> setToolTip(
TR(
"gcw.billPay.limit.toolTip" ) );
81 m_actual -> setToolTip(
TR(
"gcw.billPay.actual.toolTip" ) );
82 m_ap -> setToolTip(
TR(
"gcw.billPay.pb.ap.toolTip" ) );
83 m_isActive -> setToolTip(
TR(
"gcw.billPay.pb.isActive.toolTip" ) );
84 m_isVisible -> setToolTip(
TR(
"gcw.billPay.pb.isVisible.toolTip" ) );
85 m_autoPay -> setToolTip(
TR(
"gcw.billPay.pb.autoPay.toolTip" ) );
86 m_payNow -> setToolTip(
TR(
"gcw.billPay.pb.payNow.toolTIp" ) );
92 templtMain-> bindString(
"accountLabel" ,
TR(
"gcw.billPay.account.label" ) );
93 templtMain-> bindString(
"dueDayLabel" ,
TR(
"gcw.billPay.dueDay.label" ) );
94 templtMain-> bindString(
"minimumLabel" ,
TR(
"gcw.billPay.minimum.label" ) );
95 templtMain-> bindString(
"budgetLabel" ,
TR(
"gcw.billPay.budget.label" ) );
96 templtMain-> bindString(
"nicknameLabel" ,
TR(
"gcw.billPay.nickname.label" ) );
97 templtMain-> bindString(
"groupLabel" ,
TR(
"gcw.billPay.group.label" ) );
98 templtMain-> bindString(
"limitLabel" ,
TR(
"gcw.billPay.limit.label" ) );
99 templtMain-> bindString(
"actualLabel" ,
TR(
"gcw.billPay.actual.label" ) );
105 m_tabWidget = lw-> addWidget( std::make_unique< Wt::WTabWidget >(), 1 );
112 Wt::WTemplate * templtPayment;
114 auto u_ = std::make_unique< Wt::WTemplate >(
TR(
"gcw_gui.billpayeditor.form.tab1" ) );
115 templtPayment = u_.get();
116 m_tabWidget-> addTab( std::move( u_ ),
TR(
"gcw.billPay.tabName.payment") );
118 for(
int cb = 0; cb < 12; cb++ )
119 m_cbx.push_back( templtPayment-> bindNew< Wt::WCheckBox >(
"cb" +
toString( cb+1 ),
toString( cb+1 ) ) );
121 auto pbgo = templtPayment-> bindNew< Wt::WPushButton >(
"go",
TR(
"gcw.billPay.pb.go") );
124 m_url = templtPayment-> bindNew< Wt::WLineEdit >(
"url" );
125 m_last4 = templtPayment-> bindNew< Wt::WLineEdit >(
"last4" );
126 m_note = templtPayment-> bindNew< Wt::WTextArea >(
"note" );
128 m_label = templtPayment-> bindNew< Wt::WLabel >(
"image",
"image" );
129 m_label-> setMinimumSize(
"160px",
"160px" );
130 m_label-> resize(
"160px",
"160px" );
135 auto pbClear = templtPayment-> bindNew< Wt::WPushButton >(
"clear",
TR(
"gcw.billPay.pb.clear") );
136 pbClear-> setToolTip(
TR(
"gcw.billPay.pb.clear.toolTip") );
138 clicked().connect( [&]()
140 for(
auto cb :
m_cbx )
141 cb-> setValueText(
"no" );
152 Wt::WTemplate * templtHistory;
159 auto w_ = std::make_unique< GCW::Gui::AccountRegister >();
161 auto tab =
m_tabWidget-> addTab( std::move( w_ ),
TR(
"gcw.billPay.tabName.history") );
200 Wt::Dbo::Transaction t(
GCW::app()-> gnucashew_session() );
201 m_account -> setValueText(
fullName );
202 m_dueDay -> setValueText(
bpItem.dueDay () );
203 m_minimum -> setValueText(
bpItem.minimum () );
204 m_budget -> setValueText(
bpItem.budget () );
205 m_nickname -> setValueText(
bpItem.nickname () );
206 m_group -> setValueText(
bpItem.group () );
207 m_limit -> setValueText(
bpItem.limit () );
208 m_actual -> setValueText(
bpItem.actual () );
209 m_url -> setValueText(
bpItem.url () );
210 m_ap -> setValueText(
bpItem.ap () );
211 m_isActive -> setValueText(
bpItem.isActive () );
212 m_isVisible -> setValueText(
bpItem.isVisible () );
213 m_autoPay -> setValueText(
bpItem.autoPay () );
214 m_payNow -> setValueText(
bpItem.payNow () );
215 m_last4 -> setValueText(
bpItem.last4 () );
216 m_note -> setValueText(
bpItem.note () );
219 for(
auto cb : m_cbx )
220 cb-> setValueText(
bpItem.cb( i++ ) );
222 m_register-> setAccountGuid(
bpItem.accountGuid() );
246 Wt::Dbo::Transaction t(
GCW::app()-> gnucashew_session() );
247 bpItem.set_accountGuid ( m_account -> valueGuid() );
248 bpItem.set_dueDay ( m_dueDay -> valueText() );
249 bpItem.set_minimum ( m_minimum -> valueText() );
250 bpItem.set_budget ( m_budget -> valueText() );
251 bpItem.set_nickname ( m_nickname -> valueText() );
252 bpItem.set_group ( m_group -> valueText() );
253 bpItem.set_limit ( m_limit -> valueText() );
254 bpItem.set_actual ( m_actual -> valueText() );
255 bpItem.set_url ( m_url -> valueText() );
256 bpItem.set_ap ( m_ap -> valueText() );
257 bpItem.set_isActive ( m_isActive -> valueText() );
258 bpItem.set_isVisible ( m_isVisible -> valueText() );
259 bpItem.set_autoPay ( m_autoPay -> valueText() );
260 bpItem.set_payNow ( m_payNow -> valueText() );
261 bpItem.set_last4 ( m_last4 -> valueText() );
262 bpItem.set_note ( m_note -> valueText() );
265 for(
auto cb : m_cbx )
266 bpItem.set_cb( i++, cb-> valueText() );
276 addStyleClass(
"EditWidgetDialog" );
277 setWindowTitle(
"Bill Pay Account" );
280 rejectWhenEscapePressed(
true );
282 auto editWidget = contents()-> addNew< EditWidget >( _accountGuid );
284 editWidget-> save ().connect( [&](){ accept(); });
285 editWidget-> cancel ().connect( [&](){ reject(); });
auto newGuid() -> std::string
Generate new GUID string value.
auto fullName(const std::string &_guid) -> std::string
Account Fullname via GUID.
auto bpItem(const std::string &_guid) -> GCW::Gui::BillPay::Item
Bill Pay Item.
std::string asString(Status _status)
Get Status as String.
auto toString(int _value) -> std::string
Convert Integer to String.