fix saving old list

This commit is contained in:
smilerz
2022-01-04 14:21:01 -06:00
parent 214db80dac
commit 29aa52aa3d
3 changed files with 25 additions and 15 deletions

View File

@ -687,20 +687,21 @@ class ShoppingListEntrySerializer(WritableNestedModelSerializer):
return fields return fields
def run_validation(self, data): def run_validation(self, data):
if ( if self.root.instance.__class__.__name__ == 'ShoppingListEntry':
data.get('checked', False) if (
and self.root.instance data.get('checked', False)
and not self.root.instance.checked and self.root.instance
): and not self.root.instance.checked
# if checked flips from false to true set completed datetime ):
data['completed_at'] = timezone.now() # if checked flips from false to true set completed datetime
elif not data.get('checked', False): data['completed_at'] = timezone.now()
# if not checked set completed to None elif not data.get('checked', False):
data['completed_at'] = None # if not checked set completed to None
else: data['completed_at'] = None
# otherwise don't write anything else:
if 'completed_at' in data: # otherwise don't write anything
del data['completed_at'] if 'completed_at' in data:
del data['completed_at']
return super().run_validation(data) return super().run_validation(data)

View File

@ -504,6 +504,14 @@
</div> </div>
</b-form-group> </b-form-group>
</ContextMenuItem> </ContextMenuItem>
<ContextMenuItem
@click="
$refs.menu.close()
updateChecked({ entries: contextData, checked: true })
"
>
<a class="dropdown-item p-2" href="#"><i class="fas fa-check-square"></i> {{ $t("mark_complete") }}</a>
</ContextMenuItem>
<ContextMenuItem <ContextMenuItem
@click=" @click="

View File

@ -276,5 +276,6 @@
"csv_prefix_label": "List Prefix", "csv_prefix_label": "List Prefix",
"copy_markdown_table": "Copy as Markdown Table", "copy_markdown_table": "Copy as Markdown Table",
"in_shopping": "In Shopping List", "in_shopping": "In Shopping List",
"DelayUntil": "Delay Until" "DelayUntil": "Delay Until",
"mark_complete": "Mark Complete"
} }