Coverage for burials/forms.py: 51%

138 statements  

« 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) 

16 

17 

18BOOLEAN_CHOICES = ((None, "Unknown"), (True, "Yes"), (False, "No")) 

19 

20 

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 } 

46 

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) 

61 

62 

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 } 

77 

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 ) 

89 

90 

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 } 

125 

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 ) 

183 

184 

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 } 

194 

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 ) 

207 

208 

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 } 

219 

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 ) 

231 

232 

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 } 

262 

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 ) 

274 

275 

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 } 

296 

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 ) 

308 

309 

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 } 

343 

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 ) 

355 

356 

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 } 

381 

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 )