summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/forms.py14
-rw-r--r--archaeological_files/views.py1
-rw-r--r--archaeological_operations/admin.py2
-rw-r--r--archaeological_operations/forms.py14
-rw-r--r--archaeological_operations/templates/ishtar/wizard/wizard_adminact_deletion.html8
-rw-r--r--archaeological_operations/wizards.py5
-rw-r--r--ishtar_common/static/media/style.css6
-rw-r--r--ishtar_common/urls.py2
-rw-r--r--ishtar_common/views.py6
-rw-r--r--ishtar_common/wizards.py5
10 files changed, 56 insertions, 7 deletions
diff --git a/archaeological_files/forms.py b/archaeological_files/forms.py
index 0879f428e..0aab8d370 100644
--- a/archaeological_files/forms.py
+++ b/archaeological_files/forms.py
@@ -80,6 +80,13 @@ class FileSelect(TableSelect):
args=[PersonType.objects.get(txt_idx='sra_agent').pk]),
associated_model=Person),
validators=[valid_id(Person)])
+ history_creator = forms.IntegerField(
+ label=_(u"Created by"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person',
+ args=['0', 'user']),
+ associated_model=Person),
+ validators=[valid_id(Person)])
permit_reference = forms.CharField(max_length=200,
label=_("Permit reference"))
@@ -318,6 +325,13 @@ class AdministrativeActFileSelect(TableSelect):
validators=[valid_id(Person)])
associated_file__permit_reference = forms.CharField(max_length=200,
label=_("Permit reference"))
+ history_creator = forms.IntegerField(
+ label=_(u"Created by"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person',
+ args=['0', 'user']),
+ associated_model=Person),
+ validators=[valid_id(Person)])
def __init__(self, *args, **kwargs):
super(AdministrativeActFileSelect, self).__init__(*args, **kwargs)
diff --git a/archaeological_files/views.py b/archaeological_files/views.py
index 4f767b4c9..b57a4cf6b 100644
--- a/archaeological_files/views.py
+++ b/archaeological_files/views.py
@@ -109,6 +109,7 @@ file_search_wizard = SearchWizard.as_view(
[('general-file_search', FileFormSelection)],
label=_(u"File search"),
url_name='file_search',)
+
file_creation_wizard = FileWizard.as_view([
('general-file_creation', FileFormGeneral),
('towns-file_creation', TownFormset),
diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py
index ab9bdea98..03531d54c 100644
--- a/archaeological_operations/admin.py
+++ b/archaeological_operations/admin.py
@@ -63,7 +63,7 @@ admin.site.register(models.Operation, OperationAdmin)
class OperationSourceAdmin(admin.ModelAdmin):
list_display = ('operation', 'title', 'source_type',)
list_filter = ('source_type',)
- search_fields = ('title', 'operation__name')
+ search_fields = ('title', 'operation__common_name')
model = models.OperationSource
admin.site.register(models.OperationSource, OperationSourceAdmin)
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index 11055ccfb..4473d7858 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -228,6 +228,13 @@ class OperationSelect(TableSelect):
widget=widgets.JQueryDate)
parcel = ParcelField(label=_("Parcel (section/number)"))
end_date = forms.NullBooleanField(label=_(u"Is open?"))
+ history_creator = forms.IntegerField(
+ label=_(u"Created by"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person',
+ args=['0', 'user']),
+ associated_model=Person),
+ validators=[valid_id(Person)])
def __init__(self, *args, **kwargs):
super(OperationSelect, self).__init__(*args, **kwargs)
@@ -648,6 +655,13 @@ class AdministrativeActOpeSelect(TableSelect):
max_length=15)
act_type = forms.ChoiceField(label=_("Act type"), choices=[])
operation__towns = get_town_field()
+ history_creator = forms.IntegerField(
+ label=_(u"Created by"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person',
+ args=['0', 'user']),
+ associated_model=Person),
+ validators=[valid_id(Person)])
def __init__(self, *args, **kwargs):
super(AdministrativeActOpeSelect, self).__init__(*args, **kwargs)
diff --git a/archaeological_operations/templates/ishtar/wizard/wizard_adminact_deletion.html b/archaeological_operations/templates/ishtar/wizard/wizard_adminact_deletion.html
new file mode 100644
index 000000000..0b44b4ad0
--- /dev/null
+++ b/archaeological_operations/templates/ishtar/wizard/wizard_adminact_deletion.html
@@ -0,0 +1,8 @@
+{% extends "ishtar/wizard/confirm_wizard.html" %}
+{% load i18n %}
+
+{% block "extra_informations" %}
+{% if current_object.index %}
+<p class='alert'><label>{%trans "This act is indexed!"%}</label></p>
+{% endif %}
+{% endblock %}
diff --git a/archaeological_operations/wizards.py b/archaeological_operations/wizards.py
index 6d117ae43..70583068b 100644
--- a/archaeological_operations/wizards.py
+++ b/archaeological_operations/wizards.py
@@ -350,6 +350,11 @@ class OperationEditAdministrativeActWizard(OperationAdministrativeActWizard):
return self.get_current_object().operation
class AdministrativeActDeletionWizard(ClosingWizard):
+ wizard_templates = {
+ 'final-operation_administrativeactop_deletion':\
+ 'ishtar/wizard/wizard_adminact_deletion.html',
+ 'final-file_administrativeactfile_deletion':\
+ 'ishtar/wizard/wizard_adminact_deletion.html'}
model = models.AdministrativeAct
fields = ['act_type', 'in_charge', 'operator', 'scientist', 'signatory',
'operation', 'associated_file', 'signature_date', 'act_object',]
diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css
index 1d3aed63f..8b05603df 100644
--- a/ishtar_common/static/media/style.css
+++ b/ishtar_common/static/media/style.css
@@ -723,7 +723,7 @@ table.confirm tr.spacer td:last-child{
margin:0.3em;
}
-#window p.alert{
+p.alert{
color:#D14;
display:block;
font-style:italic;
@@ -739,6 +739,10 @@ table.confirm tr.spacer td:last-child{
background-position:left center;
}
+#window p.alert{
+ background-color:#EEE;
+}
+
#window p.alert label{
width:650px;
}
diff --git a/ishtar_common/urls.py b/ishtar_common/urls.py
index 61e030ef9..94e50d161 100644
--- a/ishtar_common/urls.py
+++ b/ishtar_common/urls.py
@@ -67,7 +67,7 @@ urlpatterns += patterns('ishtar_common.views',
name='update-current-item'),
url(r'new-person/(?P<parent_name>.+)?/$',
'new_person', name='new-person'),
- url(r'autocomplete-person/([0-9_]+)?$', 'autocomplete_person',
+ url(r'autocomplete-person(?:/([0-9_]+))?/(user)?$', 'autocomplete_person',
name='autocomplete-person'),
url(r'get-person/(?P<type>.+)?$', 'get_person',
name='get-person'),
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 4fc56f862..8fbf41759 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -134,7 +134,7 @@ def check_permission(request, action_slug, obj_id=None):
return menu.items[action_slug].is_available(request.user, obj_id)
return menu.items[action_slug].can_be_available(request.user)
-def autocomplete_person(request, person_types=None):
+def autocomplete_person(request, person_types=None, is_ishtar_user=None):
if not request.user.has_perm('ishtar_common.view_person', models.Person) and \
not request.user.has_perm('ishtar_common.view_own_person', models.Person) \
and not request.user.ishtaruser.has_right('person_search'):
@@ -151,13 +151,15 @@ def autocomplete_person(request, person_types=None):
for q in q.split(' '):
query = query & (Q(name__icontains=q) | Q(surname__icontains=q) | \
Q(email__icontains=q) | Q(attached_to__name__icontains=q))
- if person_types:
+ if person_types and unicode(person_types) != '0':
try:
typs = [int(tp) for tp in person_types.split('_') if tp]
typ = models.PersonType.objects.filter(pk__in=typs).all()
query = query & Q(person_types__in=typ)
except (ValueError, ObjectDoesNotExist):
pass
+ if is_ishtar_user:
+ query = query & Q(ishtaruser__isnull=False)
limit = 20
persons = models.Person.objects.filter(query)[:limit]
data = json.dumps([{'id':person.pk, 'value':unicode(person)}
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index 006c2554e..368c6e627 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -27,6 +27,7 @@ from django.core.exceptions import ObjectDoesNotExist
from django.core.files.images import ImageFile
from django.db.models.fields.files import FileField
from django.db.models.fields.related import ManyToManyField
+from django.forms import ValidationError
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.utils.datastructures import MultiValueDict as BaseMultiValueDict
@@ -376,7 +377,7 @@ class Wizard(NamedUrlWizardView):
setattr(obj, k, dct[k])
try:
obj.full_clean()
- except forms.ValidationError, msg:
+ except ValidationError, msg:
return self.render(form_list[-1])
for dependant_item in other_objs:
c_item = getattr(obj, dependant_item)
@@ -417,7 +418,7 @@ class Wizard(NamedUrlWizardView):
obj = self.get_saved_model()(**dct)
try:
obj.full_clean()
- except forms.ValidationError, msg:
+ except ValidationError, msg:
return self.render(form_list[-1])
obj.save()
for k in adds: