#!/usr/bin/env python # -*- coding: utf-8 -*- # Copyright (C) 2010-2012 Étienne Loks # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # See the file COPYING for details. import datetime from django import forms from django.utils.translation import ugettext_lazy as _ from ishtar_common.models import Person, valid_id from archaeological_finds.models import TreatmentType import models class ContainerSelect(forms.Form): location = get_warehouse_field() container_type = forms.ChoiceField(label=_(u"Container type"), choices=[]) reference = forms.CharField(label=_(u"Reference")) def __init__(self, *args, **kwargs): super(ContainerSelect, self).__init__(*args, **kwargs) self.fields['container_type'].choices = \ models.ContainerType.get_types() self.fields['container_type'].help_text = \ models.ContainerType.get_help() ContainerFormSelection = get_form_selection( 'ContainerFormSelection', _(u"Container search"), 'container', models.Container, ContainerSelect, 'get-container', _(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} 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) def __init__(self, *args, **kwargs): super(BasePackagingForm, self).__init__(*args, **kwargs) self.fields['treatment_type'].initial = \ TreatmentType.objects.get(txt_idx='packaging').pk class ItemPackagingFormSelection(ItemMultipleFormSelection): form_label = _(u"Packaged items")