summaryrefslogtreecommitdiff
path: root/archaeological_context_records
diff options
context:
space:
mode:
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
commit3dae10a792d49d685debfe52eb7d61b9a6dc93f9 (patch)
tree45f1d910b67a30e44015735581ec9cdc6db51cdf /archaeological_context_records
parent58178a04b3e716a063b1c457018aafe28e5107dd (diff)
downloadIshtar-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.py14
-rw-r--r--archaeological_context_records/urls.py4
-rw-r--r--archaeological_context_records/views.py9
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"
+