Merge pull request #2599 from expsa/manar_dev_sales_6_03

UPDATE dev_membership
This commit is contained in:
Manar416 2025-03-06 13:44:02 +02:00 committed by GitHub
commit 1a148a41ff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 77 additions and 17 deletions

View File

@ -1552,8 +1552,14 @@ msgstr "ارسال رسالة"
msgid "Accept"
msgstr "قبول"
#. module: dev_membership
#: model_terms:ir.ui.view,arch_db:dev_membership.view_form_board_membership_nomination
msgid "Withdrawal"
msgstr "تراجع"
#. module: dev_membership
#: model:ir.model.fields.selection,name:dev_membership.selection__board_nominee__status__board_member
#: model_terms:ir.ui.view,arch_db:dev_membership.view_form_board_membership_nomination
msgid "Board Member"
msgstr "عضو مجلس"

View File

@ -36,22 +36,36 @@ class BoardMembershipNomination(models.Model):
record.board_nominee_ids.unlink()
for member in members:
for product in products:
membership = self.env['dev.membership'].search([('state', 'in', ['active', 'expire']), ('partner_id', '=', member.id), ('product_id', '=', product.id),('duration', '>=', product.join_period)])
for m in membership:
memberships = self.env['dev.membership'].search([('state', 'in', ['active', 'expire']), ('partner_id', '=', member.id), ('product_id', '=', product.id),('duration', '>=', product.join_period)])
if memberships:
total_duration = sum(m.duration for m in memberships)
b_nominee = self.env['board.nominee'].create([
{
'name': member.id,
'mobile': member.mobile,
'email': member.email,
'membership_type_id': product.id,
'membership_level_id': m.membrship_level.id,
'join_date': member.join_date,
'subscription_years': m.duration,
'status': 'nominated',
'nomination_id': record.id,
}
])
self.env['board.nominee'].create({
'name': member.id,
'mobile': member.mobile,
'email': member.email,
'membership_type_id': product.id,
'membership_level_id': memberships[0].membrship_level.id,
'join_date': member.join_date,
'subscription_years': total_duration,
'status': 'nominated',
'nomination_id': record.id,
})
# for m in memberships:
#
# b_nominee = self.env['board.nominee'].create([
# {
# 'name': member.id,
# 'mobile': member.mobile,
# 'email': member.email,
# 'membership_type_id': product.id,
# 'membership_level_id': m.membrship_level.id,
# 'join_date': member.join_date,
# 'subscription_years': m.duration,
# 'status': 'nominated',
# 'nomination_id': record.id,
# }
# ])
record.state = 'nominated'
@ -87,6 +101,7 @@ class BoardMembershipNomination(models.Model):
class BoardNominee(models.Model):
_name = 'board.nominee'
_description = 'Board Nominee'
_inherit = ['mail.thread', 'mail.activity.mixin']
name = fields.Many2one('res.partner', string='Member', required=True)
mobile = fields.Char('Mobile')
@ -116,3 +131,7 @@ class BoardNominee(models.Model):
def action_board_member(self):
for line in self:
line.status = 'board_member'
def action_back_to_nominated(self):
for line in self:
line.status = 'nominated'

View File

@ -1,4 +1,19 @@
<odoo>
<record id="view_tree_board_membership_nomination" model="ir.ui.view">
<field name="name">board.membership.nomination.tree</field>
<field name="model">board.membership.nomination</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="start_date"/>
<field name="end_date"/>
<field name="nominations_committee" widget="many2many_tags"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_form_board_membership_nomination" model="ir.ui.view">
<field name="name">board.membership.nomination.form</field>
<field name="model">board.membership.nomination</field>
@ -42,6 +57,7 @@
<button name="action_accept" string="Accept" type="object" class="btn-primary" attrs="{'invisible': [('status', 'not in', ['nominated', 'rejected'])]}"/>
<button name="action_reject" string="Reject" type="object" class="btn-danger" attrs="{'invisible': [('status', '!=', 'nominated')]}"/>
<button name="action_board_member" string="Board Member" type="object" class="btn-primary" attrs="{'invisible': [('status', '!=', 'accepted')]}"/>
<button name="action_back_to_nominated" string="Withdrawal" type="object" class="btn-primary" attrs="{'invisible': [('status', 'not in', ['accepted', 'board_member'])]}"/>
</tree>
</field>
@ -60,6 +76,25 @@
</field>
</record>
<record id="view_tree_board_nominee" model="ir.ui.view">
<field name="name">board.nominee.tree</field>
<field name="model">board.nominee</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="mobile" widget="phone"/>
<field name="email"/>
<field name="membership_type_id"/>
<field name="membership_level_id"/>
<field name="join_date"/>
<field name="subscription_years"/>
<field name="status" readonly="1"/>
<field name="vote_count"/>
<field name="notes"/>
</tree>
</field>
</record>
<record id="view_form_board_nominee" model="ir.ui.view">
<field name="name">board.nominee.form</field>
<field name="model">board.nominee</field>
@ -111,8 +146,8 @@
<menuitem id="membership_menu" name="Board Membership Nomination" parent="menu_membership_main" sequence="7"/>
<menuitem id="board_nominee_menu" name="Board Nominees" parent="membership_menu" action="action_board_nominee" sequence="10"/>
<menuitem id="board_nominee_menu" name="Board Nominees" parent="membership_menu" action="action_board_nominee" sequence="2"/>
<menuitem id="board_nomination_menu" name="Board Membership Nominations" parent="membership_menu" action="action_board_membership_nomination"/>
<menuitem id="board_nomination_menu" name="Board Membership Nominations" parent="membership_menu" action="action_board_membership_nomination" sequence="1"/>
</odoo>