summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/models.py4
-rw-r--r--archaeological_files/templates/ishtar/sheet_file.html7
-rw-r--r--archaeological_files/views.py11
-rw-r--r--archaeological_operations/urls.py2
-rw-r--r--archaeological_operations/views.py8
-rw-r--r--ishtar_common/static/media/style.css6
-rw-r--r--ishtar_common/views.py5
7 files changed, 40 insertions, 3 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 289aa4166..d8281d591 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -270,7 +270,9 @@ class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,
def get_town_label(self):
lbl = unicode(_('Intercommunal'))
- if self.towns.count() == 1:
+ if self.main_town:
+ lbl = self.main_town.name
+ elif self.towns.count() == 1:
lbl = self.towns.all()[0].name
return lbl
diff --git a/archaeological_files/templates/ishtar/sheet_file.html b/archaeological_files/templates/ishtar/sheet_file.html
index 11a90df9e..736f982c5 100644
--- a/archaeological_files/templates/ishtar/sheet_file.html
+++ b/archaeological_files/templates/ishtar/sheet_file.html
@@ -20,7 +20,14 @@
</div>
{% endif %}
<div class='tool'>{%trans "Export as:"%} <a href='{% url show-file item.pk "odt" %}'>{%trans "OpenOffice.org file"%}</a>, <a href='{% url show-file item.pk "pdf" %}'>{%trans "PDF file"%}</a></div>
+<hr/>
<div class='tool modify'><a href='{% url file_modify item.pk %}'>{% trans "Modify" %}</a></div>
+
+{% if can_add_operation %}
+<div class='tool modify'><a href='{% url operation_add item.pk %}'>{%trans "Add an associated archaeological operation"%}</a></div>
+
+{%endif%}
+
<h3>{% trans "General"%}</h3>
<p><label>{%trans "Year:"%}</label> <span class='value strong'>{{ item.year }}</span></p>
{% if item.numeric_reference %}<p><label>{%trans "Numerical reference:"%}</label> <span class='value strong'>{{ item.numeric_reference }}</span></p>{% endif %}
diff --git a/archaeological_files/views.py b/archaeological_files/views.py
index ba640a785..c414ba858 100644
--- a/archaeological_files/views.py
+++ b/archaeological_files/views.py
@@ -28,6 +28,7 @@ from django.utils.translation import ugettext_lazy as _
from ishtar_common.views import get_item, show_item, revert_item
from ishtar_common.models import Person
+from archaeological_operations.models import Operation
import models
from ishtar_common.wizards import SearchWizard
@@ -85,9 +86,17 @@ get_file = get_item(models.File, 'get_file', 'file',
'general_contractor__attached_to':'general_contractor__attached_to__pk',
'history_creator':'history_creator__ishtaruser__person__pk',
},)
-show_file = show_item(models.File, 'file')
revert_file = revert_item(models.File)
+def extra_file_dct(request, item):
+ dct = {}
+ if (request.user.has_perm('ishtar_common.add_operation', Operation)
+ or request.user.ishtaruser.has_right('add_operation')):
+ dct['can_add_operation'] = True
+ return dct
+
+show_file = show_item(models.File, 'file', extra_dct=extra_file_dct)
+
get_administrativeactfile = get_item(AdministrativeAct,
'get_administrativeactfile', 'administrativeactfile',
associated_models = [(models.File, 'associated_file'),
diff --git a/archaeological_operations/urls.py b/archaeological_operations/urls.py
index fcd85efb5..7a6c3ecbf 100644
--- a/archaeological_operations/urls.py
+++ b/archaeological_operations/urls.py
@@ -45,6 +45,8 @@ urlpatterns = patterns('',
views.operation_search_wizard, name='operation_search'),
url(r'operation_creation/(?P<step>.+)?$',
views.operation_creation_wizard, name='operation_creation'),
+ url(r'operation_add/(?P<file_id>\d+)$',
+ views.operation_add, name='operation_add'),
url(r'operation_modification/(?P<step>.+)?$',
views.operation_modification_wizard,
name='operation_modification'),
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index b4e9d2a2f..25ca61f30 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -255,6 +255,14 @@ def operation_modify(request, pk):
return redirect(reverse('operation_modification',
kwargs={'step':'general-operation_modification'}))
+def operation_add(request, file_id):
+ view = operation_creation_wizard(request)
+ OperationWizard.session_set_value(
+ request, 'filechoice-operation_creation', 'associated_file',
+ file_id, reset=True)
+ return redirect(reverse('operation_creation',
+ kwargs={'step':'general-operation_creation'}))
+
operation_closing_wizard = OperationClosingWizard.as_view([
('selec-operation_closing', OperationFormSelection),
('date-operation_closing', ClosingDateFormSelection),
diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css
index a1b084002..3f027668d 100644
--- a/ishtar_common/static/media/style.css
+++ b/ishtar_common/static/media/style.css
@@ -17,6 +17,7 @@ div.form {
}
/* color */
+#window hr,
#context_menu .red,
a, a.remove {
color:#D14;
@@ -49,6 +50,11 @@ div.form {
border:0 solid #CCC;
}
+#window hr{
+ border:0;
+ border-bottom:1px solid #D14;
+}
+
/* shadows */
#progress-content,
.sheet{
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 66b488254..1885493b1 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -519,7 +519,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
return func
-def show_item(model, name):
+def show_item(model, name, extra_dct=None):
def func(request, pk, **dct):
try:
item = model.objects.get(pk=pk)
@@ -550,6 +550,9 @@ def show_item(model, name):
if len(historized) > 1:
dct['previous'] = historized[1].history_date
dct['item'], dct['item_name'] = item, name
+ # add context
+ if extra_dct:
+ dct.update(extra_dct(request, item))
context_instance = RequestContext(request)
context_instance.update(dct)
n = datetime.datetime.now()