21 '"Lennard de Rijk" <ljvderijk@gmail.com>', |
21 '"Lennard de Rijk" <ljvderijk@gmail.com>', |
22 ] |
22 ] |
23 |
23 |
24 |
24 |
25 from soc.logic.models import base |
25 from soc.logic.models import base |
26 from soc.logic.models import rankerroot as ranker_logic |
|
27 from soc.logic.models import student as student_logic |
26 from soc.logic.models import student as student_logic |
|
27 from soc.logic.models.ranker_root import logic as ranker_root_logic |
28 from soc.models import student_proposal |
28 from soc.models import student_proposal |
29 |
29 |
30 import soc.models.linkable |
30 import soc.models.linkable |
31 import soc.models.student_proposal |
31 import soc.models.student_proposal |
32 |
32 |
42 |
42 |
43 super(Logic, self).__init__(model=model, base_model=base_model, |
43 super(Logic, self).__init__(model=model, base_model=base_model, |
44 scope_logic=scope_logic) |
44 scope_logic=scope_logic) |
45 |
45 |
46 def _onCreate(self, entity): |
46 def _onCreate(self, entity): |
47 """Adds this proposal to the organization ranker entity |
47 """Adds this proposal to the organization ranker entity. |
48 """ |
48 """ |
49 |
49 |
50 fields = {'link_id': student_proposal.DEF_RANKER_NAME, |
50 fields = {'link_id': student_proposal.DEF_RANKER_NAME, |
51 'scope': entity.org} |
51 'scope': entity.org} |
52 |
52 |
53 ranker_root = ranker_logic.logic.getForFields(fields, unique=True) |
53 ranker_root = ranker_root_logic.getForFields(fields, unique=True) |
54 ranker = ranker_logic.logic.getRootFromEntity(ranker_root) |
54 ranker = ranker_root_logic.getRootFromEntity(ranker_root) |
55 ranker.SetScore(entity.key().name(), [entity.score]) |
55 ranker.SetScore(entity.key().name(), [entity.score]) |
56 |
56 |
57 super(Logic, self)._onCreate(entity) |
57 super(Logic, self)._onCreate(entity) |
58 |
58 |
59 def _updateField(self, entity, entity_properties, name): |
59 def _updateField(self, entity, entity_properties, name): |
71 |
71 |
72 # update the ranker |
72 # update the ranker |
73 fields = {'link_id': student_proposal.DEF_RANKER_NAME, |
73 fields = {'link_id': student_proposal.DEF_RANKER_NAME, |
74 'scope': entity.org} |
74 'scope': entity.org} |
75 |
75 |
76 ranker_root = ranker_logic.logic.getForFields(fields, unique=True) |
76 ranker_root = ranker_root_logic.getForFields(fields, unique=True) |
77 ranker = ranker_logic.logic.getRootFromEntity(ranker_root) |
77 ranker = ranker_root_logic.getRootFromEntity(ranker_root) |
78 ranker.SetScore(entity.key().name(), [value]) |
78 ranker.SetScore(entity.key().name(), [value]) |
79 |
79 |
80 |
80 |
81 return super(Logic, self)._updateField(entity, entity_properties, name) |
81 return super(Logic, self)._updateField(entity, entity_properties, name) |
82 |
82 |