summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar/furnitures/urls.py2
-rw-r--r--ishtar/furnitures/views.py19
-rw-r--r--ishtar/furnitures/widgets.py3
-rw-r--r--ishtar/templates/base.html7
-rw-r--r--ishtar/templates/sheet.html7
-rw-r--r--ishtar/templates/sheet_file.html119
-rw-r--r--ishtar/templates/wizard_file_sheet.html120
-rw-r--r--static/js/ishtar.js15
-rw-r--r--static/media/style.css69
9 files changed, 236 insertions, 125 deletions
diff --git a/ishtar/furnitures/urls.py b/ishtar/furnitures/urls.py
index 7d223df58..deaea4248 100644
--- a/ishtar/furnitures/urls.py
+++ b/ishtar/furnitures/urls.py
@@ -87,6 +87,8 @@ urlpatterns += patterns('ishtar.furnitures.views',
name='autocomplete-file'),
url(BASE_URL + r'get-file/(?P<type>.+)?$', 'get_file',
name='get-file'),
+ url(BASE_URL + r'show-file/(?P<pk>.+)?$', 'show_file',
+ name='show-file'),
url(BASE_URL + r'autocomplete-operation/$', 'autocomplete_operation',
name='autocomplete-operation'),
url(BASE_URL + r'get-operation/(?P<type>.+)?$', 'get_operation',
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py
index c4dd517fb..4e0001287 100644
--- a/ishtar/furnitures/views.py
+++ b/ishtar/furnitures/views.py
@@ -30,6 +30,7 @@ from django.template import RequestContext
from django.shortcuts import render_to_response, redirect
from django.utils.translation import ugettext, ugettext_lazy as _
from django.core.exceptions import ObjectDoesNotExist
+from django.core.urlresolvers import reverse
from django.db.models import Q
from django.core import serializers
@@ -182,10 +183,14 @@ def get_item(model, func_name, default_name, extra_request_keys=[]):
else:
data.append(val and unicode(val) or u"")
datas.append(data)
+ link_template = "<a href='#' onclick='load_window(\"%%s\")'>%s</a>" % \
+ (unicode(_("Details")))
if data_type == "json":
rows = []
for data in datas:
- res = {'id':data[0]}
+ res = {'id':data[0],
+ 'link':link_template % reverse('show-'+default_name,
+ args=[data[0]])}
for idx, value in enumerate(data[1:]):
if value:
res[model.TABLE_COLS[idx].split('.')[-1]] = value
@@ -218,7 +223,19 @@ def get_item(model, func_name, default_name, extra_request_keys=[]):
return func
+def show_item(model, name):
+ def func(request, pk, **dct):
+ try:
+ item = model.objects.get(pk=pk)
+ except ObjectDoesNotExist:
+ return HttpResponse(None)
+ dct['item'] = item
+ return render_to_response('sheet_%s.html' % name, dct,
+ context_instance=RequestContext(request))
+ return func
+
get_file = get_item(models.File, 'get_file', 'file')
+show_file = show_item(models.File, 'file')
def autocomplete_operation(request, non_closed=True):
if not request.user.has_perm('furnitures.view_operation', models.Operation)\
diff --git a/ishtar/furnitures/widgets.py b/ishtar/furnitures/widgets.py
index 34fa24357..5d184f123 100644
--- a/ishtar/furnitures/widgets.py
+++ b/ishtar/furnitures/widgets.py
@@ -204,9 +204,10 @@ jQuery("#grid_%(name)s").jqGrid({
url:'%(source)s',
datatype: "json",
mtype: 'GET',
- colNames:['id', %(col_names)s],
+ colNames:['id', '', %(col_names)s],
colModel:[
{name:'id', index:'id', hidden:true},
+{name:'link', index:'link', width:80},
%(extra_cols)s
],
sortname: 'value',
diff --git a/ishtar/templates/base.html b/ishtar/templates/base.html
index e7570e6c3..7bfc579bb 100644
--- a/ishtar/templates/base.html
+++ b/ishtar/templates/base.html
@@ -4,7 +4,6 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
- <link rel="stylesheet" href="{{MEDIA_URL}}/media/style.css" />
<link rel="shortcut icon" href="{{MEDIA_URL}}/media/images/favicon.png">
<title>{% block title %}Ishtar{% if APP_NAME %} - {{APP_NAME}}{%endif%}{% endblock %}
</title>
@@ -16,6 +15,7 @@
<script language="javascript" type="text/javascript" src="{{JQUERY_UI_URL}}ui/i18n/jquery.ui.datepicker-{{COUNTRY}}.js"></script>
<script language="javascript" type="text/javascript" src="{{MEDIA_URL}}/js/ishtar.js"></script>
<link type="text/css" href="{{JQUERY_UI_URL}}css/smoothness/jquery-ui.css" rel="stylesheet" />
+ <link rel="stylesheet" href="{{MEDIA_URL}}/media/style.css" />
{% block extra_head %}
{% endblock %}
</head>
@@ -23,14 +23,15 @@
<div id="header">
{% block header %}
{% if user.is_authenticated %}
- {% trans "Logged in" %}: {{ user.username }}
- (<a href="{% url auth_logout %}">{% trans "Log out" %}</a> |
+ {% trans "Logged in" %}: {{ user.username }}
+ (<a href="{% url auth_logout %}">{% trans "Log out" %}</a> |
<a href="{% url auth_password_change %}">{% trans "Change password" %}</a>)
{% else %}
<strong><a href="{% url auth_login %}">{% trans "Log in" %}</a></strong>
{% endif %}
{% endblock %}
</div>
+ <div id="window"></div>
<div id="logo">
{% if APP_NAME %}<p id="app_name">{{APP_NAME}}</p>{%endif%}
</div>
diff --git a/ishtar/templates/sheet.html b/ishtar/templates/sheet.html
new file mode 100644
index 000000000..9d1305c1d
--- /dev/null
+++ b/ishtar/templates/sheet.html
@@ -0,0 +1,7 @@
+{% load i18n %}
+<div class="sheet">
+<div class="head"><a href='#' onclick='$("#window").hide("slow")'>{% trans "Close" %}</a></div>
+<div class="body">
+{% block content %}{% endblock %}
+</div>
+</div>
diff --git a/ishtar/templates/sheet_file.html b/ishtar/templates/sheet_file.html
new file mode 100644
index 000000000..67b48d26b
--- /dev/null
+++ b/ishtar/templates/sheet_file.html
@@ -0,0 +1,119 @@
+{% extends "sheet.html" %}
+{% load i18n %}
+{% block content %}
+<p><label>{%trans "Year:"%}</label> {{ item.year }}</p>
+<p><label>{%trans "Numerical reference:"%}</label> {{ item.numeric_reference }}</p>
+
+<p><label>{%trans "File's name:"%}</label> {{ item.internal_reference }}</p>
+
+<p><label>{%trans "Edition date:"%}</label> {{ item.history.all.0.history_date }}</p> <!-- date = now -->
+{% if item.reception_date %}<p>{%trans "Reception date"%} : {{ item.reception_date }}</p>{% endif %}
+{% comment %}
+<p>{%trans "Creation date"%} : {% item.creation_date %}</p> <!-- creation date -->
+{% if item.deadline_date and not item.acts %}
+ <p>{%trans "Deadline"%} : {% item.deadline_date %}</p> <!-- calculated deadline for some preventive files , see saisine_type, not displayed if an act as been send -->
+{% endif %}
+
+<p>{%trans "Responsible"%} : {% item.responsible %}</p> <!-- file's responsible displayed as Title/Surname/Name/Organisation-->
+
+{% if item.is_active %}<!-- active or inactive file -->
+ <p>{%trans "Active file"%}</p>
+{% endif %}
+{% if item.is_inactive %}
+ <p>{%trans "Closed file"%}</p>
+ <p>{%trans "Closure date" %} : {% item.closure_date %} {%trans "by" %} {% item.closer_user%}</p>
+{% endif %}
+
+<p>{%trans "Type"%} : {% item.type %}</p> <!-- programed or preventive -->
+
+{% if item.related %}<p>{%trans "Related file"%} : {% item.related %}</p>{% endif %} <!-- Displayed as Year/index/Commune/Common_name This should be a link to the file sheet of the related file, mais sais pas faire. Optionnel à ce stade. -->
+
+<!-- Localisation -->
+<p>{%trans "Communes"%} : {% item.communes %}</p> <!-- Concat of the communes TITLE 2-->
+
+<p>{%trans "Principal adress"%} : {% item.princ_adress %}</p> <!-- Principal adress of the place -->
+<p>{%trans "Complementary adress"%} : {% item.complem_adress %}</p> <!-- Complementary adress of the place -->
+<p>{%trans "Postal code"%} : {% item.postal_code %}</p> <!-- Postal code of the place -->
+
+
+<!-- Surface -->
+<p>{%trans "Surface"%} : {% item.surface %} ({% item.surface_ha %) ha)</p> <!-- surface in square meters and hectares-->
+
+
+<!-- Preventive file -->
+
+{% if item.is_preventive %}
+ <p>{%trans "Planed surface"%} : {% item.planed_surface %} ({% item.planed_surface_ha %) ha)</p> <!-- planed surface in square meters and hectares-->
+ <p>{%trans "Saisine type"%} : {% item.saisine_type %}</p> <!-- saisine type -->
+ {% if item.service %}<p>{%trans "Service"%} : {% item.service %}</p>{% endif %} <!-- requesting service -->
+ {% if item.permit_type %}<p>{%trans "Permit type"%} : {% item.permit_type %}</p>{% endif %} <!-- permit type -->
+ {% if item.permit_ref %}<p>{%trans "Permit reference"%} : {% item.permit_ref %}</p>{% endif %} <!-- permit reference -->
+ {% if item.contractor_org %}<p>{%trans "Contractor organisation"%} : {% item.contractor_org %}</p>{% endif %} <!-- Contractor's organisation displayed as concat of Name/Adress/postal_code/city -->
+ {% if item.contractor %}<p>{%trans "Contractor"%} : {% item.contractor %}</p>{% endif %} <!-- contractor displayed as concat of title/Surname/Name/Adress/postal_code/city -->
+ <p>{%trans "Numerical reference"%} : {% item.index %}</p> <!-- index -->
+{% endif %}
+
+<p>{%trans "Comments"%} : {% item.comments %}</p> <!-- free text comments -->
+
+<!-- associated acts -->
+
+ <table class='adm_acts'> <!-- associated acts class-->
+ <caption>{%trans "Admninistrative acts"%}</caption>
+ <tr>
+ {% for label, in item.data_acts %}
+ <th>{{label}}</th>
+ {% endfor %}
+ </tr>
+ {% for data, in item.data_acts %}
+ <tr>
+ <td>{{year}}</td>
+ <td>{{reference}}</td>
+ <td>{{type}}</td>
+ <td>{{date}}</td>
+ </tr>
+ {% endfor %}
+ </table>
+
+<!-- associated operations -->
+
+ <table class='adm_ope'> <!-- associated ope class-->
+ <caption>{%trans "Associated operations"%}</caption>
+ <tr>
+ {% for label, in item.data_ope %}
+ <th>{{label}}</th>
+ {% endfor %}
+ </tr>
+ {% for data, in item.data_ope %}
+ <tr>
+ <td>{{year}}</td>
+ <td>{{reference}}</td>
+ <td>{{patriarche}}</td>
+ <td>{{type}}</td>
+ <td>{{head_scientist}}</td>
+ <td>{{date_debut}}</td>
+ <td>{{date_fin}}</td>
+ <td>{{link_to_ope_sheet}}</td>
+ </tr>
+ {% endfor %}
+ </table>
+
+<!-- Operation's associated acts -->
+
+ <table class='adm_acts'> <!-- associated acts class-->
+ <caption>{%trans "Admninistrative acts linked to associated operations"%}</caption>
+ <tr>
+ {% for label, in item.ope.data_acts %}
+ <th>{{label}}</th>
+ {% endfor %}
+ </tr>
+ {% for data, in item.ope.data_acts %}
+ <tr>
+ <td>{{year}}</td>
+ <td>{{reference}}</td>
+ <td>{{type}}</td>
+ <td>{{date}}</td>
+ </tr>
+ {% endfor %}
+ </table>
+{% endcomment %}
+{% endblock %}
diff --git a/ishtar/templates/wizard_file_sheet.html b/ishtar/templates/wizard_file_sheet.html
deleted file mode 100644
index b6a530a3b..000000000
--- a/ishtar/templates/wizard_file_sheet.html
+++ /dev/null
@@ -1,120 +0,0 @@
-{% extends "base.html" %}
-{% load i18n %}
-{% block content %}
-
-<p>{%trans "File description sheet"%}</p> <!-- Title 1 -->
-<p>{%trans "Year"%} : {% file.year %}</p> <!-- year -->
-<p>{%trans "Numerical reference"%} : {% file.index %}</p> <!-- index -->
-
-<p>{%trans "File's name"%} : {% file.internal_ref %}</p> <!-- common name of the file -->
-
-<p>{%trans "Edition date"%} : {% date %}</p> <!-- date = now -->
-<p>{%trans "Reception date"%} : {% file.recept_date %}</p> <!-- reception date -->
-<p>{%trans "Creation date"%} : {% file.crea_date %}</p> <!-- creation date -->
-{% if file.deadline_date and not file.acts %}
- <p>{%trans "Deadline"%} : {% file.deadline_date %}</p> <!-- calculated deadline for some preventive files , see saisine_type, not displayed if an act as been send -->
-{% endif %}
-
-<p>{%trans "Responsible"%} : {% file.responsible %}</p> <!-- file's responsible displayed as Title/Surname/Name/Organisation-->
-
-{% if file.is_active %}<!-- active or inactive file -->
- <p>{%trans "Active file"%}</p>
-{% endif %}
-{% if file.is_inactive %}
- <p>{%trans "Closed file"%}</p>
- <p>{%trans "Closure date" %} : {% file.closure_date %} {%trans "by" %} {% file.closer_user%}</p>
-{% endif %}
-
-<p>{%trans "Type"%} : {% file.type %}</p> <!-- programed or preventive -->
-
-{% if file.related %}<p>{%trans "Related file"%} : {% file.related %}</p>{% endif %} <!-- Displayed as Year/index/Commune/Common_name This should be a link to the file sheet of the related file, mais sais pas faire. Optionnel à ce stade. -->
-
-<!-- Localisation -->
-<p>{%trans "Communes"%} : {% file.communes %}</p> <!-- Concat of the communes TITLE 2-->
-
-<p>{%trans "Principal adress"%} : {% file.princ_adress %}</p> <!-- Principal adress of the place -->
-<p>{%trans "Complementary adress"%} : {% file.complem_adress %}</p> <!-- Complementary adress of the place -->
-<p>{%trans "Postal code"%} : {% file.postal_code %}</p> <!-- Postal code of the place -->
-
-
-<!-- Surface -->
-<p>{%trans "Surface"%} : {% file.surface %} ({% file.surface_ha %) ha)</p> <!-- surface in square meters and hectares-->
-
-
-<!-- Preventive file -->
-
-{% if file.is_preventive %}
- <p>{%trans "Planed surface"%} : {% file.planed_surface %} ({% file.planed_surface_ha %) ha)</p> <!-- planed surface in square meters and hectares-->
- <p>{%trans "Saisine type"%} : {% file.saisine_type %}</p> <!-- saisine type -->
- {% if file.service %}<p>{%trans "Service"%} : {% file.service %}</p>{% endif %} <!-- requesting service -->
- {% if file.permit_type %}<p>{%trans "Permit type"%} : {% file.permit_type %}</p>{% endif %} <!-- permit type -->
- {% if file.permit_ref %}<p>{%trans "Permit reference"%} : {% file.permit_ref %}</p>{% endif %} <!-- permit reference -->
- {% if file.contractor_org %}<p>{%trans "Contractor organisation"%} : {% file.contractor_org %}</p>{% endif %} <!-- Contractor's organisation displayed as concat of Name/Adress/postal_code/city -->
- {% if file.contractor %}<p>{%trans "Contractor"%} : {% file.contractor %}</p>{% endif %} <!-- contractor displayed as concat of title/Surname/Name/Adress/postal_code/city -->
- <p>{%trans "Numerical reference"%} : {% file.index %}</p> <!-- index -->
-{% endif %}
-
-<p>{%trans "Comments"%} : {% file.comments %}</p> <!-- free text comments -->
-
-<!-- associated acts -->
-
- <table class='adm_acts'> <!-- associated acts class-->
- <caption>{%trans "Admninistrative acts"%}</caption>
- <tr>
- {% for label, in file.data_acts %}
- <th>{{label}}</th>
- {% endfor %}
- </tr>
- {% for data, in file.data_acts %}
- <tr>
- <td>{{year}}</td>
- <td>{{reference}}</td>
- <td>{{type}}</td>
- <td>{{date}}</td>
- </tr>
- {% endfor %}
- </table>
-
-<!-- associated operations -->
-
- <table class='adm_ope'> <!-- associated ope class-->
- <caption>{%trans "Associated operations"%}</caption>
- <tr>
- {% for label, in file.data_ope %}
- <th>{{label}}</th>
- {% endfor %}
- </tr>
- {% for data, in file.data_ope %}
- <tr>
- <td>{{year}}</td>
- <td>{{reference}}</td>
- <td>{{patriarche}}</td>
- <td>{{type}}</td>
- <td>{{head_scientist}}</td>
- <td>{{date_debut}}</td>
- <td>{{date_fin}}</td>
- <td>{{link_to_ope_sheet}}</td>
- </tr>
- {% endfor %}
- </table>
-
-<!-- Operation's associated acts -->
-
- <table class='adm_acts'> <!-- associated acts class-->
- <caption>{%trans "Admninistrative acts linked to associated operations"%}</caption>
- <tr>
- {% for label, in file.ope.data_acts %}
- <th>{{label}}</th>
- {% endfor %}
- </tr>
- {% for data, in file.ope.data_acts %}
- <tr>
- <td>{{year}}</td>
- <td>{{reference}}</td>
- <td>{{type}}</td>
- <td>{{date}}</td>
- </tr>
- {% endfor %}
- </table>
-
-{% endblock %}
diff --git a/static/js/ishtar.js b/static/js/ishtar.js
index 131a220c9..7dc1be345 100644
--- a/static/js/ishtar.js
+++ b/static/js/ishtar.js
@@ -45,3 +45,18 @@ $("#main_menu ul li").live('click', function(){
$(this).find('ul').show('slow');
});
+function load_window(url){
+ $.ajax({
+ url: url,
+ cache: false,
+ success:function(html){
+ $("#window").html(html);
+ $("#window").show('slow');
+ },
+ error:function(XMLHttpRequest, textStatus, errorThrows){
+ }
+ });
+
+
+
+}
diff --git a/static/media/style.css b/static/media/style.css
index 8b2b9576a..f559ac827 100644
--- a/static/media/style.css
+++ b/static/media/style.css
@@ -233,3 +233,72 @@ table.confirm tr.spacer td:last-child{
.jqgrid{
cursor:pointer;
}
+
+.ui-jqgrid a{
+ color:red;
+ text-decoration:underline;
+ color:#D14;
+}
+
+#window{
+ position: absolute;
+ top: 50px;
+ width:600px;
+ background: #FFF;
+ z-index: 2000;
+ left: 50%;
+ margin-left: -300px;
+ border: 1px solid #AAA;
+ -webkit-box-shadow: 0px 0px 20px #444;
+ -moz-box-shadow: 0px 0px 20px #444;
+ text-align: left;
+ display:none;
+}
+
+#window{
+ width:760px;
+ height:90%;
+ position: absolute;
+ top: 5%;
+ background: #FFF;
+ z-index: 2000;
+ left: 50%;
+ margin-left: -380px;
+ -webkit-box-shadow: 0px 0px 20px #444;
+ -moz-box-shadow: 0px 0px 20px #444;
+ text-align: left;
+ display:none;
+ -moz-border-radius:8px;
+ -webkit-border-radius:8px;
+ border-radius:8px;
+}
+
+#window .sheet{
+}
+
+
+#window .head{
+ text-align:center;
+ background-color:#EEE;
+ -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 .body{
+ padding:10px;
+}
+
+#window label{
+ display:inline-table;
+ font-weight:bold;
+ width:160px;
+}
+
+#window p{
+ margin:0.3em;
+}
+