[NEW] Add grade models and grade management
This commit is contained in:
@@ -61,6 +61,7 @@ This module is maintained by ELABORE.
|
|||||||
"data": [
|
"data": [
|
||||||
"views/vote.xml",
|
"views/vote.xml",
|
||||||
"views/candidate.xml",
|
"views/candidate.xml",
|
||||||
|
"views/grade_model.xml",
|
||||||
"views/menus.xml",
|
"views/menus.xml",
|
||||||
"security/ir.model.access.csv",
|
"security/ir.model.access.csv",
|
||||||
],
|
],
|
||||||
|
@@ -9,6 +9,7 @@ class MajorityJudgementGradeModel(models.Model):
|
|||||||
|
|
||||||
name = fields.Char(string=_("Name"), required=True)
|
name = fields.Char(string=_("Name"), required=True)
|
||||||
color = fields.Integer("Color Index", default=0)
|
color = fields.Integer("Color Index", default=0)
|
||||||
|
sequence = fields.Integer()
|
||||||
|
|
||||||
|
|
||||||
class MajorityJudgementGrade(models.Model):
|
class MajorityJudgementGrade(models.Model):
|
||||||
@@ -17,4 +18,5 @@ class MajorityJudgementGrade(models.Model):
|
|||||||
|
|
||||||
name = fields.Char(string=_("Name"), required=True)
|
name = fields.Char(string=_("Name"), required=True)
|
||||||
color = fields.Integer("Color Index", default=0)
|
color = fields.Integer("Color Index", default=0)
|
||||||
|
sequence = fields.Integer()
|
||||||
vote_id = fields.Many2one("vote", string=_("Vote"))
|
vote_id = fields.Many2one("vote", string=_("Vote"))
|
||||||
|
@@ -26,6 +26,25 @@ class MajorityJudgementVote(models.Model):
|
|||||||
copy=False,
|
copy=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@api.model
|
||||||
|
def create(self, values):
|
||||||
|
record = super(MajorityJudgementVote, self).create(values)
|
||||||
|
record.generate_default_grades()
|
||||||
|
return record
|
||||||
|
|
||||||
|
def generate_default_grades(self):
|
||||||
|
for grade in self.grade_ids:
|
||||||
|
grade.unlink()
|
||||||
|
grade_models = self.env["grade.model"].search([])
|
||||||
|
for model in grade_models:
|
||||||
|
vals = {
|
||||||
|
"name": model.name,
|
||||||
|
"color": model.color,
|
||||||
|
"sequence": model.sequence,
|
||||||
|
"vote_id": self.id,
|
||||||
|
}
|
||||||
|
self.env["grade"].create(vals)
|
||||||
|
|
||||||
def action_open_vote(self):
|
def action_open_vote(self):
|
||||||
self.state = "opened"
|
self.state = "opened"
|
||||||
|
|
||||||
|
@@ -2,4 +2,5 @@ id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
|
|||||||
access_vote_manager,access_vote_manager,model_vote,base.group_user,1,1,1,1
|
access_vote_manager,access_vote_manager,model_vote,base.group_user,1,1,1,1
|
||||||
access_voter_manager,access_voter_manager,model_voter,base.group_user,1,1,1,1
|
access_voter_manager,access_voter_manager,model_voter,base.group_user,1,1,1,1
|
||||||
access_grade_manager,access_grade_manager,model_grade,base.group_user,1,1,1,1
|
access_grade_manager,access_grade_manager,model_grade,base.group_user,1,1,1,1
|
||||||
|
access_grade_model_manager,access_grade_model_manager,model_grade_model,base.group_user,1,1,1,1
|
||||||
access_candidate_manager,access_candidate_manager,model_candidate,base.group_user,1,1,1,1
|
access_candidate_manager,access_candidate_manager,model_candidate,base.group_user,1,1,1,1
|
|
16
majority_judgement/views/grade_model.xml
Normal file
16
majority_judgement/views/grade_model.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<odoo>
|
||||||
|
<record id="grade_model_tree_view" model="ir.ui.view">
|
||||||
|
<field name="name">grade.model.tree.view</field>
|
||||||
|
<field name="model">grade.model</field>
|
||||||
|
<field name="priority">0</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<tree string="Grade Models" editable="top">
|
||||||
|
<field name="sequence" widget="handle" />
|
||||||
|
<field name="name" />
|
||||||
|
<field name="color" />
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</odoo>
|
@@ -12,9 +12,23 @@
|
|||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<record model="ir.actions.act_window" id="action_view_grade_models_list">
|
||||||
|
<field name="name">Grade Models</field>
|
||||||
|
<field name="res_model">grade.model</field>
|
||||||
|
<field name="view_type">form</field>
|
||||||
|
<field name="view_mode">tree</field>
|
||||||
|
<field name="help" type="html">
|
||||||
|
<p class="o_view_nocontent_smiling_face">
|
||||||
|
Create a grade model
|
||||||
|
</p>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
<menuitem id="majority_judgement_menu_root" name="Majority Judgements" sequence="60" web_icon="majority_judgement,static/description/icon.png" />
|
<menuitem id="majority_judgement_menu_root" name="Majority Judgements" sequence="60" web_icon="majority_judgement,static/description/icon.png" />
|
||||||
|
|
||||||
<menuitem id="majority_judgement_men" name="Majority Judgements" parent="majority_judgement_menu_root" sequence="1" action="action_view_vote_list" />
|
<menuitem id="majority_judgement_menu" name="Majority Judgements" parent="majority_judgement_menu_root" sequence="1" action="action_view_vote_list" />
|
||||||
|
<menuitem id="majority_judgement_configuration_menu" name="Configuration" parent="majority_judgement_menu_root" sequence="2" />
|
||||||
|
<menuitem id="majority_judgement_grade_models_menu" name="Grade Models" parent="majority_judgement_configuration_menu" sequence="1" action="action_view_grade_models_list" />
|
||||||
|
|
||||||
|
|
||||||
</odoo>
|
</odoo>
|
@@ -44,11 +44,13 @@
|
|||||||
</page>
|
</page>
|
||||||
<page name="grades" string="Grades">
|
<page name="grades" string="Grades">
|
||||||
<field name="grade_ids" create="true">
|
<field name="grade_ids" create="true">
|
||||||
<tree default_order="name">
|
<tree default_order="sequence">
|
||||||
|
<field name="sequence" widget="handle" />
|
||||||
<field name="name" />
|
<field name="name" />
|
||||||
<field name="color" />
|
<field name="color" />
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
|
<button name="generate_default_grades" string="Re-initialize" class="oe_highlight" type="object" />
|
||||||
</page>
|
</page>
|
||||||
<page name="voters" string="Voters">
|
<page name="voters" string="Voters">
|
||||||
<field name="voter_ids" create="true">
|
<field name="voter_ids" create="true">
|
||||||
|
Reference in New Issue
Block a user