GnuCashew ~ GnuCash Enabled Web
GCW
Item.cpp
Go to the documentation of this file.
1 
2 
3 #include "../../define.h"
4 #include "BillPay.h"
5 #include "Item.h"
6 
7 /*
8 ** BP item info is stored in a var-like json structure
9 ** with field-names and field-values. The following
10 ** are the field-names used in the KVP (key value
11 ** pair) set;
12 **
13 */
14 #define FN_ACCOUNTGUID "accountGuid"
15 #define FN_DUEDAY "dueDay"
16 #define FN_MINIMUM "minimum"
17 #define FN_BUDGET "budget"
18 #define FN_NICKNAME "nickname"
19 #define FN_GROUP "group"
20 #define FN_LIMIT "limit"
21 #define FN_ACTUAL "actual"
22 #define FN_URL "url"
23 #define FN_AP "ap"
24 #define FN_ISACTIVE "isActive"
25 #define FN_ISVISIBLE "isVisible"
26 #define FN_AUTOPAY "autoPay"
27 #define FN_PAYNOW "payNow"
28 #define FN_LAST4 "last4"
29 #define FN_NOTE "note"
30 #define FN_CB "cb"
31 
34 : m_varItem( _varItem )
35 {
36 
37 } // endItem ( GCW::Dbo::Vars::Item::Ptr _varItem )
38 
39 auto
41 sortValue () const -> float
42 {
43  std::string sortvalue = "0";
44 
45  if( group() != "" )
46  sortvalue += group();
47 
48  if( dueDay() != "" )
49  sortvalue += "." + dueDay();
50 
51  return std::stof( sortvalue );
52 
53 } // endsortValue () const -> float
54 
55 auto
57 guid () const-> std::string
58 {
59  return
60  m_varItem-> keyField();
61 
62 } // endguid () const-> std::string
63 
64 auto
66 accountGuid () const-> std::string
67 {
68  return
69  m_varItem-> getVarString( FN_ACCOUNTGUID );
70 
71 } // endaccountGuid () const-> std::string
72 
73 auto
75 payFromGuid () const-> std::string
76 {
77  std::string retVal;
78 
79  /*
80  ** this should find the previous bill-pay and collect
81  ** all the other GUID used in the event
82  */
83 
84  return retVal;
85 
86 } // endpayFromGuid () const-> std::string
87 
88 
89 auto
91 accountFullName () const-> std::string
92 {
93  return
94  GCW::Dbo::Accounts::fullName( accountGuid() );
95 
96 } // endaccountFullName () const-> std::string
97 
98 auto
100 dueDay () const-> std::string
101 {
102  return
103  m_varItem-> getVarString( FN_DUEDAY );
104 
105 } // enddueDay () const-> std::string
106 
107 auto
109 minimum () const-> std::string
110 {
111  return
112  m_varItem-> getVarString( FN_MINIMUM );
113 
114 } // endminimum () const-> std::string
115 
116 auto
118 budget () const-> std::string
119 {
120  return
121  m_varItem-> getVarString( FN_BUDGET );
122 
123 } // endbudget () const-> std::string
124 
125 auto
127 nickname () const-> std::string
128 {
129  return
130  m_varItem-> getVarString( FN_NICKNAME );
131 
132 } // endnickname () const-> std::string
133 
134 auto
136 group () const-> std::string
137 {
138  return
139  m_varItem-> getVarString( FN_GROUP );
140 
141 } // endgroup () const-> std::string
142 
143 auto
145 limit () const-> std::string
146 {
147  return
148  m_varItem-> getVarString( FN_LIMIT );
149 
150 } // endlimit () const-> std::string
151 
152 auto
154 actual () const-> std::string
155 {
156  return
157  m_varItem-> getVarString( FN_ACTUAL );
158 
159 } // endactual () const-> std::string
160 
161 auto
163 url () const-> std::string
164 {
165  return
166  m_varItem-> getVarString( FN_URL );
167 
168 } // endurl () const-> std::string
169 
170 auto
172 ap () const-> std::string
173 {
174  return
175  m_varItem-> getVarString( FN_AP );
176 
177 } // endap () const-> std::string
178 
179 auto
181 isActive () const-> std::string
182 {
183  return
184  m_varItem-> getVarString( FN_ISACTIVE );
185 
186 } // endisActive () const-> std::string
187 
188 auto
190 isVisible () const-> std::string
191 {
192  return
193  m_varItem-> getVarString( FN_ISVISIBLE );
194 
195 } // endisVisible () const-> std::string
196 
197 auto
199 autoPay () const-> std::string
200 {
201  return
202  m_varItem-> getVarString( FN_AUTOPAY );
203 
204 } // endautoPay () const-> std::string
205 
206 auto
208 payNow () const-> std::string
209 {
210  return
211  m_varItem-> getVarString( FN_PAYNOW );
212 
213 } // endpayNow () const-> std::string
214 
215 auto
217 last4 () const-> std::string
218 {
219  return
220  m_varItem-> getVarString( FN_LAST4 );
221 
222 } // endlast4 () const-> std::string
223 
224 auto
226 note () const-> std::string
227 {
228  return
229  m_varItem-> getVarString( FN_NOTE );
230 
231 } // endnote () const-> std::string
232 
233 
234 auto
236 cb ( int _index ) const-> std::string
237 {
238  return
239  m_varItem-> getVarString( FN_CB + toString( _index ) );
240 
241 } // endcb ( int _index) const-> std::string
242 
243 auto
245 cbtr ( int _index ) const-> std::string
246 {
247  return
248  TR8( "gcw.billPay.tableView." + cb( _index ) );
249 
250 } // endcbtr ( int _index ) const-> std::string
251 
252 auto
254 setVar ( const std::string & _key, const Wt::WString & _value )-> void
255 {
256  Wt::Dbo::Transaction t( GCW::app()-> gnucashew_session() );
257  m_varItem.modify()-> setVar( _key, _value );
258 
259 } // endsetVar ( const std::string & _key, const Wt::WString & _value )-> void
260 
261 auto
263 set_accountGuid ( const Wt::WString & _value )-> void
264 {
265  setVar( FN_ACCOUNTGUID, _value );
266 
267 } // endset_accountGuid ( const Wt::WString & _value )-> void
268 
269 auto
271 set_dueDay ( const Wt::WString & _value )-> void
272 {
273  setVar( FN_DUEDAY, _value );
274 
275 } // endset_dueDay ( const Wt::WString & _value )-> void
276 
277 auto
279 set_minimum ( const Wt::WString & _value )-> void
280 {
281  setVar( FN_MINIMUM, _value );
282 
283 } // endset_minimum ( const Wt::WString & _value )-> void
284 
285 auto
287 set_budget ( const Wt::WString & _value )-> void
288 {
289  setVar( FN_BUDGET, _value );
290 
291 } // endset_budget ( const Wt::WString & _value )-> void
292 
293 auto
295 set_nickname ( const Wt::WString & _value )-> void
296 {
297  setVar( FN_NICKNAME, _value );
298 
299 } // endset_nickname ( const Wt::WString & _value )-> void
300 
301 auto
303 set_group ( const Wt::WString & _value )-> void
304 {
305  setVar( FN_GROUP, _value );
306 
307 } // endset_group ( const Wt::WString & _value )-> void
308 
309 auto
311 set_limit ( const Wt::WString & _value )-> void
312 {
313  setVar( FN_LIMIT, _value );
314 
315 } // endset_limit( const Wt::WString & _value )-> void
316 
317 auto
319 set_actual ( const Wt::WString & _value )-> void
320 {
321  setVar( FN_ACTUAL, _value );
322 
323 } // endset_actual ( const Wt::WString & _value )-> void
324 
325 auto
327 set_url ( const Wt::WString & _value )-> void
328 {
329  setVar( FN_URL, _value );
330 
331 } // endset_url ( const Wt::WString & _value )-> void
332 
333 auto
335 set_ap ( const Wt::WString & _value )-> void
336 {
337  setVar( FN_AP, _value );
338 
339 } // endset_ap ( const Wt::WString & _value )-> void
340 
341 auto
343 set_isActive ( const Wt::WString & _value )-> void
344 {
345  setVar( FN_ISACTIVE, _value );
346 
347 } // endset_isActive ( const Wt::WString & _value )-> void
348 
349 auto
351 set_isVisible ( const Wt::WString & _value )-> void
352 {
353  setVar( FN_ISVISIBLE, _value );
354 
355 } // endset_isVisible ( const Wt::WString & _value )-> void
356 
357 auto
359 set_autoPay ( const Wt::WString & _value )-> void
360 {
361  setVar( FN_AUTOPAY, _value );
362 
363 } // endset_autoPay ( const Wt::WString & _value )-> void
364 
365 auto
367 set_payNow ( const Wt::WString & _value )-> void
368 {
369  setVar( FN_PAYNOW, _value );
370 
371 } // endset_payNow ( const Wt::WString & _value )-> void
372 
373 auto
375 set_last4 ( const Wt::WString & _value )-> void
376 {
377  setVar( FN_LAST4, _value );
378 
379 } // endset_last4 ( const Wt::WString & _value )-> void
380 
381 auto
383 set_note ( const Wt::WString & _value )-> void
384 {
385  setVar( FN_NOTE, _value );
386 
387 } // endset_note ( const Wt::WString & _value )-> void
388 
389 auto
391 set_cb ( int _index, const Wt::WString & _value )-> void
392 {
393  setVar( FN_CB + toString( _index ), _value );
394 
395 } // endset_cb ( int _index, const Wt::WString & _value )-> void
396 
397 
398 
399 
400 
#define FN_NOTE
Definition: Item.cpp:29
#define FN_ACCOUNTGUID
Definition: Item.cpp:14
#define FN_NICKNAME
Definition: Item.cpp:18
#define FN_AP
Definition: Item.cpp:23
#define FN_LIMIT
Definition: Item.cpp:20
#define FN_GROUP
Definition: Item.cpp:19
#define FN_BUDGET
Definition: Item.cpp:17
#define FN_ISACTIVE
Definition: Item.cpp:24
#define FN_ACTUAL
Definition: Item.cpp:21
#define FN_ISVISIBLE
Definition: Item.cpp:25
#define FN_MINIMUM
Definition: Item.cpp:16
#define FN_PAYNOW
Definition: Item.cpp:27
#define FN_URL
Definition: Item.cpp:22
#define FN_AUTOPAY
Definition: Item.cpp:26
#define FN_LAST4
Definition: Item.cpp:28
#define FN_DUEDAY
Definition: Item.cpp:15
#define FN_CB
Definition: Item.cpp:30
Wt::Dbo::ptr< Item > Ptr
Definition: BaseItem.h:39
auto set_url(const Wt::WString &_value) -> void
Definition: Item.cpp:327
auto url() const -> std::string
Definition: Item.cpp:163
auto set_last4(const Wt::WString &_value) -> void
Definition: Item.cpp:375
auto note() const -> std::string
Definition: Item.cpp:226
auto accountFullName() const -> std::string
Definition: Item.cpp:91
Item(GCW::Dbo::Vars::Item::Ptr _varItem)
Definition: Item.cpp:33
auto limit() const -> std::string
Definition: Item.cpp:145
auto setVar(const std::string &_key, const Wt::WString &_value) -> void
Definition: Item.cpp:254
auto guid() const -> std::string
Item GUID.
Definition: Item.cpp:57
auto payNow() const -> std::string
Definition: Item.cpp:208
auto set_autoPay(const Wt::WString &_value) -> void
Definition: Item.cpp:359
auto isVisible() const -> std::string
Definition: Item.cpp:190
auto set_limit(const Wt::WString &_value) -> void
Definition: Item.cpp:311
auto last4() const -> std::string
Definition: Item.cpp:217
auto cb(int _index) const -> std::string
Check Box Value as text.
Definition: Item.cpp:236
auto set_budget(const Wt::WString &_value) -> void
Definition: Item.cpp:287
auto payFromGuid() const -> std::string
Pay-From Account.
Definition: Item.cpp:75
auto set_note(const Wt::WString &_value) -> void
Definition: Item.cpp:383
auto nickname() const -> std::string
Definition: Item.cpp:127
auto set_actual(const Wt::WString &_value) -> void
Definition: Item.cpp:319
auto set_payNow(const Wt::WString &_value) -> void
Definition: Item.cpp:367
auto autoPay() const -> std::string
Definition: Item.cpp:199
auto set_nickname(const Wt::WString &_value) -> void
Definition: Item.cpp:295
auto dueDay() const -> std::string
Definition: Item.cpp:100
auto isActive() const -> std::string
Definition: Item.cpp:181
auto sortValue() const -> float
Sort Value.
Definition: Item.cpp:41
auto set_ap(const Wt::WString &_value) -> void
Definition: Item.cpp:335
auto accountGuid() const -> std::string
Account GUID.
Definition: Item.cpp:66
auto set_group(const Wt::WString &_value) -> void
Definition: Item.cpp:303
auto set_accountGuid(const Wt::WString &_value) -> void
Definition: Item.cpp:263
auto minimum() const -> std::string
Definition: Item.cpp:109
auto set_isVisible(const Wt::WString &_value) -> void
Definition: Item.cpp:351
auto cbtr(int _index) const -> std::string
Check Box Value as Translated text.
Definition: Item.cpp:245
auto actual() const -> std::string
Definition: Item.cpp:154
auto group() const -> std::string
Definition: Item.cpp:136
auto set_minimum(const Wt::WString &_value) -> void
Definition: Item.cpp:279
auto budget() const -> std::string
Definition: Item.cpp:118
auto set_dueDay(const Wt::WString &_value) -> void
Definition: Item.cpp:271
auto ap() const -> std::string
Definition: Item.cpp:172
auto set_cb(int _index, const Wt::WString &_value) -> void
Definition: Item.cpp:391
auto set_isActive(const Wt::WString &_value) -> void
Definition: Item.cpp:343
#define TR8(X)
Definition: define.h:18
auto fullName(const std::string &_guid) -> std::string
Account Fullname via GUID.
Definition: Accounts.cpp:292
Wt::WFormModel::Field keyField
Definition: Var.cpp:5
auto toString(int _value) -> std::string
Convert Integer to String.
Definition: BillPay.cpp:41
App * app()
Definition: App.cpp:67
Definition: guid.cpp:397