141 auto rowCount = _table-> rowCount();
150 Splits splits( m_month, m_year );
152 std::vector< DayTotal_t > dayTotals;
154 for(
auto payFromAcct : splits.
payFroms() )
159 for(
auto payFromDay : splits.
payFromDays( payFromAcct ) )
166 Wt::WString(
"<span style=\"border-bottom:1px solid black;\">{1}<sup>{2}</sup> ~ {3}</span>")
168 .
arg( ordinalSuffix( payFromDay ) )
173 _table-> elementAt( row, 0 )-> addNew< Wt::WText >( acctDay );
174 _table-> elementAt( row, 0 )-> setStyleClass(
"acctDay" );
175 _table-> elementAt( row, 0 )-> setColumnSpan( 2 );
183 for(
auto paymentSplit : splits.
paymentSplits( payFromAcct, payFromDay ) )
185 auto splitItem = GCW::Dbo:: Splits ::byGuid( paymentSplit );
186 acctItem = GCW::Dbo:: Accounts ::byGuid( splitItem-> account_guid() );
187 auto txItem = GCW::Dbo:: Transactions ::byGuid( splitItem-> tx_guid() );
189 _table-> elementAt( row, 0 )-> addNew< Wt::WText >( splitItem -> valueAsString(
true ) );
190 _table-> elementAt( row, 1 )-> addNew< Wt::WText >( txItem -> description() );
195 if( otherSplit.size() > 0 )
197 _table-> elementAt( row, 2 )-> addNew< Wt::WText >( otherSplit[0] -> memo() );
201 _table-> elementAt( row, 1 )-> clicked().connect( [=](){ m_clicked.emit( txItem-> description() ); } );
204 subTotal += splitItem-> value(
true );
209 _table-> elementAt( row, 0 )-> setStyleClass(
"du" );
210 _table-> elementAt( row-1, 0 )-> setStyleClass(
"su" );
228 dayTotal.
day = payFromDay;
229 dayTotal.
bank = payFromAcct;
230 dayTotal.
value = subTotal;
231 dayTotals.push_back( dayTotal );
238 _table-> elementAt( row, 0 )-> addNew< Wt::WText >(
TR(
"gcw.billPay.lbl.transfers") );
239 _table-> elementAt( row, 0 )-> setStyleClass(
"acctDay" );
240 _table-> elementAt( row, 0 )-> setAttributeValue(
"style",
"text-align:center;border-bottom: 1px solid black;" );
241 _table-> elementAt( row, 0 )-> setColumnSpan( 2 );
250 return a.day < b.day;
257 for(
auto dayTotal : dayTotals )
259 if( day != dayTotal.day )
264 .
arg( ordinalSuffix( day ) )
271 _table-> elementAt( row, 1 )-> addNew< Wt::WText >(
Wt::WString(
TR(
"gcw.billPay.lbl.totalfor")) .arg( payDay ) );
272 _table-> elementAt( row, 0 )-> setStyleClass(
"du" );
273 _table-> elementAt( row-1, 0 )-> setStyleClass(
"su" );
278 _table-> elementAt( row, 0 )-> addNew< Wt::WText >(
"" );
279 _table-> elementAt( row, 0 )-> setColumnSpan( 2 );
280 _table-> elementAt( row, 0 )-> setAttributeValue(
"style",
"border-bottom:1px solid black;" );
290 _table-> elementAt( row, 1 )-> addNew< Wt::WText >( dayTotal.bank );
293 sum += dayTotal.value;
302 .
arg( ordinalSuffix( day ) )
307 _table-> elementAt( row, 1 )-> addNew< Wt::WText >(
Wt::WString(
TR(
"gcw.billPay.lbl.totalfor")).arg( payDay ) );
308 _table-> elementAt( row, 0 )-> setStyleClass(
"du" );
309 _table-> elementAt( row-1, 0 )-> setStyleClass(
"su" );
313 _table-> elementAt( row, 0 )-> addNew< Wt::WText >(
"" );
314 _table-> elementAt( row, 0 )-> setColumnSpan( 2 );
315 _table-> elementAt( row, 0 )-> setAttributeValue(
"style",
"border-bottom:1px double black;" );
321 _table-> elementAt( row, 1 )-> addNew< Wt::WText >(
Wt::WString(
TR(
"gcw.billPay.lbl.totalfor")).arg(
TR(
"gcw.billPay.ttp." +
toString( m_month ) ) ) );
324 _table-> elementAt( row, 0 )-> addNew< Wt::WText >(
"" );
325 _table-> elementAt( row, 0 )-> setColumnSpan( 2 );
326 _table-> elementAt( row, 0 )-> setAttributeValue(
"style",
"border-bottom:1px double black;" );