diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-02-11 22:08:05 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-02-11 22:08:05 +0100 |
commit | fcc5f11667cf9bae3a5db02d6c8a3fbad43f3e9c (patch) | |
tree | 3105847aa3fc5bdcffa71a52afaab75db177ea2b | |
parent | 1a1b5557cdd1b435b9de9d1c684c6183690293d5 (diff) | |
download | Ishtar-fcc5f11667cf9bae3a5db02d6c8a3fbad43f3e9c.tar.bz2 Ishtar-fcc5f11667cf9bae3a5db02d6c8a3fbad43f3e9c.zip |
Deletion of administrative acts (closes #141)
-rw-r--r-- | ishtar/furnitures/forms.py | 39 | ||||
-rw-r--r-- | ishtar/furnitures/menus.py | 8 | ||||
-rw-r--r-- | ishtar/furnitures/urls.py | 6 |
3 files changed, 46 insertions, 7 deletions
diff --git a/ishtar/furnitures/forms.py b/ishtar/furnitures/forms.py index 57f1c2d05..447b79694 100644 --- a/ishtar/furnitures/forms.py +++ b/ishtar/furnitures/forms.py @@ -975,6 +975,8 @@ class FileClosingWizard(Wizard): else: value = unicode(value) res[field.name] = (field.verbose_name, value, '') + if not datas and self.fields: + datas = [['', []]] for field in self.fields: if field in res: datas[0][1].append(res[field]) @@ -1107,6 +1109,22 @@ class AdministrativeActFileFormSelection(forms.Form): " act.")) return cleaned_data +class AdministrativeActDeletionWizard(FileClosingWizard): + model = models.AdministrativeAct + fields = ['act_type', 'in_charge', 'operator', 'scientific', 'signatory', + 'operation', 'associated_file', 'signature_date', 'act_object',] + if settings.COUNTRY == 'fr': + fields += ['ref_sra'] + + def done(self, request, storage, form_list, **kwargs): + obj = self.get_current_object(request, storage) + obj.delete() + return render_to_response('wizard_done.html', {}, + context_instance=RequestContext(request)) + +class FinalAdministrativeActDeleteForm(FinalForm): + confirm_msg = " " + confirm_end_msg = _(u"Would you like to delete this administrative act?") file_administrativeact_wizard = FileAdministrativeActWizard([ ('selec-file_administrativeact', FileFormSelection), @@ -1122,6 +1140,13 @@ file_administrativeact_modification_wizard = FileEditAdministrativeActWizard([ ('final-file_administrativeact_modification', FinalForm)], url_name='file_administrativeact_modification',) +file_administrativeact_deletion_wizard = AdministrativeActDeletionWizard([ + ('selec-file_administrativeact_deletion', + AdministrativeActFileFormSelection), + ('final-file_administrativeact_deletion', + FinalAdministrativeActDeleteForm)], + url_name='file_administrativeact_deletion',) + class OperationWizard(Wizard): model = models.Operation @@ -1267,13 +1292,6 @@ class OperationFormSelection(forms.Form): raise forms.ValidationError(_(u"You should select an operation.")) return cleaned_data - """ - pk = forms.IntegerField(label=_("Operation"), - widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-operation'), - associated_model=models.Operation), - validators=[models.valid_id(models.Operation)]) -""" - class OperationFormGeneral(forms.Form): form_label = _("General") associated_models = {'in_charge':models.Person, @@ -1554,3 +1572,10 @@ operation_administrativeact_modification_wizard = \ AdministrativeActOpeForm), ('final-operation_administrativeact_modification', FinalForm)], url_name='operation_administrativeact_modification',) + +operation_administrativeact_deletion_wizard = AdministrativeActDeletionWizard([ + ('selec-operation_administrativeact_deletion', + AdministrativeActOpeFormSelection), + ('final-operation_administrativeact_deletion', + FinalAdministrativeActDeleteForm)], + url_name='operation_administrativeact_deletion',) diff --git a/ishtar/furnitures/menus.py b/ishtar/furnitures/menus.py index 26028db8a..ab7715903 100644 --- a/ishtar/furnitures/menus.py +++ b/ishtar/furnitures/menus.py @@ -92,6 +92,10 @@ class Menu: _(u"Modify an administrative act"), model=models.AdministrativeAct, access_controls=['change_file', 'change_own_file']), + MenuItem('file_administrativeact_deletion', + _(u"Delete an administrative act"), + model=models.AdministrativeAct, + access_controls=['delete_file', 'delete_own_file']), ]), SectionItem('operation_management', _(u"Operation management"), childs=[ @@ -115,6 +119,10 @@ class Menu: _(u"Modify an administrative act"), model=models.AdministrativeAct, access_controls=['change_operation', 'change_own_operation']), + MenuItem('operation_administrativeact_deletion', + _(u"Delete an administrative act"), + model=models.AdministrativeAct, + access_controls=['operation_deletion', 'delete_own_operation']), ]), ] self.items = {} diff --git a/ishtar/furnitures/urls.py b/ishtar/furnitures/urls.py index de3a24799..09ff7efa2 100644 --- a/ishtar/furnitures/urls.py +++ b/ishtar/furnitures/urls.py @@ -43,6 +43,9 @@ urlpatterns = patterns('', url(BASE_URL + r'file_administrativeact_modification/(?P<step>.+)$', ishtar_forms.file_administrativeact_modification_wizard, name='file_administrativeact_modification'), + url(BASE_URL + r'file_administrativeact_deletion/(?P<step>.+)$', + ishtar_forms.file_administrativeact_deletion_wizard, + name='file_administrativeact_deletion'), url(BASE_URL + r'operation_creation/(?P<step>.+)$', ishtar_forms.operation_creation_wizard, name='operation_creation'), url(BASE_URL + r'operation_modification/(?P<step>.+)$', @@ -57,6 +60,9 @@ urlpatterns = patterns('', url(BASE_URL + r'operation_administrativeact_modification/(?P<step>.+)$', ishtar_forms.operation_administrativeact_modification_wizard, name='operation_administrativeact_modification'), + url(BASE_URL + r'operation_administrativeact_deletion/(?P<step>.+)$', + ishtar_forms.operation_administrativeact_deletion_wizard, + name='operation_administrativeact_deletion'), ) for section in menu.childs: for menu_item in section.childs: |