Mercurial > lada > lada-client
annotate app/model/Messprogramm.js @ 1067:3da8e8b973ad
Use the laborMstId to generate probe objects.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Mon, 14 Mar 2016 10:16:22 +0100 |
parents | f73ca04d73a7 |
children | 61cc583c3649 |
rev | line source |
---|---|
745
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
1 /* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
2 * Software engineering by Intevation GmbH |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
3 * |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
4 * This file is Free Software under the GNU GPL (v>=3) |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
6 * the documentation coming with IMIS-Labordaten-Application for details. |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
7 */ |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
8 |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
9 /** |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
10 * A Messprogramm. |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
11 * This class represents and defines the model of a 'Messprogramm' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
12 **/ |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
13 Ext.define('Lada.model.Messprogramm', { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
14 extend: 'Ext.data.Model', |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
15 |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
16 fields: [{ |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
17 name: 'id' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
18 }, { |
754
6b0d0e62f7d7
added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents:
749
diff
changeset
|
19 name: 'test', |
745
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
20 type: 'boolean' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
21 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
22 name: 'netzbetreiberId', |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
23 serialize: function(value) { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
24 if (value === '') { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
25 return null; |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
26 } |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
27 return value; |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
28 } |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
29 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
30 name: 'mstId' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
31 }, { |
1067
3da8e8b973ad
Use the laborMstId to generate probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
999
diff
changeset
|
32 name: 'laborMstId' |
3da8e8b973ad
Use the laborMstId to generate probe objects.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
999
diff
changeset
|
33 }, { |
754
6b0d0e62f7d7
added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents:
749
diff
changeset
|
34 name: 'name' |
6b0d0e62f7d7
added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents:
749
diff
changeset
|
35 }, { |
745
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
36 name: 'datenbasisId' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
37 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
38 name: 'baId' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
39 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
40 name: 'gemId' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
41 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
42 name: 'ortId' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
43 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
44 name: 'mediaDesk' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
45 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
46 name: 'umwId', |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
47 serialize: function(value) { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
48 if (value === '') { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
49 return null; |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
50 } |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
51 return value; |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
52 } |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
53 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
54 name: 'probenartId' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
55 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
56 name: 'probenintervall' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
57 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
58 name: 'teilintervallVon' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
59 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
60 name: 'teilintervallBis' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
61 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
62 name: 'intervallOffset' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
63 }, { |
774 | 64 name: 'gueltigVon', |
65 type: 'date', | |
66 convert: function(v) { | |
793
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
67 var firstofyeartimestamp = new Date( |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
68 Date.UTC( |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
69 new Date().getFullYear(),0,1)) |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
70 .valueOf(); |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
71 var dayToMilli = 86400000; |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
72 |
774 | 73 if (!v) { |
74 return v; | |
75 } | |
793
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
76 //check if v might be a date |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
77 // unless we go back in time this will work |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
78 if (v < 1000) { |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
79 v = v * dayToMilli; |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
80 v = v + firstofyeartimestamp; |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
81 v = new Date(v); |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
82 } |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
83 return v; |
774 | 84 }, |
781
4c1101f0ba99
Serialize Date to DayOfYear when writing/saving
Dustin Demuth <dustin@intevation.de>
parents:
774
diff
changeset
|
85 serialize: function(value) { |
4c1101f0ba99
Serialize Date to DayOfYear when writing/saving
Dustin Demuth <dustin@intevation.de>
parents:
774
diff
changeset
|
86 if (value instanceof Date && !isNaN(value.valueOf())) { |
793
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
87 return Ext.Date.getDayOfYear(value); |
781
4c1101f0ba99
Serialize Date to DayOfYear when writing/saving
Dustin Demuth <dustin@intevation.de>
parents:
774
diff
changeset
|
88 } |
4c1101f0ba99
Serialize Date to DayOfYear when writing/saving
Dustin Demuth <dustin@intevation.de>
parents:
774
diff
changeset
|
89 } |
745
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
90 }, { |
774 | 91 name: 'gueltigBis', |
92 type: 'date', | |
93 convert: function(v) { | |
793
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
94 var firstofyeartimestamp = new Date( |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
95 Date.UTC( |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
96 new Date().getFullYear(),0,1)) |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
97 .valueOf(); |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
98 var dayToMilli = 86400000; |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
99 |
774 | 100 if (!v) { |
101 return v; | |
102 } | |
793
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
103 |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
104 //check if v might be a date |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
105 // unless we go back in time this will work |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
106 if (v < 1000) { |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
107 v = v * dayToMilli; |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
108 v = v + firstofyeartimestamp; |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
109 v = new Date(v); |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
110 } |
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
111 return v; |
774 | 112 }, |
781
4c1101f0ba99
Serialize Date to DayOfYear when writing/saving
Dustin Demuth <dustin@intevation.de>
parents:
774
diff
changeset
|
113 serialize: function(value) { |
4c1101f0ba99
Serialize Date to DayOfYear when writing/saving
Dustin Demuth <dustin@intevation.de>
parents:
774
diff
changeset
|
114 if (value instanceof Date && !isNaN(value.valueOf())) { |
793
d4eb8fb99b5e
Serialising GueltigVon and GueltigBis natively with Ext
Dustin Demuth <dustin@intevation.de>
parents:
781
diff
changeset
|
115 return Ext.Date.getDayOfYear(value); |
781
4c1101f0ba99
Serialize Date to DayOfYear when writing/saving
Dustin Demuth <dustin@intevation.de>
parents:
774
diff
changeset
|
116 } |
4c1101f0ba99
Serialize Date to DayOfYear when writing/saving
Dustin Demuth <dustin@intevation.de>
parents:
774
diff
changeset
|
117 } |
745
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
118 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
119 name: 'probeNehmerId' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
120 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
121 name: 'probeKommentar' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
122 }, { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
123 name: 'letzteAenderung', |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
124 type: 'date', |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
125 convert: function(v) { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
126 if (!v) { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
127 return v; |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
128 } |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
129 return new Date(v); |
970
f4eb53ba63fc
Setting Timestamps the correct way. Before this commit the times of the instatiation of the model were used as default values, which led to wrong dates.
Dustin Demuth <dustin@intevation.de>
parents:
793
diff
changeset
|
130 } |
745
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
131 }], |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
132 |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
133 idProperty: 'id', |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
134 |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
135 proxy: { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
136 type: 'rest', |
999 | 137 url: 'lada-server/rest/messprogramm', |
745
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
138 reader: { |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
139 type: 'json', |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
140 root: 'data' |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
141 } |
df684c3d4a7c
Added Messprogramme Store and Model
Dustin Demuth <dustin@intevation.de>
parents:
diff
changeset
|
142 } |
754
6b0d0e62f7d7
added Probenintervalle to a Messprogramm... there is still a lot of work needed. For instance for the slider element.
Dustin Demuth <dustin@intevation.de>
parents:
749
diff
changeset
|
143 }); |