diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-10 20:49:13 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-09-10 20:49:13 +0200 |
commit | 3dae10a792d49d685debfe52eb7d61b9a6dc93f9 (patch) | |
tree | 45f1d910b67a30e44015735581ec9cdc6db51cdf /archaeological_context_records | |
parent | 58178a04b3e716a063b1c457018aafe28e5107dd (diff) | |
download | Ishtar-3dae10a792d49d685debfe52eb7d61b9a6dc93f9.tar.bz2 Ishtar-3dae10a792d49d685debfe52eb7d61b9a6dc93f9.zip |
QA: lock/unlock (sites, operations, context records, finds, containers, warehouses)
Diffstat (limited to 'archaeological_context_records')
-rw-r--r-- | archaeological_context_records/models.py | 14 | ||||
-rw-r--r-- | archaeological_context_records/urls.py | 4 | ||||
-rw-r--r-- | archaeological_context_records/views.py | 9 |
3 files changed, 23 insertions, 4 deletions
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 875a48019..dc8409b39 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -33,14 +33,13 @@ from django.utils.text import slugify from ishtar_common.utils import cached_label_changed, \ m2m_historization_changed, post_save_geo -from ishtar_common.model_managers import ExternalIdManager from ishtar_common.models import Document, GeneralType, \ BaseHistorizedItem, HistoricalRecords, OwnPerms, ShortMenuItem, \ GeneralRelationType, GeneralRecordRelations, post_delete_record_relation,\ post_save_cache, ValueGetter, BulkUpdatedItem, \ RelationItem, Town, get_current_profile, document_attached_changed, \ HistoryModel, SearchAltName, GeoItem, QRCodeItem, SearchVectorConfig, \ - DocumentItem + DocumentItem, MainItem, QuickAction from archaeological_operations.models import Operation, Period, Parcel, \ ArchaeologicalSite from ishtar_common.model_managers import UUIDModelManager @@ -292,7 +291,7 @@ class CRBulkView(object): class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, - QRCodeItem, GeoItem, OwnPerms, ValueGetter, ShortMenuItem, + QRCodeItem, GeoItem, OwnPerms, ValueGetter, MainItem, RelationItem): SLUG = 'contextrecord' APP = "archaeological-context-records" @@ -452,6 +451,15 @@ class ContextRecord(BulkUpdatedItem, DocumentItem, BaseHistorizedItem, "cached_related_context_records"] DOWN_MODEL_UPDATE = ["base_finds"] + QA_LOCK = QuickAction( + url="contextrecord-qa-lock", icon_class="fa fa-lock", + text=_(u"Lock/Unlock"), target="many", + rights=['change_contextrecord', 'change_own_contextrecord'] + ) + QUICK_ACTIONS = [ + QA_LOCK + ] + history = HistoricalRecords(bases=[HistoryModel]) objects = UUIDModelManager() diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py index 0b46f4de8..ccab8cacb 100644 --- a/archaeological_context_records/urls.py +++ b/archaeological_context_records/urls.py @@ -87,4 +87,8 @@ urlpatterns = [ views.QAOperationContextRecordView.as_view()), name='operation-qa-contextrecord'), + url(r'^contextrecord-qa-lock/(?P<pks>[0-9-]+)?/$', + views.QAContextRecordLockView.as_view(), name='contextrecord-qa-lock', + kwargs={"model": models.ContextRecord}), + ] diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py index 794cb5592..1aa691cff 100644 --- a/archaeological_context_records/views.py +++ b/archaeological_context_records/views.py @@ -34,7 +34,8 @@ from archaeological_operations.views import site_extra_context from archaeological_context_records import forms from ishtar_common.utils import put_session_message -from ishtar_common.views import IshtarMixin, LoginRequiredMixin, QAItemForm +from ishtar_common.views import IshtarMixin, LoginRequiredMixin, QAItemForm, \ + QABaseLockView from ishtar_common.views_item import display_item, get_item, show_item, \ revert_item from archaeological_context_records import wizards @@ -228,3 +229,9 @@ class QAOperationContextRecordView(QAItemForm): def form_valid(self, form): form.save(self.items) return HttpResponseRedirect(reverse("success")) + + +class QAContextRecordLockView(QABaseLockView): + model = models.ContextRecord + base_url = "contextrecord-qa-lock" + |