diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-06-03 00:42:55 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-06-03 00:42:55 +0200 | 
| commit | cd874041d1761f24b984be0d1a524afd5bd4b116 (patch) | |
| tree | e6547966d9f7c649e1403a546eeabcc9563d46a6 /archaeological_warehouse/wizards.py | |
| parent | 3d24c80255484ea205caff491daf2a1164df70d2 (diff) | |
| download | Ishtar-cd874041d1761f24b984be0d1a524afd5bd4b116.tar.bz2 Ishtar-cd874041d1761f24b984be0d1a524afd5bd4b116.zip | |
Warehouse: work on packaging
Diffstat (limited to 'archaeological_warehouse/wizards.py')
| -rw-r--r-- | archaeological_warehouse/wizards.py | 17 | 
1 files changed, 12 insertions, 5 deletions
| diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py index 833c1c697..5f2b4346d 100644 --- a/archaeological_warehouse/wizards.py +++ b/archaeological_warehouse/wizards.py @@ -1,6 +1,6 @@  #!/usr/bin/env python  # -*- coding: utf-8 -*- -# Copyright (C) 2012  Étienne Loks  <etienne.loks_AT_peacefrogsDOTnet> +# Copyright (C) 2012-2016  Étienne Loks  <etienne.loks_AT_peacefrogsDOTnet>  # This program is free software: you can redistribute it and/or modify  # it under the terms of the GNU Affero General Public License as @@ -25,17 +25,24 @@ from archaeological_finds.models import Treatment  class PackagingWizard(TreatmentWizard): + +    def get_form_kwargs(self, step): +        kwargs = super(PackagingWizard, self).get_form_kwargs(step) +        if 'base-packaging' not in step: +            return kwargs +        kwargs['user'] = self.request.user +        return kwargs + +      def save_model(self, dct, m2m, whole_associated_models, form_list,                     return_object):          dct = self.get_extra_model(dct, form_list)          obj = self.get_current_saved_object()          dct['location'] = dct['container'].location -        items = dct.pop('finds') +        basket = dct.pop('basket')          treatment = Treatment(**dct)          treatment.save() -        if not hasattr(items, '__iter__'): -            items = [items] -        for item in items: +        for item in basket.items.all():              new = item.duplicate(self.request.user)              item.downstream_treatment = treatment              item.save() | 
