diff options
| -rw-r--r-- | archaeological_files/models.py | 11 | ||||
| -rw-r--r-- | archaeological_files/urls.py | 3 | ||||
| -rw-r--r-- | archaeological_files/views.py | 16 | ||||
| -rw-r--r-- | ishtar_common/models.py | 5 | 
4 files changed, 34 insertions, 1 deletions
| diff --git a/archaeological_files/models.py b/archaeological_files/models.py index 4b0501e96..bef7d53a1 100644 --- a/archaeological_files/models.py +++ b/archaeological_files/models.py @@ -719,6 +719,17 @@ class File(ClosedItem, DocumentItem, BaseHistorizedItem, CompleteIdentifierItem,                   _("Add associated administrative act"), "fa fa-plus",                   _("admin. act"), "", False),              ] +        if self.can_do(request, 'add_operation'): +            actions += [ +                ( +                    reverse('file-add-operation', args=[self.pk]), +                    _("Add operation"), +                    "fa fa-plus", +                    _("operation"), +                    "", +                    False +                ) +            ]          return actions      def save(self, *args, **kwargs): diff --git a/archaeological_files/urls.py b/archaeological_files/urls.py index cb8a63369..d6db8e763 100644 --- a/archaeological_files/urls.py +++ b/archaeological_files/urls.py @@ -93,4 +93,7 @@ urlpatterns = [      url(r'file_administrativeact_document/$',          administrativeactfile_document,          name='file-administrativeact-document', kwargs={'file': True}), +    url(r'^file-add-operation/(?P<pk>[0-9-]+)/$', +        check_rights(['add_operation'])(views.file_add_operation), +        name='file-add-operation'),  ] diff --git a/archaeological_files/views.py b/archaeological_files/views.py index a29ae8b15..f94de1cb1 100644 --- a/archaeological_files/views.py +++ b/archaeological_files/views.py @@ -37,6 +37,8 @@ from archaeological_files import wizards  from archaeological_files.wizards import FileWizard, \      FileModificationWizard, FileClosingWizard, FileDeletionWizard, \      FileAdministrativeActWizard, FileEditAdministrativeActWizard +from archaeological_operations.wizards import OperationWizard +from archaeological_operations.views import operation_creation_wizard  from ishtar_common.forms_common import TownFormset  from archaeological_operations.forms import FinalAdministrativeActDeleteForm @@ -259,6 +261,20 @@ def file_adminact_add(request, pk, current_right=None):          kwargs={'step': 'administrativeact-file_administrativeactfile'})) +def file_add_operation(request, pk, current_right=None): +    try: +        models.File.objects.get(pk=pk) +    except models.File.DoesNotExist: +        raise Http404() +    operation_creation_wizard(request) +    OperationWizard.session_set_value( +        request, 'filechoice-operation_creation', 'associated_file', pk, +        reset=True) +    return redirect(reverse( +        'operation_creation', +        kwargs={'step': 'general-operation_creation'})) + +  def reset_wizards(request):      for wizard_class, url_name in (              (FileWizard, 'file_creation'), diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 6eb7fac6d..e7d948d63 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1880,12 +1880,15 @@ class TitleType(GenderedType):          return doc      def get_values(self, prefix='', **kwargs): -        return { +        dct = {              prefix: self.label,              prefix + "id": self.pk,              prefix + "txt_idx": self.txt_idx,              prefix + "long_title": self.long_title          } +        if prefix: +            dct[prefix[:-1]] = self.label +        return dct  post_save.connect(post_save_cache, sender=TitleType) | 
