diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-06-02 20:47:30 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-06-02 20:47:30 +0200 | 
| commit | 6bcaf64532e8b1ea76e5e74e3291fac2b238f838 (patch) | |
| tree | 3b9881e932b4dabf8da7c30d25feaf8185365e19 | |
| parent | 775270bef684f4e91b6d14e879dbed0e690fe63a (diff) | |
| download | Ishtar-6bcaf64532e8b1ea76e5e74e3291fac2b238f838.tar.bz2 Ishtar-6bcaf64532e8b1ea76e5e74e3291fac2b238f838.zip | |
Pep8
| -rw-r--r-- | archaeological_warehouse/admin.py | 4 | ||||
| -rw-r--r-- | archaeological_warehouse/forms.py | 74 | ||||
| -rw-r--r-- | archaeological_warehouse/ishtar_menu.py | 14 | ||||
| -rw-r--r-- | archaeological_warehouse/models.py | 17 | ||||
| -rw-r--r-- | archaeological_warehouse/views.py | 34 | ||||
| -rw-r--r-- | archaeological_warehouse/wizards.py | 1 | 
6 files changed, 78 insertions, 66 deletions
| diff --git a/archaeological_warehouse/admin.py b/archaeological_warehouse/admin.py index b76c48308..cf71dbab6 100644 --- a/archaeological_warehouse/admin.py +++ b/archaeological_warehouse/admin.py @@ -17,13 +17,13 @@  # See the file COPYING for details. -from django.conf import settings  from django.contrib import admin  from ishtar_common.admin import HistorizedObjectAdmin, GeneralTypeAdmin  import models +  class WarehouseAdmin(HistorizedObjectAdmin):      list_display = ('name', 'warehouse_type', 'town')      list_filter = ('warehouse_type',) @@ -32,6 +32,7 @@ class WarehouseAdmin(HistorizedObjectAdmin):  admin.site.register(models.Warehouse, WarehouseAdmin) +  class ContainerTypeAdmin(admin.ModelAdmin):      list_display = ('label', 'reference', 'length', 'width', 'height',                      'volume') @@ -39,6 +40,7 @@ class ContainerTypeAdmin(admin.ModelAdmin):  admin.site.register(models.ContainerType, ContainerTypeAdmin) +  class ContainerAdmin(admin.ModelAdmin):      list_display = ('reference', 'location', 'container_type',)      list_filter = ("container_type",) diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index ff869c5fb..f045fac1e 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -17,8 +17,6 @@  # See the file COPYING for details. -import datetime -  from django import forms  from django.conf import settings  from django.utils.translation import ugettext_lazy as _ @@ -31,6 +29,7 @@ from ishtar_common.forms import name_validator, reverse_lazy, \      get_form_selection, TableSelect  from archaeological_finds.forms import FindMultipleFormSelection +  def get_warehouse_field(label=_(u"Warehouse"), required=True):      # !FIXME hard_link, reverse_lazy doen't seem to work with formsets      url = "/" + settings.URL_PATH + 'autocomplete-warehouse' @@ -38,16 +37,19 @@ def get_warehouse_field(label=_(u"Warehouse"), required=True):      return forms.IntegerField(widget=widget, label=label, required=required,                                validators=[valid_id(models.Warehouse)]) +  class WarehouseForm(forms.Form):      name = forms.CharField(label=_(u"Name"), max_length=40, -                              validators=[name_validator]) +                           validators=[name_validator])      warehouse_type = forms.ChoiceField(label=_(u"Warehouse type"),                                         choices=[]) -    person_in_charge = forms.IntegerField(label=_(u"Person in charge"), -         widget=widgets.JQueryAutoComplete( -           reverse_lazy('autocomplete-person'), associated_model=models.Person), -           validators=[valid_id(models.Person)], -           required=False) +    person_in_charge = forms.IntegerField( +        label=_(u"Person in charge"), +        widget=widgets.JQueryAutoComplete( +            reverse_lazy('autocomplete-person'), +            associated_model=models.Person), +        validators=[valid_id(models.Person)], +        required=False)      comment = forms.CharField(label=_(u"Comment"), widget=forms.Textarea,                                required=False)      address = forms.CharField(label=_(u"Address"), widget=forms.Textarea, @@ -66,50 +68,54 @@ class WarehouseForm(forms.Form):      def __init__(self, *args, **kwargs):          super(WarehouseForm, self).__init__(*args, **kwargs)          self.fields['warehouse_type'].choices = \ -                                          models.WarehouseType.get_types() +            models.WarehouseType.get_types()          self.fields['warehouse_type'].help_text = \ -                                          models.WarehouseType.get_help() +            models.WarehouseType.get_help()      def save(self, user):          dct = self.cleaned_data          dct['history_modifier'] = user          dct['warehouse_type'] = models.WarehouseType.objects.get( -                                                     pk=dct['warehouse_type']) +            pk=dct['warehouse_type'])          if 'person_in_charge' in dct and dct['person_in_charge']:              dct['person_in_charge'] = models.Person.objects.get( -                                                     pk=dct['person_in_charge']) +                pk=dct['person_in_charge'])          new_item = models.Warehouse(**dct)          new_item.save()          return new_item +  class ContainerForm(forms.Form):      form_label = _(u"Container")      reference = forms.CharField(label=_(u"Ref."))      container_type = forms.ChoiceField(label=_(u"Container type"), choices=[]) -    location = forms.IntegerField(label=_(u"Warehouse"), -         widget=widgets.JQueryAutoComplete( -     reverse_lazy('autocomplete-warehouse'), associated_model=models.Warehouse, -     new=True), -     validators=[valid_id(models.Warehouse)]) +    location = forms.IntegerField( +        label=_(u"Warehouse"), +        widget=widgets.JQueryAutoComplete( +            reverse_lazy('autocomplete-warehouse'), +            associated_model=models.Warehouse, new=True), +        validators=[valid_id(models.Warehouse)])      comment = forms.CharField(label=_(u"Comment"),                                widget=forms.Textarea, required=False)      def __init__(self, *args, **kwargs):          super(ContainerForm, self).__init__(*args, **kwargs) -        self.fields['container_type'].choices = models.ContainerType.get_types() +        self.fields['container_type'].choices = \ +            models.ContainerType.get_types()          self.fields['container_type'].help_text = \ -                                                models.ContainerType.get_help() +            models.ContainerType.get_help()      def save(self, user):          dct = self.cleaned_data          dct['history_modifier'] = user          dct['container_type'] = models.ContainerType.objects.get( -                                                    pk=dct['container_type']) +            pk=dct['container_type'])          dct['location'] = models.Warehouse.objects.get(pk=dct['location'])          new_item = models.Container(**dct)          new_item.save()          return new_item +  class ContainerSelect(TableSelect):      location = get_warehouse_field()      container_type = forms.ChoiceField(label=_(u"Container type"), choices=[]) @@ -118,9 +124,9 @@ class ContainerSelect(TableSelect):      def __init__(self, *args, **kwargs):          super(ContainerSelect, self).__init__(*args, **kwargs)          self.fields['container_type'].choices = \ -                                            models.ContainerType.get_types() +            models.ContainerType.get_types()          self.fields['container_type'].help_text = \ -                                            models.ContainerType.get_help() +            models.ContainerType.get_help()  ContainerFormSelection = get_form_selection(      'ContainerFormSelection', _(u"Container search"), 'container', @@ -128,23 +134,27 @@ ContainerFormSelection = get_form_selection(      _(u"You should select a container."), new=True,      new_message=_(u"Add a new container")) +  class BasePackagingForm(forms.Form):      form_label = _(u"Packaging") -    associated_models = {'treatment_type':TreatmentType, -                         'person':Person, -                         'location':models.Warehouse} +    associated_models = {'treatment_type': TreatmentType, +                         'person': Person, +                         'location': models.Warehouse}      treatment_type = forms.IntegerField(label="", widget=forms.HiddenInput) -    person = forms.IntegerField(label=_(u"Packager"), -         widget=widgets.JQueryAutoComplete(reverse_lazy('autocomplete-person'), -                                      associated_model=Person, new=True), -           validators=[valid_id(Person)]) -    start_date = forms.DateField(label=_(u"Date"), required=False, -                               widget=widgets.JQueryDate) +    person = forms.IntegerField( +        label=_(u"Packager"), +        widget=widgets.JQueryAutoComplete( +            reverse_lazy('autocomplete-person'), +            associated_model=Person, new=True), +        validators=[valid_id(Person)]) +    start_date = forms.DateField( +        label=_(u"Date"), required=False, widget=widgets.JQueryDate)      def __init__(self, *args, **kwargs):          super(BasePackagingForm, self).__init__(*args, **kwargs)          self.fields['treatment_type'].initial = \ -                TreatmentType.objects.get(txt_idx='packaging').pk +            TreatmentType.objects.get(txt_idx='packaging').pk +  class FindPackagingFormSelection(FindMultipleFormSelection):      form_label = _(u"Packaged finds") diff --git a/archaeological_warehouse/ishtar_menu.py b/archaeological_warehouse/ishtar_menu.py index 2da50e7ce..f9f0daf33 100644 --- a/archaeological_warehouse/ishtar_menu.py +++ b/archaeological_warehouse/ishtar_menu.py @@ -27,13 +27,13 @@ from archaeological_finds.models import Treatment  MENU_SECTIONS = [ -    #    (60, SectionItem('find_management', _(u"Find"), -    #     profile_restriction='warehouse', -    #     childs=[ -    #        MenuItem('warehouse_packaging', _(u"Packaging"), -    #                 model=Treatment, -    #                 access_controls=['add_treatment', 'add_own_treatment']), -    #    ])), +    (60, SectionItem('find_management', _(u"Find"), +     profile_restriction='warehouse', +     childs=[ +        MenuItem('warehouse_packaging', _(u"Packaging"), +                 model=Treatment, +                 access_controls=['add_treatment', 'add_own_treatment']), +    ])),  ]  """      (60, SectionItem('warehouse', _(u"Warehouse"), diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 86e430a7e..3591f554a 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -17,12 +17,11 @@  # See the file COPYING for details. -from django.conf import settings  from django.contrib.gis.db import models  from django.utils.translation import ugettext_lazy as _, ugettext -from ishtar_common.models import GeneralType, BaseHistorizedItem, \ -                          LightHistorizedItem, OwnPerms, Address, Person +from ishtar_common.models import GeneralType, \ +    LightHistorizedItem, OwnPerms, Address, Person  class WarehouseType(GeneralType): @@ -31,13 +30,14 @@ class WarehouseType(GeneralType):          verbose_name_plural = _(u"Warehouse types")          ordering = ('label',) +  class Warehouse(Address, OwnPerms):      name = models.CharField(_(u"Name"), max_length=40)      warehouse_type = models.ForeignKey(WarehouseType,                                         verbose_name=_(u"Warehouse type")) -    person_in_charge = models.ForeignKey(Person, on_delete=models.SET_NULL, -                     related_name='warehouse_in_charge', -                     verbose_name=_(u"Person in charge"), null=True, blank=True) +    person_in_charge = models.ForeignKey( +        Person, on_delete=models.SET_NULL, related_name='warehouse_in_charge', +        verbose_name=_(u"Person in charge"), null=True, blank=True)      comment = models.TextField(_(u"Comment"), null=True, blank=True)      class Meta: @@ -54,6 +54,7 @@ class Warehouse(Address, OwnPerms):      def __unicode__(self):          return u"%s (%s)" % (self.name, unicode(self.warehouse_type)) +  class ContainerType(GeneralType):      length = models.IntegerField(_(u"Length (mm)"), blank=True, null=True)      width = models.IntegerField(_(u"Width (mm)"), blank=True, null=True) @@ -66,8 +67,9 @@ class ContainerType(GeneralType):          verbose_name_plural = _(u"Container types")          ordering = ('label',) +  class Container(LightHistorizedItem): -    TABLE_COLS = ['reference', 'container_type', 'location',] +    TABLE_COLS = ['reference', 'container_type', 'location']      location = models.ForeignKey(Warehouse, verbose_name=_(u"Warehouse"))      container_type = models.ForeignKey(ContainerType,                                         verbose_name=_("Container type")) @@ -82,4 +84,3 @@ class Container(LightHistorizedItem):          lbl = u" - ".join((self.reference, unicode(self.container_type),                             unicode(self.location)))          return lbl - diff --git a/archaeological_warehouse/views.py b/archaeological_warehouse/views.py index 22eed80e3..aab18ed40 100644 --- a/archaeological_warehouse/views.py +++ b/archaeological_warehouse/views.py @@ -21,7 +21,6 @@ import json  from django.db.models import Q  from django.http import HttpResponse -from django.shortcuts import render_to_response  from django.utils.translation import ugettext_lazy as _  from ishtar_common.views import get_item, new_item @@ -30,13 +29,14 @@ from wizards import *  from ishtar_common.forms import FinalForm  from forms import * -get_container = get_item(models.Container, -        'get_container', 'container', -        extra_request_keys={ -                'location':'location__pk', -                'container_type':'container_type__pk', -                'reference':'reference__icontains', -        }) +get_container = get_item( +    models.Container, +    'get_container', 'container', +    extra_request_keys={ +        'location': 'location__pk', +        'container_type': 'container_type__pk', +        'reference': 'reference__icontains', +    })  new_warehouse = new_item(models.Warehouse, WarehouseForm)  new_container = new_item(models.Container, ContainerForm) @@ -54,12 +54,12 @@ def autocomplete_warehouse(request):      query = Q()      for q in q.split(' '):          extra = Q(name__icontains=q) | \ -                Q(warehouse_type__label__icontains=q) +            Q(warehouse_type__label__icontains=q)          query = query & extra      limit = 15      warehouses = models.Warehouse.objects.filter(query)[:limit] -    data = json.dumps([{'id':warehouse.pk, 'value':unicode(warehouse)} -                                          for warehouse in warehouses]) +    data = json.dumps([{'id': warehouse.pk, 'value': unicode(warehouse)} +                       for warehouse in warehouses])      return HttpResponse(data, mimetype='text/plain') @@ -75,15 +75,15 @@ def autocomplete_container(request):      query = Q()      for q in q.split(' '):          extra = Q(container_type__label__icontains=q) | \ -                Q(container_type__reference__icontains=q) | \ -                Q(reference__icontains=q) | \ -                Q(location__name=q) | \ -                Q(location__town=q) +            Q(container_type__reference__icontains=q) | \ +            Q(reference__icontains=q) | \ +            Q(location__name=q) | \ +            Q(location__town=q)          query = query & extra      limit = 15      containers = models.Container.objects.filter(query)[:limit] -    data = json.dumps([{'id':container.pk, 'value':unicode(container)} -                                          for container in containers]) +    data = json.dumps([{'id': container.pk, 'value': unicode(container)} +                       for container in containers])      return HttpResponse(data, mimetype='text/plain')  warehouse_packaging_wizard = PackagingWizard.as_view([ diff --git a/archaeological_warehouse/wizards.py b/archaeological_warehouse/wizards.py index c40894c25..833c1c697 100644 --- a/archaeological_warehouse/wizards.py +++ b/archaeological_warehouse/wizards.py @@ -19,7 +19,6 @@  from django.shortcuts import render_to_response  from django.template import RequestContext -from django.utils.translation import ugettext_lazy as _  from archaeological_finds.wizards import TreatmentWizard  from archaeological_finds.models import Treatment | 
