1 #line 2 "src/Gui/BillPay/PaymentWidget.cpp"
3 #include <Wt/WVBoxLayout.h>
5 #include "../../Dbo/Transactions/Manager.h"
6 #include "../../Glb/Core.h"
7 #include "../AccountSuggestionEdit.h"
12 :
Wt::WContainerWidget(),
15 addStyleClass(
"PaymentWidget" );
20 auto lw = setLayout( std::make_unique< Wt::WVBoxLayout >() );
28 addWidget( std::make_unique< Wt::WTemplate >(
TR(
"gcw_gui.billpay.paymentwidget.form.main") ) );
33 m_table = templtMain-> bindNew< Wt::WTable >(
"table" );
34 m_table-> addStyleClass(
"MakePaymentTable" );
39 m_date =
table()-> elementAt( 0, 0 )-> addNew< Wt::WDateEdit >( );
40 m_num =
table()-> elementAt( 0, 1 )-> addNew< Wt::WLineEdit >( );
41 m_desc =
table()-> elementAt( 0, 2 )-> addNew< Wt::WLineEdit >( );
42 auto acct =
table()-> elementAt( 0, 3 )-> addNew< AccountSuggestionEdit >( );
43 m_recon =
table()-> elementAt( 0, 4 )-> addNew< Wt::WLineEdit >( );
44 m_debit =
table()-> elementAt( 0, 5 )-> addNew< Wt::WLineEdit >( );
45 m_credit =
table()-> elementAt( 0, 6 )-> addNew< Wt::WLineEdit >( );
47 #ifdef INCLUDE_TABLE_WITH_MULTIPLE_INPUT_ROWS
51 auto _addElement = [&](
size_t _row,
size_t _col,
const char * styleClass, Wt::WFormWidget * _element )
53 _element-> addStyleClass( styleClass );
67 auto _addLineEdit = [&](
size_t _row,
size_t _col,
const char * _styleClass )
69 auto element =
table()-> elementAt( _row, _col )-> addNew< Wt::WLineEdit >();
70 _addElement( _row, _col, _styleClass, element );
76 auto _addAcctEdit = [&](
size_t _row,
size_t _col,
const char * _styleClass )
78 auto element =
table()-> elementAt( _row, _col )-> addNew< AccountSuggestionEdit >();
79 _addElement( _row, _col, _styleClass, element );
85 for(
int row=1; row<= 3; row++ )
87 _addLineEdit( row, 1,
"num" );
88 _addLineEdit( row, 2,
"desc" );
89 _addAcctEdit( row, 3,
"acct" );
90 _addLineEdit( row, 4,
"recon" );
91 _addLineEdit( row, 5,
"debit" );
92 _addLineEdit( row, 6,
"credit" );
99 m_date -> addStyleClass (
"date" );
100 m_num -> addStyleClass (
"num" );
101 m_desc -> addStyleClass (
"desc" );
102 acct -> addStyleClass (
"acct" );
103 m_recon -> addStyleClass (
"recon" );
104 m_debit -> addStyleClass (
"debit" );
105 m_credit -> addStyleClass (
"credit" );
107 m_date -> setPlaceholderText (
"Date" );
108 m_num -> setPlaceholderText (
"Num" );
109 m_desc -> setPlaceholderText (
"Description" );
110 m_recon -> setPlaceholderText (
"R" );
111 m_debit -> setPlaceholderText (
"Debit" );
112 m_credit -> setPlaceholderText (
"Credit" );
119 m_confirm = templtMain-> bindNew< Wt::WTextArea >(
"confirm" );
120 m_confirm-> setPlaceholderText(
"Confirmation" );
141 std::cout << __FILE__ <<
":" << __LINE__ <<
" bpItem:" <<
bpItem.guid() << std::endl;
142 std::cout << __FILE__ <<
":" << __LINE__ <<
" account:" <<
bpItem.accountGuid() << std::endl;
159 std::cout << __FILE__ <<
":" << __LINE__
160 <<
" " <<
bpItem.accountFullName()
161 <<
" " <<
bpItem.nickname()
165 Wt::Dbo::Transaction t(
GCW::app()-> gnucashew_session() );
166 bpItem.set_accountGuid ( m_account -> valueGuid() );
167 bpItem.set_dueDay ( m_dueDay -> valueText() );
168 bpItem.set_minimum ( m_minimum -> valueText() );
169 bpItem.set_budget ( m_budget -> valueText() );
170 bpItem.set_nickname ( m_nickname -> valueText() );
171 bpItem.set_group ( m_group -> valueText() );
172 bpItem.set_limit ( m_limit -> valueText() );
173 bpItem.set_actual ( m_actual -> valueText() );
174 bpItem.set_url ( m_url -> valueText() );
175 bpItem.set_ap ( m_ap -> valueText() );
176 bpItem.set_isActive ( m_isActive -> valueText() );
177 bpItem.set_isVisible ( m_isVisible -> valueText() );
178 bpItem.set_autoPay ( m_autoPay -> valueText() );
179 bpItem.set_payNow ( m_payNow -> valueText() );
180 bpItem.set_last4 ( m_last4 -> valueText() );
181 bpItem.set_note ( m_note -> valueText() );
184 for(
auto cb : m_cbx )
185 bpItem.set_cb( i++, cb-> valueText() );
194 rejectWhenEscapePressed(
true );
197 addStyleClass(
"PaymentWidgetDialog" );
198 setWindowTitle(
TR(
"gcw.billPay.dialog.title" ) );
200 auto editWidget = contents()-> addNew< PaymentWidget >( _bpGuid );
202 auto pbSave = titleBar()-> addNew< Wt::WPushButton >(
TR(
"gcw.billPay.label.save" ) );
203 auto pbCancel = titleBar()-> addNew< Wt::WPushButton >(
TR(
"gcw.billPay.label.cancel" ) );
205 pbSave -> setStyleClass(
"btn-xs" );
206 pbCancel -> setStyleClass(
"btn-xs" );
208 pbSave -> clicked().connect( [
this,editWidget](){ editWidget-> saveData(); accept(); } );
209 pbCancel -> clicked().connect(
this, &Wt::WDialog::reject );
auto currentDateTimeDisplayString() -> std::string
auto bpItem(const std::string &_guid) -> GCW::Gui::BillPay::Item
Bill Pay Item.