Empty notes and tags now return null values
This commit is contained in:
parent
647d4aac2f
commit
4f3b39e22c
5 changed files with 56 additions and 47 deletions
|
|
@ -69,6 +69,7 @@ void post_splitter::operator()(post_t& post)
|
|||
bind_scope_t bound_scope(report, post);
|
||||
value_t result(group_by_expr.calc(bound_scope));
|
||||
|
||||
if (! result.is_null()) {
|
||||
value_to_posts_map::iterator i = posts_map.find(result);
|
||||
if (i != posts_map.end()) {
|
||||
(*i).second.push_back(&post);
|
||||
|
|
@ -78,6 +79,7 @@ void post_splitter::operator()(post_t& post)
|
|||
assert(inserted.second);
|
||||
(*inserted.first).second.push_back(&post);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pass_down_posts::pass_down_posts(post_handler_ptr handler,
|
||||
|
|
@ -837,6 +839,7 @@ void transfer_details::operator()(post_t& post)
|
|||
bind_scope_t bound_scope(scope, temp);
|
||||
value_t substitute(expr.calc(bound_scope));
|
||||
|
||||
if (! substitute.is_null()) {
|
||||
switch (which_element) {
|
||||
case SET_DATE:
|
||||
temp.xdata().date = substitute.to_date();
|
||||
|
|
@ -873,6 +876,7 @@ void transfer_details::operator()(post_t& post)
|
|||
assert(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
item_handler<post_t>::operator()(temp);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -227,7 +227,7 @@ namespace {
|
|||
return NULL_VALUE;
|
||||
}
|
||||
value_t get_note(item_t& item) {
|
||||
return string_value(item.note ? *item.note : empty_string);
|
||||
return item.note ? string_value(*item.note) : NULL_VALUE;
|
||||
}
|
||||
|
||||
value_t has_tag(call_scope_t& args) {
|
||||
|
|
@ -260,7 +260,8 @@ namespace {
|
|||
return false;
|
||||
}
|
||||
|
||||
value_t get_tag(call_scope_t& args) {
|
||||
value_t get_tag(call_scope_t& args)
|
||||
{
|
||||
item_t& item(find_scope<item_t>(args));
|
||||
optional<string> str;
|
||||
|
||||
|
|
@ -292,14 +293,14 @@ namespace {
|
|||
if (str)
|
||||
return string_value(*str);
|
||||
else
|
||||
return string_value(empty_string);
|
||||
return NULL_VALUE;
|
||||
}
|
||||
|
||||
value_t get_pathname(item_t& item) {
|
||||
if (item.pos)
|
||||
return string_value(item.pos->pathname.string());
|
||||
else
|
||||
return string_value(empty_string);
|
||||
return NULL_VALUE;
|
||||
}
|
||||
|
||||
value_t get_beg_pos(item_t& item) {
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ namespace {
|
|||
if (post.xact->code)
|
||||
return string_value(*post.xact->code);
|
||||
else
|
||||
return string_value(empty_string);
|
||||
return NULL_VALUE;
|
||||
}
|
||||
|
||||
value_t get_payee(post_t& post) {
|
||||
|
|
@ -158,9 +158,13 @@ namespace {
|
|||
}
|
||||
|
||||
value_t get_note(post_t& post) {
|
||||
if (post.note || post.xact->note) {
|
||||
string note = post.note ? *post.note : empty_string;
|
||||
note += post.xact->note ? *post.xact->note : empty_string;
|
||||
return string_value(note);
|
||||
} else {
|
||||
return NULL_VALUE;
|
||||
}
|
||||
}
|
||||
|
||||
value_t get_magnitude(post_t& post) {
|
||||
|
|
|
|||
|
|
@ -468,7 +468,7 @@ namespace {
|
|||
if (xact.code)
|
||||
return string_value(*xact.code);
|
||||
else
|
||||
return string_value(empty_string);
|
||||
return NULL_VALUE;
|
||||
}
|
||||
|
||||
value_t get_payee(xact_t& xact) {
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ reg --payee=code
|
|||
08-Feb-01 102 Assets:Cash $-20.00 0
|
||||
08-Feb-28 103 Expenses:Books $20.00 $20.00
|
||||
08-Feb-28 103 Assets:Cash $-20.00 0
|
||||
08-Mar-01 Expenses:Books $30.00 $30.00
|
||||
08-Mar-01 Assets:Cash $-30.00 0
|
||||
08-Mar-01 March Expenses:Books $30.00 $30.00
|
||||
08-Mar-01 March Assets:Cash $-30.00 0
|
||||
>>>2
|
||||
=== 0
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue