diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/models.py | 1 | ||||
| -rw-r--r-- | ishtar_common/static/media/style.css | 86 | ||||
| -rw-r--r-- | ishtar_common/templates/blocks/JQueryJqGrid.html | 10 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/blocks/window_nav.html | 47 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/blocks/window_tables/dynamic_documents.html | 9 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/sheet.html | 32 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/sheet_organization.html | 10 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/sheet_person.html | 7 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/sheet_source.html | 3 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/sheet_toolbar.html | 2 | ||||
| -rw-r--r-- | ishtar_common/templatetags/window_header.py | 37 | ||||
| -rw-r--r-- | ishtar_common/templatetags/window_tables.py | 9 | ||||
| -rw-r--r-- | ishtar_common/urls.py | 2 | ||||
| -rw-r--r-- | ishtar_common/views.py | 13 |
14 files changed, 222 insertions, 46 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 87cad0d72..a1cc3cc1b 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1825,6 +1825,7 @@ TARGET_MODELS = [ ('Format', _(u"Format")), ('archaeological_operations.models.OperationType', _(u"Operation type")), ('archaeological_operations.models.Period', _(u"Period")), + ('archaeological_operations.models.ReportState', _(u"Report state")), ('archaeological_context_records.models.Unit', _(u"Unit")), ('archaeological_finds.models.MaterialType', _(u"Material")), ('archaeological_finds.models.ConservatoryState', diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css index 7aef23099..69f86784b 100644 --- a/ishtar_common/static/media/style.css +++ b/ishtar_common/static/media/style.css @@ -16,7 +16,7 @@ div.form, ul.form { background-color: #922; } -a.add-button, #reset_wizards{ +.badge, a.add-button, #reset_wizards{ background-color: #D14; } @@ -27,15 +27,13 @@ a, a.remove { color:#D14; } +.badge, a.add-button, #reset_wizards, #window h1{ color:#fff; } -#context_menu { -} - #context_menu .orange { color:#dd6011; } @@ -77,6 +75,33 @@ hr.spacer{ margin: 13px; } +#window hr.clear, +hr.clear{ + clear: both; + border: 0 solid transparent; + height: 0; + margin: 0; +} + +.fa-stack-15x { + position: absolute; + left: 0; + width: 100%; + text-align: center; + font-size: 1.5em; + line-height: 1.4em; +} + +.badge{ + border: 1px solid #D14; +} + +.close-buttons{ + position: absolute; + right: 10px; + top: 2px; +} + /* shadows */ #progress-content, .sheet{ @@ -677,6 +702,13 @@ ul.form .help_text{ margin:0.2em; } +.badge{ + padding: 0.1em 0.3em; + border-radius: 1em; + line-height: 1.8em; + font-style: normal; +} + .autocomplete{ width:300px; } @@ -711,6 +743,11 @@ table.confirm tr.spacer td:last-child{ background:url('images/indicator.gif') no-repeat right center; } +.gridfooter{ + text-align: center; + font-style: italic; +} + .jqgrid{ cursor:pointer; } @@ -760,18 +797,17 @@ table.confirm tr.spacer td:last-child{ .previous_page, .next_page{ position:absolute; - top:40px; - font-size: 30px; + top:2px; color: #000; z-index: 1000; } .previous_page{ - left:35px; + left:95px; } .next_page{ - right:35px; + right:95px; } a.photo{ @@ -945,24 +981,36 @@ table td.item-list span{ #window .head{ text-align:center; background-color:#f1f2f6; - -webkit-border-top-left-radius: 8px; - -webkit-border-top-right-radius: 8px; - -moz-border-radius-topleft: 8px; - -moz-border-radius-topright: 8px; - border-top-left-radius: 8px; - border-top-right-radius: 8px; } +#window .tool-left, +#window .tool-right, #window .tool{ text-align:center; font-style:italic; } +#window .tool-right{ + float: right; + padding: 0 2em; +} + +#window .tool-left{ + float: left; + padding: 0 2em; +} + #window .tool.modify{ font-style:normal; font-weight:bold; } +.history-nav{ + display: inline-block; + width: 100px; + vertical-align: top; +} + #window .body{ position:absolute; padding:2px 10px 6px 10px; @@ -977,6 +1025,16 @@ table td.item-list span{ text-align:center; font-size:16px; margin-top:0; + padding: 0.2em; +} + +#window .head, #window h1{ + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + -moz-border-radius-topleft: 8px; + -moz-border-radius-topright: 8px; + border-top-left-radius: 8px; + border-top-right-radius: 8px; } #window label{ diff --git a/ishtar_common/templates/blocks/JQueryJqGrid.html b/ishtar_common/templates/blocks/JQueryJqGrid.html index c6a15243a..44f4b0ba8 100644 --- a/ishtar_common/templates/blocks/JQueryJqGrid.html +++ b/ishtar_common/templates/blocks/JQueryJqGrid.html @@ -12,13 +12,13 @@ <div id='pager_{{name}}'></div> <div id='foot_{{name}}' class='gridfooter'> + {% if source_full %} -{% trans "Export as CSV" %} ({{encoding}}) -<a class='{{sname}}-csv' href='{{source}}csv' target='_blank'>{% trans "simple" %}</a> - -<a class='{{sname}}-csv-full' href='{{source_full}}csv' target='_blank'>{% trans "full" %}</a> +<a class='badge {{sname}}-csv' href='{{source}}csv' target='_blank' title="{% trans 'Export as CSV' %}">{% trans "CSV" %}</a> +<a class='badge {{sname}}-csv-full' href='{{source_full}}csv' target='_blank' title="{% trans 'Export as CSV - full' %}">{% trans "CSV full" %}</a> {% else %} -<a class='{{sname}}-csv' href="{{source}}csv" target="_blank">{% trans "Export as CSV" %} ({{encoding}})</a> -{% endif %} +<a class='{{sname}}-csv' href="{{source}}csv" target="_blank" title="{% trans 'Export as CSV' %}">{% trans "CSV" %}</a> +{% endif %} {{encoding}} </div> {% if multiple %} diff --git a/ishtar_common/templates/ishtar/blocks/window_nav.html b/ishtar_common/templates/ishtar/blocks/window_nav.html new file mode 100644 index 000000000..c225a5822 --- /dev/null +++ b/ishtar_common/templates/ishtar/blocks/window_nav.html @@ -0,0 +1,47 @@ +{% load url from future %} +{% load i18n %} +{% if previous or next %} + <div class='tool-right'> + {% if previous %} + <a class='history-nav' href="#" onclick='load_window("{% url histo_url item.pk previous|date:"c"%}");$("#{{window_id}}").hide();return false;' title="{%trans 'Previous version'%}"> + <span class="fa-stack"> + <i class="fa fa-circle fa-stack-2x"></i> + <i class="fa fa-step-backward fa-stack-1x fa-inverse"></i> + </span> + <br/>{{previous}} + </a> + {% else %} + <span class='history-nav'> </span> + {% endif %} + {% if next %} + <a class='history-nav' title="{% trans 'Restore this version' %}" href="#" onclick='if(confirm("{%trans 'Are you sure to restore to this version? All changement made since this version will be lost.' %}")){load_url("{% url revert_url item.pk item.history_date|date:"c"%}");closeAllWindows();load_window("{% url show_url item.pk None %}");}'> + <span class="fa-stack fa-lg"> + <i class="fa fa-circle fa-stack-2x"></i> + <i class="fa fa-history fa-stack-1x fa-inverse"></i> + </span> + <br/>{% trans "Restore" %} + </a> + <a class='history-nav' href="#" onclick='load_window("{% url histo_url item.pk next|date:"c" %}");$("#{{window_id}}").hide();return false;' title="{%trans 'Next version'%}"> + <span class="fa-stack"> + <i class="fa fa-circle fa-stack-2x"></i> + <i class="fa fa-step-forward fa-stack-1x fa-inverse"></i> + </span> + <br/>{{next}} + </a> + {% else %} + <span class='history-nav'> </span> + <span class='history-nav'> </span> + {% endif %} + </div> +{% endif %} +<div class='tool-left'> + {% block extra_actions %}{% endblock %} + {% if modify_url %}<a href='{% url modify_url item.pk %}' title="{% trans 'Modify' %}"> + <span class="fa-stack fa-lg"> + <i class="fa fa-circle fa-stack-2x"></i> + <i class="fa fa-pencil fa-stack-1x fa-inverse"></i> + </span> + </a>{% endif %} + <a class='badge' href='{% url show_url item.pk "odt" %}' title='{% trans "Export as OpenOffice.org file"%}'>ODT</a> <a class='badge' href='{% url show_url item.pk "pdf" %}' title='{% trans "Export as PDF file"%}'>PDF</a> +</div> +<hr class='clear'> diff --git a/ishtar_common/templates/ishtar/blocks/window_tables/dynamic_documents.html b/ishtar_common/templates/ishtar/blocks/window_tables/dynamic_documents.html index 8850bd34a..4a81a64fb 100644 --- a/ishtar_common/templates/ishtar/blocks/window_tables/dynamic_documents.html +++ b/ishtar_common/templates/ishtar/blocks/window_tables/dynamic_documents.html @@ -6,12 +6,11 @@ <div id='foot_{{name}}' class='gridfooter'> {% if source_full %} -{% trans "Export as CSV" %} ({{encoding}}) -<a href='{{simple_source}}csv{{ source_attrs|safe }}' target='_blank'>{% trans "simple" %}</a> - -<a href='{{source_full}}csv{{ source_attrs|safe }}' target='_blank'>{% trans "full" %}</a> +<a class="badge" href='{{simple_source}}csv{{ source_attrs|safe }}' target='_blank' title="{% trans 'Export as CSV' %}">{% trans "CSV" %}</a> +<a class="badge" href='{{source_full}}csv{{ source_attrs|safe }}' target='_blank' title="{% trans 'Export as CSV - full' %}">{% trans "CSV full" %}</a> {% else %} -<a href="{{simple_source}}csv{{ source_attrs|safe }}" target="_blank">{% trans "Export as CSV" %} ({{encoding}})</a> -{% endif %} +<a class="badge" href="{{simple_source}}csv{{ source_attrs|safe }}" target="_blank" title="{% trans 'Export as CSV' %}">CSV</a> +{% endif %} {{encoding}} </div> <script type="text/javascript" language='javascript'> diff --git a/ishtar_common/templates/ishtar/sheet.html b/ishtar_common/templates/ishtar/sheet.html index 5da837ab4..bfefd5eb6 100644 --- a/ishtar_common/templates/ishtar/sheet.html +++ b/ishtar_common/templates/ishtar/sheet.html @@ -18,11 +18,35 @@ <div class="head"> -<a href='#' class='previous_page'><i class="fa fa-arrow-circle-left" aria-hidden="true"></i></a> -<a href='#' onclick='$("#{{window_id}}").hide("slow")'>{% trans "Close" %}</a> - -<a href='#' onclick='closeAllWindows();'>{% trans "Close all windows" %}</a> -<a href='#' class='next_page'><i class="fa fa-arrow-circle-right" aria-hidden="true"></i></a> +<a href='#' class='previous_page'> +<span class="fa-stack fa-lg"> + <i class="fa fa-circle fa-stack-2x"></i> + <i class="fa fa-arrow-left fa-stack-1x fa-inverse"></i> +</span> +</a> +<div class='close-buttons'> +<a href='#' onclick='$("#{{window_id}}").hide("slow")' title="{% trans 'Close' %}"> +<span class="fa-stack"> + <i class="fa fa-circle fa-stack-2x"></i> + <i class="fa fa-times fa-stack-1x fa-inverse"></i> +</span> +</a> +<a href='#' onclick='closeAllWindows();' title="{% trans "Close all windows" %}"> +<span class="fa-stack"> + <i class="fa fa-files-o fa-stack-2x"></i> + <i class="fa fa-circle fa-stack-15x"></i> + <i class="fa fa-times fa-stack-1x fa-inverse"></i> +</span> +</a> +</div> +<a href='#' class='next_page'> +<span class="fa-stack fa-lg"> + <i class="fa fa-circle fa-stack-2x"></i> + <i class="fa fa-arrow-right fa-stack-1x fa-inverse"></i> +</span> +</a> +<h1>{% block head_title %}{% endblock %}</h1> </div> <script type="text/javascript" language='javascript'> diff --git a/ishtar_common/templates/ishtar/sheet_organization.html b/ishtar_common/templates/ishtar/sheet_organization.html index 8deeebf98..2ece97a8b 100644 --- a/ishtar_common/templates/ishtar/sheet_organization.html +++ b/ishtar_common/templates/ishtar/sheet_organization.html @@ -1,14 +1,10 @@ {% extends "ishtar/sheet.html" %} -{% load i18n %} +{% load i18n window_header %} -{% block head_sheet %} -{{block.super}} -<h1>{% trans "Organization"%}</h1> -{% endblock %} +{% block head_title %}{% trans "Organization" %}{% endblock %} {% block content %} -<div class='tool'>{%trans "Export as:"%} <a href='{% url show-organization item.pk "odt" %}'>{%trans "OpenOffice.org file"%}</a>, <a href='{% url show-organization item.pk "pdf" %}'>{%trans "PDF file"%}</a></div> - +{% window_nav item window_id 'show-organization' 'organization_modify' %} <p><label>{% trans "Name" %}</label> <span class='value'>{{item.name}}</span></p> <p><label>{%trans "Created by:"%}</label> <span class='value'>{{ item.history_creator.ishtaruser.full_label }}</span></p> {% if item.address %}<p><label>{% trans "Address" %}</label> <span class='value'>{{item.address}}</span></p> {% endif %} diff --git a/ishtar_common/templates/ishtar/sheet_person.html b/ishtar_common/templates/ishtar/sheet_person.html index 3c554acdf..f5c42c11a 100644 --- a/ishtar_common/templates/ishtar/sheet_person.html +++ b/ishtar_common/templates/ishtar/sheet_person.html @@ -1,10 +1,9 @@ {% extends "ishtar/sheet.html" %} -{% load i18n window_field window_tables %} - -{% block header_title %}<h1>{% trans "Person"%}</h1>{% endblock %} -{% block toolbar %}{% with current_action='person_modification' %}{% include "ishtar/sheet_toolbar.html" %}{% endwith %}{% endblock %} +{% load i18n window_field window_tables window_header %} +{% block head_title %}{% trans "Person"%}{% endblock %} {% block content %} +{% window_nav item window_id 'show-person' 'person_modify' %} <h3>{% trans "Identity" %}</h3> {% field "Name" item.name %} diff --git a/ishtar_common/templates/ishtar/sheet_source.html b/ishtar_common/templates/ishtar/sheet_source.html index bda22ed35..653087753 100644 --- a/ishtar_common/templates/ishtar/sheet_source.html +++ b/ishtar_common/templates/ishtar/sheet_source.html @@ -1,7 +1,8 @@ {% extends "ishtar/sheet.html" %} {% load i18n window_field link_to_window %} -{% block toolbar %}{% with current_action='operation_source_modification' %}{% include "ishtar/sheet_toolbar.html" %}{% endwith %}{% endblock %} + {% block content %} +{% block window_nav %}{% endblock %} {% block general %} {% field "Title" item.title %} {% field "Index" item.index %} diff --git a/ishtar_common/templates/ishtar/sheet_toolbar.html b/ishtar_common/templates/ishtar/sheet_toolbar.html deleted file mode 100644 index d9d4cc1a5..000000000 --- a/ishtar_common/templates/ishtar/sheet_toolbar.html +++ /dev/null @@ -1,2 +0,0 @@ -{% load i18n link_to_window %}<div class='tool'>{% trans "Export as:" %} <a href='{{item|link_to_odt}}'>{%trans "OpenOffice.org file"%}</a>, <a href='{{item|link_to_pdf}}'>{%trans "PDF file"%}</a></div> -{% modify_toolbar item current_action %} diff --git a/ishtar_common/templatetags/window_header.py b/ishtar_common/templatetags/window_header.py new file mode 100644 index 000000000..b137f24a5 --- /dev/null +++ b/ishtar_common/templatetags/window_header.py @@ -0,0 +1,37 @@ +from django import template +from django.utils.safestring import mark_safe + +register = template.Library() + + +@register.inclusion_tag('ishtar/blocks/window_nav.html') +def window_nav(item, window_id, show_url, modify_url='', histo_url='', + revert_url='', previous=None, nxt=None): + return { + 'show_url': show_url, + 'modify_url': modify_url, + 'histo_url': histo_url, + 'revert_url': revert_url, + 'item': item, + 'window_id': window_id, + 'previous': previous, + 'next': nxt} + + +@register.inclusion_tag('ishtar/blocks/window_file_nav.html') +def window_file_nav(item, window_id, previous=None, nxt=None): + show_url = 'show-file' + modify_url = 'file_modify' + histo_url = 'show-historized-file' + revert_url = 'revert-file' + add_operation = "" + return { + 'show_url': show_url, + 'modify_url': modify_url, + 'histo_url': histo_url, + 'revert_url': revert_url, + 'item': item, + 'extra_action': mark_safe(add_operation), + 'window_id': window_id, + 'previous': previous, + 'next': nxt} diff --git a/ishtar_common/templatetags/window_tables.py b/ishtar_common/templatetags/window_tables.py index 03365c207..578d94535 100644 --- a/ishtar_common/templatetags/window_tables.py +++ b/ishtar_common/templatetags/window_tables.py @@ -16,7 +16,8 @@ from archaeological_files.models import File from archaeological_operations.models import OperationSource, Operation from archaeological_context_records.models import ContextRecord, \ ContextRecordSource -from archaeological_finds.models import Find, FindSource, FindTreatments +from archaeological_finds.models import Find, FindSource, \ + FindUpstreamTreatments, FindDownstreamTreatments register = template.Library() @@ -43,8 +44,10 @@ ASSOCIATED_MODELS['finds_for_ope'] = ( Find, 'get-find-for-ope', 'get-find-full') ASSOCIATED_MODELS['finds_docs'] = ( FindSource, 'get-findsource', 'get-findsource-full') -ASSOCIATED_MODELS['finds_treatments'] = ( - FindTreatments, 'get-treatment', 'get-treatment-full') +ASSOCIATED_MODELS['finds_upstreamtreatments'] = ( + FindUpstreamTreatments, 'get-upstreamtreatment', '') +ASSOCIATED_MODELS['finds_downstreamtreatments'] = ( + FindDownstreamTreatments, 'get-downstreamtreatment', '') @register.simple_tag(takes_context=True) diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py index daaac77e3..a6f24beed 100644 --- a/ishtar_common/urls.py +++ b/ishtar_common/urls.py @@ -64,6 +64,8 @@ urlpatterns = patterns( check_rights(['change_organization', 'change_own_organization'])( views.organization_modification_wizard), name='organization_modification'), + url(r'organization_modify/(?P<pk>.+)/$', views.organization_modify, + name='organization_modify'), url(r'organization_deletion/(?P<step>.+)?$', check_rights(['change_organization', 'change_own_organization'])( views.organization_deletion_wizard), name='organization_deletion'), diff --git a/ishtar_common/views.py b/ishtar_common/views.py index bbe790efa..79d3054b3 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -143,6 +143,16 @@ organization_modification_wizard = wizards.OrganizationModifWizard.as_view( label=_(u"Organization modification"), url_name='organization_modification') + +def organization_modify(request, pk): + organization_modification_wizard(request) + wizards.OrganizationModifWizard.session_set_value( + request, 'selec-organization_modification', 'pk', pk, reset=True) + return redirect( + reverse('organization_modification', + kwargs={'step': 'identity-organization_modification'})) + + organization_deletion_wizard = wizards.OrganizationDeletionWizard.as_view( [('selec-organization_deletion', forms.OrganizationFormSelection), ('final-organization_deletion', FinalDeleteForm)], @@ -692,7 +702,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], new_vals.append(u"{}{}{}".format( vals[idx], u' - ', format_val(v))) my_vals = new_vals[:] - data.append(", ".join(my_vals) or u"") + data.append(" ; ".join(my_vals) or u"") datas.append(data) if manual_sort_key: # +1 because the id is added as a first col @@ -793,6 +803,7 @@ def show_item(model, name, extra_dct=None): url_name = u"/".join(reverse('show-' + name, args=['0', ''] ).split('/')[:-2]) + u"/" dct['CURRENCY'] = get_current_profile().currency + dct['ENCODING'] = settings.ENCODING dct['current_window_url'] = url_name date = 'date' in dct and dct.pop('date') dct['window_id'] = "%s-%d-%s" % ( |
