summaryrefslogtreecommitdiff
path: root/archaeological_context_records
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_context_records')
-rw-r--r--archaeological_context_records/admin.py14
-rw-r--r--archaeological_context_records/forms.py71
-rw-r--r--archaeological_context_records/ishtar_menu.py26
-rw-r--r--archaeological_context_records/models.py85
-rw-r--r--archaeological_context_records/templates/ishtar/sheet_contextrecord.html4
-rw-r--r--archaeological_context_records/urls.py26
-rw-r--r--archaeological_context_records/views.py63
-rw-r--r--archaeological_context_records/wizards.py14
8 files changed, 24 insertions, 279 deletions
diff --git a/archaeological_context_records/admin.py b/archaeological_context_records/admin.py
index c06927f37..1f08bc505 100644
--- a/archaeological_context_records/admin.py
+++ b/archaeological_context_records/admin.py
@@ -65,20 +65,8 @@ class ContextRecordAdmin(HistorizedObjectAdmin):
'cached_label', 'datings'
]
-admin_site.register(models.ContextRecord, ContextRecordAdmin)
-
-
-class ContextRecordSourceAdmin(admin.ModelAdmin):
- list_display = ('context_record', 'title', 'source_type',)
- list_filter = ('source_type',)
- search_fields = ('title', )
- model = models.ContextRecordSource
- form = make_ajax_form(model, {
- "context_record": 'context_record',
- 'authors': 'author'
- })
-admin_site.register(models.ContextRecordSource, ContextRecordSourceAdmin)
+admin_site.register(models.ContextRecord, ContextRecordAdmin)
class RecordRelationsAdmin(admin.ModelAdmin):
diff --git a/archaeological_context_records/forms.py b/archaeological_context_records/forms.py
index 0d68d6aa3..3238eb771 100644
--- a/archaeological_context_records/forms.py
+++ b/archaeological_context_records/forms.py
@@ -28,21 +28,19 @@ from django.core import validators
from django.forms.formsets import formset_factory
from django.utils.translation import ugettext_lazy as _
-from ishtar_common.models import valid_id, IshtarSiteProfile, Town
+import models
+from archaeological_operations.forms import OperationSelect, ParcelField, \
+ RecordRelationsForm as OpeRecordRelationsForm, RecordRelationsFormSetBase
from archaeological_operations.models import Period, Parcel, Operation, \
ArchaeologicalSite, RelationType as OpeRelationType
-import models
-
-from ishtar_common import widgets
-from bootstrap_datepicker.widgets import DatePicker
from archaeological_operations.widgets import OAWidget
+from bootstrap_datepicker.widgets import DatePicker
+from ishtar_common import widgets
from ishtar_common.forms import FinalForm, FormSet, \
reverse_lazy, get_form_selection, TableSelect, ManageOldType, CustomForm, \
FieldType
-from ishtar_common.forms_common import get_town_field, SourceSelect, \
- BaseImageForm, BaseImageFormset, SourceForm
-from archaeological_operations.forms import OperationSelect, ParcelField,\
- RecordRelationsForm as OpeRecordRelationsForm, RecordRelationsFormSetBase
+from ishtar_common.forms_common import get_town_field
+from ishtar_common.models import valid_id, IshtarSiteProfile, Town
class OperationFormSelection(CustomForm, forms.Form):
@@ -282,14 +280,6 @@ class RecordFormGeneral(CustomForm, ManageOldType):
return cleaned_data
-ImagesFormset = formset_factory(BaseImageForm, can_delete=True,
- formset=BaseImageFormset)
-ImagesFormset.file_upload = True
-ImagesFormset.form_label = _(u"Images")
-ImagesFormset.form_admin_name = _(u"Context record - 025 - Images")
-ImagesFormset.form_slug = "contextrecord-025-images"
-
-
class DatingForm(ManageOldType, forms.Form):
form_label = _("Dating")
base_model = 'dating'
@@ -385,50 +375,3 @@ class RecordDeletionForm(FinalForm):
confirm_msg = " "
confirm_end_msg = _(u"Would you like to delete this context record?")
-#########################################
-# Source management for context records #
-#########################################
-
-
-SourceRecordFormSelection = get_form_selection(
- 'SourceRecordFormSelection', _(u"Context record search"),
- 'context_record', models.ContextRecord, RecordSelect, 'get-contextrecord',
- _(u"You should select a context record."))
-
-
-class RecordSourceSelect(SourceSelect):
- context_record__operation__year = forms.IntegerField(
- label=_(u"Year of the operation"))
- context_record__operation__operation_code = forms.IntegerField(
- label=_(u"Numeric reference"))
- if settings.COUNTRY == 'fr':
- context_record__operation__code_patriarche = forms.CharField(
- max_length=500,
- widget=OAWidget,
- label="Code PATRIARCHE")
- context_record__town = get_town_field(
- label=_(u"Town"))
- context_record__datings__period = forms.ChoiceField(
- label=_(u"Period of the context record"), choices=[])
- context_record__unit = forms.ChoiceField(
- label=_(u"Context record type"), choices=[])
-
- def __init__(self, *args, **kwargs):
- super(RecordSourceSelect, self).__init__(*args, **kwargs)
- self.fields['context_record__datings__period'].choices = \
- Period.get_types()
- self.fields['context_record__datings__period'].help_text = \
- Period.get_help()
- self.fields['context_record__unit'].choices = models.Unit.get_types()
- self.fields['context_record__unit'].help_text = models.Unit.get_help()
-
-
-RecordSourceFormSelection = get_form_selection(
- 'RecordSourceFormSelection', _(u"Documentation search"), 'pk',
- models.ContextRecordSource, RecordSourceSelect, 'get-contextrecordsource',
- _(u"You should select a document."),
- get_full_url='get-contextrecordsource-full')
-
-
-class ContextRecordSourceForm(SourceForm):
- form_slug = "contextrecordsource-general"
diff --git a/archaeological_context_records/ishtar_menu.py b/archaeological_context_records/ishtar_menu.py
index 469f473e7..437b28fdd 100644
--- a/archaeological_context_records/ishtar_menu.py
+++ b/archaeological_context_records/ishtar_menu.py
@@ -45,32 +45,6 @@ MENU_SECTIONS = [
model=models.ContextRecord,
access_controls=['delete_contextrecord',
'delete_own_contextrecord']),
- SectionItem('record_source', _(u"Documentation"),
- childs=[
- MenuItem('record_source_search',
- _(u"Search"),
- model=models.ContextRecordSource,
- access_controls=['view_contextrecord',
- 'view_own_contextrecord']),
- MenuItem('record_source_creation',
- _(u"Creation"),
- model=models.ContextRecordSource,
- access_controls=[
- 'change_contextrecord',
- 'change_own_contextrecord']),
- MenuItem('record_source_modification',
- _(u"Modification"),
- model=models.ContextRecordSource,
- access_controls=[
- 'change_contextrecord',
- 'change_own_contextrecord']),
- MenuItem('record_source_deletion',
- _(u"Deletion"),
- model=models.ContextRecordSource,
- access_controls=[
- 'change_contextrecord',
- 'change_own_contextrecord']),
- ])
])
)
]
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index b12a31516..11b7732f8 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -30,11 +30,11 @@ from django.utils.text import slugify
from ishtar_common.utils import cached_label_changed
-from ishtar_common.models import BaseSource, Document, GeneralType, \
+from ishtar_common.models import Document, GeneralType, \
BaseHistorizedItem, HistoricalRecords, OwnPerms, ShortMenuItem, \
GeneralRelationType, GeneralRecordRelations, post_delete_record_relation,\
- get_image_path, post_save_cache, ValueGetter, BulkUpdatedItem, \
- IshtarImage, RelationItem, ThroughImage, Town
+ post_save_cache, ValueGetter, BulkUpdatedItem, \
+ RelationItem, Town
from archaeological_operations.models import Operation, Period, Parcel, \
ArchaeologicalSite
@@ -329,8 +329,6 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem,
documents = models.ManyToManyField(
Document, related_name='context_records', verbose_name=_(u"Documents"),
blank=True)
- images = models.ManyToManyField(IshtarImage, verbose_name=_(u"Images"),
- blank=True, through='ContextRecordImage')
cached_label = models.TextField(_(u"Cached name"), null=True, blank=True,
db_index=True)
PARENT_SEARCH_VECTORS = ['operation']
@@ -554,8 +552,7 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem,
return u" ; ".join(crs)
def find_docs_q(self):
- from archaeological_finds.models import FindSource
- return FindSource.objects.filter(find__base_finds__context_record=self)
+ return Document.objects.filter(finds__base_finds__context_record=self)
def fix(self):
"""
@@ -575,11 +572,6 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem,
post_save.connect(cached_label_changed, sender=ContextRecord)
-class ContextRecordImage(ThroughImage):
- item = models.ForeignKey(ContextRecord, on_delete=models.CASCADE,
- related_name='associated_images')
-
-
class RelationType(GeneralRelationType):
class Meta:
verbose_name = _(u"Relation type")
@@ -679,72 +671,3 @@ class RecordRelationView(models.Model):
def __unicode__(self):
return u"{} \"{}\"".format(self.relation_type, self.right_record)
-
-
-class ContextRecordSource(BaseSource):
- SHOW_URL = 'show-contextrecordsource'
- MODIFY_URL = 'record_source_modify'
- TABLE_COLS = ['context_record__operation__cached_label', 'context_record']\
- + BaseSource.TABLE_COLS
- COL_LABELS = {'context_record__operation__cached_label': _(u"Operation")}
-
- # search parameters
- RELATIVE_SESSION_NAMES = [
- ('contextrecord', 'context_record__pk'),
- ('operation', 'context_record__operation__pk'),
- ('file', 'context_record__operation__associated_file__pk')]
- BOOL_FIELDS = ['duplicate']
- EXTRA_REQUEST_KEYS = {
- 'title': 'title__icontains',
- 'description': 'description__icontains',
- 'comment': 'comment__icontains',
- 'person': 'authors__person__pk',
- 'additional_information': 'additional_information__icontains',
- 'context_record__town': 'context_record__town__pk',
- 'context_record__operation__year': 'context_record__operation__year',
- 'context_record__operation__operation_code':
- 'context_record__operation__operation_code',
- 'context_record__operation__code_patriarche':
- 'context_record__operation__code_patriarche',
- 'context_record__operation': 'context_record__operation__pk',
- 'context_record__datings__period':
- 'context_record__datings__period__pk',
- 'context_record__unit': 'context_record__unit__pk',
- }
- PARENT_SEARCH_VECTORS = BaseSource.PARENT_SEARCH_VECTORS + [
- 'context_record']
-
- class Meta:
- verbose_name = _(u"Context record documentation")
- verbose_name_plural = _(u"Context record documentations")
- permissions = (
- ("view_contextrecordsource",
- u"Can view all Context record sources"),
- ("view_own_contextrecordsource",
- u"Can view own Context record source"),
- ("add_own_contextrecordsource",
- u"Can add own Context record source"),
- ("change_own_contextrecordsource",
- u"Can change own Context record source"),
- ("delete_own_contextrecordsource",
- u"Can delete own Context record source"),
- )
- context_record = models.ForeignKey(
- ContextRecord, verbose_name=_(u"Context record"),
- related_name="source")
-
- @property
- def owner(self):
- return self.context_record
-
- @classmethod
- def get_query_owns(cls, ishtaruser):
- q = cls._construct_query_own(
- 'context_record__operation__',
- Operation._get_query_owns_dicts(ishtaruser)
- ) | cls._construct_query_own('', [
- {'context_record__history_creator': ishtaruser.user_ptr},
- {'context_record__operation__end_date__isnull': True}
- ])
- return q
-
diff --git a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
index d8d89e3c2..c2666d615 100644
--- a/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
+++ b/archaeological_context_records/templates/ishtar/sheet_contextrecord.html
@@ -158,19 +158,23 @@
</div>
{% endif %}
+{% comment %}
{% trans "Document from this context record" as cr_docs %}
{% if item.source.count %}
{% dynamic_table_document cr_docs 'context_records_docs' 'context_record' item.pk '' output %}
{% endif %}
+{% endcomment %}
{% trans "Finds" as finds %}
{% if item.base_finds.count %}
{% dynamic_table_document finds 'finds_for_ope' 'base_finds__context_record' item.pk 'TABLE_COLS_FOR_OPE' output %}
{% endif %}
+{% comment %}
{% trans "Documents from associated finds" as finds_docs %}
{% if item.find_docs_q.count %}
{% dynamic_table_document finds_docs 'finds_docs' 'find__base_finds__context_record' item.pk '' output %}
{% endif %}
+{% endcomment %}
{% endblock %}
diff --git a/archaeological_context_records/urls.py b/archaeological_context_records/urls.py
index 513e58543..5610150f1 100644
--- a/archaeological_context_records/urls.py
+++ b/archaeological_context_records/urls.py
@@ -42,24 +42,6 @@ urlpatterns = [
url(r'record_deletion/(?P<step>.+)?$',
check_rights(['change_contextrecord', 'change_own_contextrecord'])(
views.record_deletion_wizard), name='record_deletion'),
- url(r'record_source_search/(?P<step>.+)?$',
- check_rights(['view_contextrecord', 'view_own_contextrecord'])(
- views.record_source_search_wizard),
- name='record_source_search'),
- url(r'record_source_creation/(?P<step>.+)?$',
- check_rights(['change_contextrecord', 'change_own_contextrecord'])(
- views.record_source_creation_wizard),
- name='record_source_creation'),
- url(r'record_source_modification/(?P<step>.+)?$',
- check_rights(['change_contextrecord', 'change_own_contextrecord'])(
- views.record_source_modification_wizard),
- name='record_source_modification'),
- url(r'record_source_modify/(?P<pk>.+)/$',
- views.record_source_modify, name='record_source_modify'),
- url(r'record_source_deletion/(?P<step>.+)?$',
- check_rights(['change_contextrecord', 'change_own_contextrecord'])(
- views.record_source_deletion_wizard),
- name='record_source_deletion'),
url(r'autocomplete-contextrecord/$', views.autocomplete_contextrecord,
name='autocomplete-contextrecord'),
url(r'show-contextrecord(?:/(?P<pk>.+))?/(?P<type>.+)?$',
@@ -100,12 +82,4 @@ urlpatterns = [
url(r'get-contextrecordrelationdetail/(?P<type>.+)?$',
views.get_contextrecordrelationdetail,
name='get-contextrecordrelationdetail'),
- url(r'show-contextrecordsource(?:/(?P<pk>.+))?/(?P<type>.+)?$',
- views.show_contextrecordsource,
- name=models.ContextRecordSource.SHOW_URL),
- url(r'get-contexrecordsource/(?P<type>.+)?$',
- views.get_contextrecordsource, name='get-contextrecordsource'),
- url(r'get-contexrecordsource-full/(?P<type>.+)?$',
- views.get_contextrecordsource, name='get-contextrecordsource-full',
- kwargs={'full': True}),
]
diff --git a/archaeological_context_records/views.py b/archaeological_context_records/views.py
index f1c3913c7..787b76b31 100644
--- a/archaeological_context_records/views.py
+++ b/archaeological_context_records/views.py
@@ -23,20 +23,17 @@ from django.core.urlresolvers import reverse
from django.db.models import Q
from django.http import HttpResponse, HttpResponseRedirect, Http404
from django.shortcuts import redirect
-from django.views.generic import RedirectView
from django.utils.translation import ugettext_lazy as _
+from django.views.generic import RedirectView
-from ishtar_common.forms_common import AuthorFormset
+import models
+from archaeological_operations.views import site_extra_context
+from forms import *
+from ishtar_common.utils import put_session_message
from ishtar_common.views import get_item, show_item, revert_item, \
IshtarMixin, LoginRequiredMixin, display_item
-from archaeological_operations.views import site_extra_context
from ishtar_common.wizards import SearchWizard
-
-from ishtar_common.utils import put_session_message
-
from wizards import *
-from forms import *
-import models
show_contextrecord = show_item(
models.ContextRecord, 'contextrecord',
@@ -83,13 +80,6 @@ get_contextrecord_for_ope = get_item(
'get_contextrecord', 'contextrecord',
own_table_cols=models.ContextRecord.TABLE_COLS_FOR_OPE)
-show_contextrecordsource = show_item(models.ContextRecordSource,
- 'contextrecordsource')
-
-get_contextrecordsource = get_item(
- models.ContextRecordSource,
- 'get_contextrecordsource', 'contextrecordsource')
-
get_contextrecordrelation = get_item(
models.RecordRelationView, 'get_contextrecordrelation',
'contextrecordrelation', specific_perms=['view_recordrelation'],
@@ -108,7 +98,6 @@ record_search_wizard = SearchWizard.as_view([
record_creation_steps = [
('selec-record_creation', OperationRecordFormSelection),
('general-record_creation', RecordFormGeneral),
- ('images-record_creation', ImagesFormset),
('datings-record_creation', DatingFormSet),
('interpretation-record_creation', RecordFormInterpretation),
('relations-record_creation', RecordRelationsFormSet),
@@ -125,7 +114,6 @@ record_modification_steps = [
('selec-record_modification', RecordFormSelection),
('operation-record_modification', OperationFormSelection),
('general-record_modification', RecordFormGeneral),
- ('images-record_modification', ImagesFormset),
('datings-record_modification', DatingFormSet),
('interpretation-record_modification', RecordFormInterpretation),
('relations-record_modification', RecordRelationsFormSet),
@@ -161,51 +149,12 @@ record_deletion_wizard = RecordDeletionWizard.as_view([
label=_(u"Context record deletion"),
url_name='record_deletion',)
-record_source_search_wizard = SearchWizard.as_view([
- ('selec-record_source_search', RecordSourceFormSelection)],
- label=_(u"Context record: source search"),
- url_name='record_source_search',)
-
-record_source_creation_wizard = RecordSourceWizard.as_view([
- ('selec-record_source_creation', SourceRecordFormSelection),
- ('source-record_source_creation', ContextRecordSourceForm),
- ('authors-record_source_creation', AuthorFormset),
- ('final-record_source_creation', FinalForm)],
- label=_(u"Context record: new source"),
- url_name='record_source_creation',)
-
-record_source_modification_wizard = RecordSourceWizard.as_view([
- ('selec-record_source_modification', RecordSourceFormSelection),
- ('source-record_source_modification', ContextRecordSourceForm),
- ('authors-record_source_modification', AuthorFormset),
- ('final-record_source_modification', FinalForm)],
- label=_(u"Context record: source modification"),
- url_name='record_source_modification',)
-
-
-def record_source_modify(request, pk):
- record_source_modification_wizard(request)
- RecordSourceWizard.session_set_value(
- request, 'selec-record_source_modification', 'pk', pk, reset=True)
- return redirect(reverse(
- 'record_source_modification',
- kwargs={'step': 'source-record_source_modification'}))
-
-record_source_deletion_wizard = RecordSourceDeletionWizard.as_view([
- ('selec-record_source_deletion', RecordSourceFormSelection),
- ('final-record_source_deletion', RecordDeletionForm)],
- label=_(u"Context record: source deletion"),
- url_name='record_source_deletion',)
-
def reset_wizards(request):
for wizard_class, url_name in (
(RecordWizard, 'record_creation'),
(RecordModifWizard, 'record_modification'),
- (RecordDeletionWizard, 'record_deletion'),
- (RecordSourceWizard, 'record_source_creation'),
- (RecordSourceWizard, 'record_source_modification'),
- (RecordSourceDeletionWizard, 'record_source_deletion')):
+ (RecordDeletionWizard, 'record_deletion')):
wizard_class.session_reset(request, url_name)
diff --git a/archaeological_context_records/wizards.py b/archaeological_context_records/wizards.py
index cbeb1c1d2..89750794c 100644
--- a/archaeological_context_records/wizards.py
+++ b/archaeological_context_records/wizards.py
@@ -20,9 +20,9 @@
from django.core.exceptions import ObjectDoesNotExist
from django.utils.translation import ugettext_lazy as _
-from ishtar_common.forms import reverse_lazy
-from ishtar_common.wizards import Wizard, DeletionWizard, SourceWizard
import models
+from ishtar_common.forms import reverse_lazy
+from ishtar_common.wizards import Wizard, DeletionWizard
class RecordWizard(Wizard):
@@ -150,13 +150,3 @@ class RecordDeletionWizard(DeletionWizard):
'filling', 'interpretation', 'taq', 'taq_estimated', 'tpq',
'tpq_estimated']
filter_owns = {'selec-record_deletion': ['pk']}
-
-
-class RecordSourceWizard(SourceWizard):
- model = models.ContextRecordSource
- wizard_done_window = reverse_lazy('show-contextrecordsource')
-
-
-class RecordSourceDeletionWizard(DeletionWizard):
- model = models.ContextRecordSource
- fields = ['context_record', 'title', 'source_type', 'authors', ]