[NEW] Majority Judgement addons initialisation

This commit is contained in:
Stéphan Sainléger
2022-03-05 00:47:39 +01:00
parent ab18af348f
commit 6a9535ee5c
13 changed files with 268 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
# -*- coding: utf-8 -*-
from . import vote
from . import grade
from . import voter
from . import candidate
from . import ballot_line

View File

@@ -0,0 +1,11 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
class MajorityJudgementBallotLine(models.Model):
_name = "ballot.line"
_description = "Majority Judgement ballot line"
candidate_id = fields.Many2one("candidate", string=_("Candidate"), required=True)
grade_id = fields.Many2one("grade", string=_("Grade"), required=True)

View File

@@ -0,0 +1,16 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
class MajorityJudgementCandidate(models.Model):
_name = "candidate"
_description = "Majority Judgement candidate"
name = fields.Char(string=_("Name"), required=True)
description = fields.Text(string=_("Description"))
vote_id = fields.Many2one("vote", string=_("Vote"))
final_grade = fields.Many2one("grade", string=_("Final Grage"))
ballot_line_ids = fields.One2many(
"ballot.line", "candidate_id", string=_("Ballot lines")
)

View File

@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
class MajorityJudgementGradeModel(models.Model):
_name = "grade.model"
_description = "Majority Judgement grade model"
name = fields.Char(string=_("Name"), required=True)
color = fields.Integer("Color Index", default=0)
class MajorityJudgementGrade(models.Model):
_name = "grade"
_description = "Majority Judgement grade"
name = fields.Char(string=_("Name"), required=True)
color = fields.Integer("Color Index", default=0)
vote_id = fields.Many2one("vote", string=_("Vote"))

View File

@@ -0,0 +1,17 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
class MajorityJudgementVote(models.Model):
_name = "vote"
_description = "Majority Judgement vote"
name = fields.Char(string=_("Name"), required=True)
description = fields.Text(string=_("Description"))
question = fields.Char(string=_("Question"), required=True)
start_time = fields.Datetime(string=_("Start time"))
end_time = fields.Datetime(string=_("End time"))
grade_ids = fields.One2many("grade", "vote_id", string=_("Grades"))
candidate_ids = fields.One2many("candidate", "vote_id", string=_("Candidate"))
voter_ids = fields.One2many("voter", "vote_id", string=_("Voters"))

View File

@@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api, _
class MajorityJudgementVoter(models.Model):
_name = "voter"
_description = "Majority Judgement voter"
partner_id = fields.Many2one(
"res.partner", string=_("Associated contact"), required=True
)
vote_id = fields.Many2one("vote", string=_("Vote"))
has_voted = fields.Boolean(string="Has voted")
vote_timestamp = fields.Datetime(string=_("Has voted on"))