428 """ |
428 """ |
429 |
429 |
430 super(Logic, self).__init__(model=model, base_model=base_model, |
430 super(Logic, self).__init__(model=model, base_model=base_model, |
431 scope_logic=scope_logic) |
431 scope_logic=scope_logic) |
432 |
432 |
|
433 class ResultsLogic(work.Logic): |
|
434 """Logic methods for the Survey model |
|
435 """ |
|
436 |
|
437 def __init__(self, model=SurveyRecord, |
|
438 base_model=Work, scope_logic=linkable_logic): |
|
439 """Defines the name, key_name and model for this entity. |
|
440 """ |
|
441 |
|
442 super(ResultsLogic, self).__init__(model=model, base_model=base_model, |
|
443 scope_logic=scope_logic) |
|
444 |
|
445 def getKeyValuesFromEntity(self, entity): |
|
446 """See base.Logic.getKeyNameValues. |
|
447 """ |
|
448 |
|
449 return [entity.prefix, entity.scope_path, entity.link_id] |
|
450 |
|
451 def getKeyValuesFromFields(self, fields): |
|
452 """See base.Logic.getKeyValuesFromFields. |
|
453 """ |
|
454 |
|
455 return [fields['prefix'], fields['scope_path'], fields['link_id']] |
|
456 |
|
457 def getKeyFieldNames(self): |
|
458 """See base.Logic.getKeyFieldNames. |
|
459 """ |
|
460 |
|
461 return ['prefix', 'scope_path', 'link_id'] |
|
462 |
|
463 def isDeletable(self, entity): |
|
464 """See base.Logic.isDeletable. |
|
465 """ |
|
466 |
|
467 return not entity.home_for |
|
468 |
|
469 def _updateField(self, entity, entity_properties, name): |
|
470 """Special logic for role. If state changes to active we flush the sidebar. |
|
471 """ |
|
472 |
|
473 value = entity_properties[name] |
|
474 |
|
475 if (name == 'is_featured') and (entity.is_featured != value): |
|
476 sidebar.flush() |
|
477 |
|
478 home_for = entity.home_for |
|
479 if (name != 'home_for') and home_for: |
|
480 home.flush(home_for) |
|
481 return True |
|
482 |
433 |
483 |
434 logic = Logic() |
484 logic = Logic() |
435 project_logic = ProjectLogic() |
485 project_logic = ProjectLogic() |
436 grading_logic = GradingProjectLogic() |
486 grading_logic = GradingProjectLogic() |
|
487 results_logic = ResultsLogic() |