| | 216 | Ruolo. |
| | 217 | Non puo essere una attributo per il gasista ma una property. Partendo da principal |
| | 218 | class GASMembersManager(models.Manager): |
| | 219 | |
| | 220 | def have_role(self, parametric_role): |
| | 221 | referrer_as_users = User.objects.filter(principal_param_role_relation=parametric_role) |
| | 222 | return self.get_query_set().filter(person__user_in=referrer_as_users) |
| | 223 | |
| | 224 | def have_roles(self, parametric_roles): |
| | 225 | referrer_as_users = User.objects.filter(principal_param_role_relation__in=parametric_roles) |
| | 226 | return self.get_query_set().filter(person__user_in=referrer_as_users) |
| | 227 | |
| | 228 | |
| | 229 | |
| | 230 | Validazione. Validating objects |
| | 231 | GASMember gasistafelice/gas/models/base.py |
| | 232 | Validazione dei modelli. Quale differenza tra la save() e la validazione() |
| | 233 | |
| | 234 | Save: errori di programmazione. Non occorre localizzarli --> def save(self, *args, **kw): mettere cui cosi di basso livello |
| | 235 | |
| | 236 | Validazione: chiamarli esplicitamente --> def clean(self, exclude=None): serve più al livello di utente |
| | 237 | |
| | 238 | Nella validazione non sono !AttributeError ma !ValueError (tipo "GAS person non valid") |
| | 239 | |
| | 240 | fare class GASMemberNotValid(Exception): |
| | 241 | pass |
| | 242 | raise GASMemberNotValid("user non può esse nullo") |
| | 243 | |
| | 244 | |
| | 245 | Cf documentazione Django: https://docs.djangoproject.com/en/1.3/ref/models/instances/#validating-objects |
| | 246 | |
| | 247 | Fare Dominique list of place Holder gasistafelice / gasistafelice / gas / models / base.py |
| | 248 | |
| | 249 | |
| | 250 | ___________________________ |
| | 251 | obbiettivo per fine Giugno http://www.gasistafelice.org/wiki/Azioni |
| | 252 | sistema si inizializza: Amministratore di sistema |
| | 253 | crea GAS e quindi crea i 3 ruoli |
| | 254 | Si crea un gasista |
| | 255 | con ruolo informatico |
| | 256 | il gasista informatico crea altri gasisti |
| | 257 | |
| | 258 | tutti possono inserire un produttore |
| | 259 | pero non appare dentro la vetrina del DES |
| | 260 | appaiono solo quelli con PDS. |
| | 261 | |
| | 262 | L'informatico |
| | 263 | il presidente |
| | 264 | il referente fornitore |
| | 265 | |
| | 266 | ROOT: funziona al livello di DES |
| | 267 | |
| | 268 | L'admin Interface non va bene per il software. Fare viste |
| | 269 | |
| | 270 | |
| | 271 | _________________________________ |
| | 272 | TODO: |
| | 273 | 1/3 concentrare sui place holder |
| | 274 | 2/3 i test |
| | 275 | 3/3 la validazione |
| | 276 | |
| | 277 | |