Coverage for burials/forms.py: 51%
138 statements
« prev ^ index » next coverage.py v7.5.3, created at 2024-06-10 15:48 +0000
« prev ^ index » next coverage.py v7.5.3, created at 2024-06-10 15:48 +0000
1from dal import autocomplete
2from django import forms
3from crispy_forms.helper import FormHelper
4from crispy_forms.layout import Layout, Fieldset, Submit
5from .models import (
6 BurialSite,
7 BurialGroup,
8 Burial,
9 Urn,
10 UrnCover,
11 GraveGood,
12 GraveGoodOther,
13 DeadBodyRemains,
14 AnimalRemains,
15)
18BOOLEAN_CHOICES = ((None, "Unknown"), (True, "Yes"), (False, "No"))
21class BurialSiteForm(forms.ModelForm):
22 class Meta:
23 model = BurialSite
24 fields = "__all__"
25 widgets = {
26 "location": autocomplete.ModelSelect2(url="burials:place-autocomplete"),
27 "geographical_coordinate_reference_system": autocomplete.ModelSelect2(
28 url="../../../vocabs-ac/skos-constraint-ac/?scheme=geographicalreferencesystem"
29 ),
30 "topography": autocomplete.ModelSelect2(
31 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Topography"
32 ),
33 "distance_to_next_settlement": autocomplete.ModelSelect2(
34 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Distance to next settlement"
35 ),
36 "type_of_burial_site": autocomplete.ModelSelect2(
37 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Type of burial site"
38 ),
39 "dating": autocomplete.ModelSelect2Multiple(
40 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Dating"
41 ),
42 "reference": autocomplete.ModelSelect2Multiple(
43 url="burials:book-autocomplete"
44 ),
45 }
47 def __init__(self, *args, **kwargs):
48 self.user = kwargs.pop("user", None)
49 super(BurialSiteForm, self).__init__(*args, **kwargs)
50 self.fields["lng"].required = True
51 self.fields["lat"].required = True
52 self.helper = FormHelper()
53 self.helper.form_tag = True
54 self.helper.form_class = "form-horizontal"
55 self.helper.label_class = "col-md-3"
56 self.helper.field_class = "col-md-9"
57 self.helper.add_input(
58 Submit("submit", "save"),
59 )
60 print(kwargs)
63class BurialGroupForm(forms.ModelForm):
64 class Meta:
65 model = BurialGroup
66 fields = "__all__"
67 widgets = {
68 # 'burial_site': autocomplete.ModelSelect2(
69 # url='burials:burialsite-autocomplete'),
70 "burial_group_type": autocomplete.ModelSelect2(
71 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Burial group type"
72 ),
73 "material": autocomplete.ModelSelect2(
74 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Material"
75 ),
76 }
78 def __init__(self, *args, **kwargs):
79 self.user = kwargs.pop("user", None)
80 super(BurialGroupForm, self).__init__(*args, **kwargs)
81 self.helper = FormHelper()
82 self.helper.form_tag = True
83 self.helper.form_class = "form-horizontal"
84 self.helper.label_class = "col-md-3"
85 self.helper.field_class = "col-md-9"
86 self.helper.add_input(
87 Submit("submit", "save"),
88 )
91class BurialForm(forms.ModelForm):
92 class Meta:
93 model = Burial
94 fields = "__all__"
95 widgets = {
96 # 'burial_group': autocomplete.ModelSelect2(
97 # url='burials:burialgroup-autocomplete'),
98 # 'burial_site': autocomplete.ModelSelect2(
99 # url='burials:burialsite-autocomplete'),
100 "burial_type": autocomplete.ModelSelect2(
101 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Burial type"
102 ),
103 "construction": autocomplete.ModelSelect2(
104 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Burial construction"
105 ),
106 "arrangement": autocomplete.ModelSelect2(
107 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Burial arrangement"
108 ),
109 "cover_type": autocomplete.ModelSelect2(
110 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Cover type"
111 ),
112 "grave_pit_form": autocomplete.ModelSelect2(
113 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Grave pit form"
114 ),
115 "grave_pit_orientation": autocomplete.ModelSelect2(
116 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Grave pit orientation"
117 ),
118 "filling_objects": autocomplete.ModelSelect2Multiple(
119 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Burial Filling Objects"
120 ),
121 "filling": autocomplete.ModelSelect2(
122 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Burial Filling Type"
123 ),
124 }
126 def __init__(self, *args, **kwargs):
127 self.user = kwargs.pop("user", None)
128 super(BurialForm, self).__init__(*args, **kwargs)
129 self.fields["burial_site"].required = True
130 self.helper = FormHelper()
131 self.helper.form_tag = True
132 self.helper.form_class = "form-horizontal"
133 self.helper.label_class = "col-md-3"
134 self.helper.field_class = "col-md-9"
135 self.helper.add_input(
136 Submit("submit", "save"),
137 )
138 self.helper.layout = Layout(
139 Fieldset(
140 "Description",
141 "burial_site",
142 "burial_group",
143 "burial_id",
144 "burial_type",
145 "c14_dendro",
146 "absolute_age",
147 "secondary_burial",
148 "secondary_burial_text",
149 "displaced",
150 "displaced_text",
151 "extraordinary_burial",
152 "extraordinary_burial_text",
153 "inhumation_burial_type",
154 "bi_ritual_burial_type",
155 css_class="separate-panel",
156 ),
157 Fieldset(
158 "Grave architecture",
159 "construction",
160 "arrangement",
161 "cover",
162 "cover_type",
163 "grave_pit_form",
164 "grave_pit_orientation",
165 "length",
166 "width",
167 "diameter",
168 "height",
169 "post_holes",
170 "surface_identification_mark",
171 "erdgraebchen",
172 "other_features",
173 css_class="separate-panel",
174 ),
175 Fieldset(
176 "Burial Filling",
177 "filling_objects",
178 "intentionally_deposited",
179 "filling",
180 css_class="separate-panel",
181 ),
182 )
185class UrnCoverForm(forms.ModelForm):
186 class Meta:
187 model = UrnCover
188 fields = ["urn", "basic_shape", "upside_down", "fragment", "cover_id"]
189 widgets = {
190 "basic_shape": autocomplete.ModelSelect2(
191 url="../../../vocabs-ac/skos-constraint-no-hierarchy-ac/?scheme=Basic shape of urn cover"
192 ),
193 }
195 def __init__(self, *args, **kwargs):
196 self.user = kwargs.pop("user", None)
197 super(UrnCoverForm, self).__init__(*args, **kwargs)
198 self.fields["urn"].required = True
199 self.helper = FormHelper()
200 self.helper.form_tag = True
201 self.helper.form_class = "form-horizontal"
202 self.helper.label_class = "col-md-3"
203 self.helper.field_class = "col-md-9"
204 self.helper.add_input(
205 Submit("submit", "save"),
206 )
209class UrnForm(forms.ModelForm):
210 class Meta:
211 model = Urn
212 fields = "__all__"
213 widgets = {
214 "basic_shape": autocomplete.ModelSelect2(
215 url="../../../vocabs-ac/skos-constraint-no-hierarchy-ac/?scheme=Basic shape of urn"
216 ),
217 "cover": autocomplete.ModelSelect2(url="burials:urncover-autocomplete"),
218 }
220 def __init__(self, *args, **kwargs):
221 self.user = kwargs.pop("user", None)
222 super(UrnForm, self).__init__(*args, **kwargs)
223 self.helper = FormHelper()
224 self.helper.form_tag = True
225 self.helper.form_class = "form-horizontal"
226 self.helper.label_class = "col-md-3"
227 self.helper.field_class = "col-md-9"
228 self.helper.add_input(
229 Submit("submit", "save"),
230 )
233class GraveGoodForm(forms.ModelForm):
234 class Meta:
235 model = GraveGood
236 fields = [
237 "burial",
238 "urn",
239 "name",
240 "material",
241 "amount_countable",
242 "condition",
243 "position",
244 "comment",
245 ]
246 widgets = {
247 # 'burial': autocomplete.ModelSelect2(
248 # url='burials:burial-autocomplete'),
249 "name": autocomplete.ModelSelect2(
250 url="../../../vocabs-ac/skos-constraint-ac/?scheme=GraveGoodObject"
251 ),
252 "material": autocomplete.ModelSelect2(
253 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Material"
254 ),
255 "condition": autocomplete.ModelSelect2(
256 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Condition"
257 ),
258 "position": autocomplete.ModelSelect2(
259 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Position"
260 ),
261 }
263 def __init__(self, *args, **kwargs):
264 self.user = kwargs.pop("user", None)
265 super(GraveGoodForm, self).__init__(*args, **kwargs)
266 self.helper = FormHelper()
267 self.helper.form_tag = True
268 self.helper.form_class = "form-horizontal"
269 self.helper.label_class = "col-md-3"
270 self.helper.field_class = "col-md-9"
271 self.helper.add_input(
272 Submit("submit", "save"),
273 )
276class GraveGoodOtherForm(forms.ModelForm):
277 class Meta:
278 model = GraveGoodOther
279 fields = [
280 "burial",
281 "urn",
282 "food",
283 "other_organic_grave_good",
284 "other_organic_grave_good_text",
285 "position",
286 "secondary_depostition",
287 "comment",
288 ]
289 widgets = {
290 # 'burial': autocomplete.ModelSelect2(
291 # url='burials:burial-autocomplete'),
292 "position": autocomplete.ModelSelect2(
293 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Position"
294 ),
295 }
297 def __init__(self, *args, **kwargs):
298 self.user = kwargs.pop("user", None)
299 super(GraveGoodOtherForm, self).__init__(*args, **kwargs)
300 self.helper = FormHelper()
301 self.helper.form_tag = True
302 self.helper.form_class = "form-horizontal"
303 self.helper.label_class = "col-md-3"
304 self.helper.field_class = "col-md-9"
305 self.helper.add_input(
306 Submit("submit", "save"),
307 )
310class DeadBodyRemainsForm(forms.ModelForm):
311 class Meta:
312 model = DeadBodyRemains
313 fields = [
314 "burial",
315 "urn",
316 "age",
317 "gender",
318 "temperature",
319 "weight",
320 "pathology",
321 "total_weight",
322 "position",
323 "amount_countable",
324 "secondary_depostition",
325 "comment",
326 ]
327 widgets = {
328 # 'burial': autocomplete.ModelSelect2(
329 # url='burials:burial-autocomplete'),
330 "age": autocomplete.ModelSelect2(
331 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Age"
332 ),
333 "gender": autocomplete.ModelSelect2(
334 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Gender"
335 ),
336 "temperature": autocomplete.ModelSelect2(
337 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Cremation temperature"
338 ),
339 "position": autocomplete.ModelSelect2(
340 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Position of the cremated remains"
341 ),
342 }
344 def __init__(self, *args, **kwargs):
345 self.user = kwargs.pop("user", None)
346 super(DeadBodyRemainsForm, self).__init__(*args, **kwargs)
347 self.helper = FormHelper()
348 self.helper.form_tag = True
349 self.helper.form_class = "form-horizontal"
350 self.helper.label_class = "col-md-3"
351 self.helper.field_class = "col-md-9"
352 self.helper.add_input(
353 Submit("submit", "save"),
354 )
357class AnimalRemainsForm(forms.ModelForm):
358 class Meta:
359 model = AnimalRemains
360 fields = [
361 "burial",
362 "urn",
363 "species",
364 "age",
365 "sex",
366 "amount_countable",
367 "position",
368 "secondary_depostition",
369 "comment",
370 ]
371 widgets = {
372 # 'burial': autocomplete.ModelSelect2(
373 # url='burials:burial-autocomplete'),
374 "species": autocomplete.ModelSelect2(
375 url="../../../vocabs-ac/skos-constraint-no-hierarchy-ac/?scheme=Species"
376 ),
377 "position": autocomplete.ModelSelect2(
378 url="../../../vocabs-ac/skos-constraint-ac/?scheme=Position of the cremated remains"
379 ),
380 }
382 def __init__(self, *args, **kwargs):
383 self.user = kwargs.pop("user", None)
384 super(AnimalRemainsForm, self).__init__(*args, **kwargs)
385 self.helper = FormHelper()
386 self.helper.form_tag = True
387 self.helper.form_class = "form-horizontal"
388 self.helper.label_class = "col-md-3"
389 self.helper.field_class = "col-md-9"
390 self.helper.add_input(
391 Submit("submit", "save"),
392 )