Browse Source

adress qualifier operation

master
raynald 4 years ago
parent
commit
643a134dd0
3 changed files with 5 additions and 283 deletions
  1. +0
    -135
      models/models.py
  2. +5
    -3
      security/ir.model.access.csv
  3. +0
    -145
      views/views.xml

+ 0
- 135
models/models.py View File

@ -1,135 +0,0 @@
# -*- coding: utf-8 -*-
from odoo import models, fields, api
from odoo.exceptions import UserError, ValidationError
from psycopg2 import sql, DatabaseError
from werkzeug import utils
class donation_categoryQualifier(models.Model):
_name = 'donation_qualifier.donation_categoryqualifier'
_description = 'categories pour les qualificatifs'
sql_constraints = [
('category_uniq', 'UNIQUE((name))', 'This name already exists.')
]
name = fields.Char('Name', required=True)
order= fields.Integer()
description = fields.Text()
@api.constrains('name')
def _check_name(self):
count=self.search_count([('name','=',self.name),('id', '!=', self.id)])
if count>0:
raise UserError('This name already exist')
# @api.depends('value')
# def _value_pc(self):
# for record in self:
# record.value2 = float(record.value) / 100
class donation_qualifier(models.Model):
_name = 'donation_qualifier.donation_qualifier'
_description = 'qualificatifs de contacts'
name = fields.Char()
type=fields.Selection([('checkbox','checkbox'),('text','text'),('numerical','numerical')], default='checkbox')
default_value = fields.Char()
description = fields.Text()
category_id = fields.Many2one(
'donation_qualifier.donation_categoryqualifier', string='Category', tracking=True,
required=True)
class donation_partnerqualifier(models.Model):
_name = 'donation_qualifier.donation_partnerqualifier'
_description = 'qualificatifs pour stocker les valeurs au niveau du contact'
# partner_id=fields.Many2one('res.partner',compute='compute_partner', inverse='partner_inverse')
# partner_ids = fields.One2many('res.partner', 'qualifier_id')
value=fields.Char()
qualifier_id=fields.Many2one('donation_qualifier.donation_qualifier',string='qualifier')
category = fields.Char(related='qualifier_id.category_id.name')
partner_id = fields.Many2one(
'res.partner',
string='partner',
required=True,
index=True,
readonly=True,
track_visibility='onchange',
ondelete='restrict'
)
sql_constraints = [
('qualifier_uniq', 'unique (qualifier_id,partner_id)', 'A qualifier could be defined only one time on same partner.')
]
@api.constrains('qualifier_id')
def _check_qualifier_id(self):
for q in self:
result=self.search_count([('qualifier_id','=',int(self.qualifier_id)),('id', '!=', self.id),('partner_id','=',int(self.partner_id))])
if result>0:
raise UserError('A qualifier could be defined only one time on same partner.')
# _sql_constraints = [
# ('code_company_uniq', 'unique (code,company_id)', 'The code of the account must be unique per company !')
# ]
# def validate(self):
# raise UserError(_(
# 'This qualifier %s can\'t be used twice')
# % donation_partnerqualifier.qualifier_id.name)
# for donation_partnerqualifier in self:
# vals={}
# if self.env['donation_qualifier.donation_qualifier'].search([('name','=',donation_partnerqualifier.qualifier_id.name)]):
# raise UserError(_(
# 'This qualifier %s can\'t be used twice')
# % donation_partnerqualifier.qualifier_id.name)
# vals['value']=donation_partnerqualifier.value
# vals['partner_id']=donation_partnerqualifier.partner_id
# vals['qualifier_id']=donation_partnerqualifier.qualifier_id
# donation_partnerqualifier.write(vals)
# return
# @api.depends('contact_ids')
# def compute_partner(self):
# if len(self.partner_ids) > 0:
# self.partner_id = self.partner_ids[0]
# def partner_inverse(self):
# if len(self.partner_ids) > 0:
# # delete previous reference
# partner = self.env['res.partner'].browse(self.partner_ids[0].id)
# partner.qualifier_id = False
# # set new reference
# self.partner_id.qualifier_id = self
class partner(models.Model):
_inherit = 'res.partner'
@api.depends('qualifier_ids.partner_id')
def _compute_qualifier_count(self):
# The current user may not have access rights for donations
for partner in self:
try:
partner.qualifier_count = len(partner.qualifier_ids)
except Exception:
partner.qualifier_count = 0
qualifier_ids = fields.One2many(
'donation_qualifier.donation_partnerqualifier',
'partner_id',
string='Qualifier',
readonly=True
)
qualifier_count = fields.Integer(
compute='_compute_qualifier_count',
string="# of Qualifiers",
readonly=True
)

+ 5
- 3
security/ir.model.access.csv View File

@ -1,4 +1,6 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_donation_qualifier_donation_qualifier,donation_qualifier.donation_qualifier,model_donation_qualifier_donation_qualifier,donation_main.group_donation_manager,1,1,1,1
access_donation_qualifier_donation_categoryqualifier,donation_qualifier.donation_categoryqualifier,model_donation_qualifier_donation_categoryqualifier,donation_main.group_donation_manager,1,1,1,1
access_donation_qualifier_donation_partnerqualifier,donation_qualifier.donation_partnerqualifier,model_donation_qualifier_donation_partnerqualifier,donation_main.group_donation_manager,1,1,1,1
access_opendons_qualifier_qualifier,opendons_qualifier.qualifier,model_opendons_qualifier_qualifier,donation_main.group_donation_manager,1,1,1,1
access_opendons_qualifier_category,opendons_qualifier.category,model_opendons_qualifier_category,donation_main.group_donation_manager,1,1,1,1
access_opendons_qualifier_partnerqualifier,opendons_qualifier.partnerqualifier,model_opendons_qualifier_partnerqualifier,donation_main.group_donation_manager,1,1,1,1
access_opendons_partneraddress,opendons.partneraddress,model_opendons_partneraddress,donation_main.group_donation_manager,1,1,1,1
access_opendons_operations,opendons.operations,model_opendons_operation,donation_main.group_donation_manager,1,1,1,1

+ 0
- 145
views/views.xml View File

@ -1,145 +0,0 @@
<odoo>
<data>
<!-- explicit list view definition -->
<record model="ir.ui.view" id="donation_qualifier.category_list">
<field name="name">donation_categoryQualifier list</field>
<field name="model">donation_qualifier.donation_categoryqualifier</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="description"/>
<field name="order"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="donation_qualifier.qualifier_list">
<field name="name">donation_qualifier list</field>
<field name="model">donation_qualifier.donation_qualifier</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
<field name="category_id"/>
<field name="type"/>
<field name="default_value"/>
<field name="description"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="donation_qualifier.partnerqualifier_list">
<field name="name">donation_partnerqualifier list</field>
<field name="model">donation_qualifier.donation_partnerqualifier</field>
<field name="arch" type="xml">
<tree>
<field name="category" string="category"/>
<field name="qualifier_id"/>
<field name="value"/>
</tree>
</field>
</record>
<record id="donation_qualifier.partnerqualifier_search" model="ir.ui.view">
<field name="name">donation_partnerqualifier.search</field>
<field name="model">donation_qualifier.donation_partnerqualifier</field>
<field name="arch" type="xml">
<search string="Search Qualifiers">
<field name="partner_id"/>
</search>
</field>
</record>
<record model="ir.ui.view" id="donation_qualifier.partnerqualifier_form" >
<field name="name">donation_partnerqualifier Form</field>
<field name="model">donation_qualifier.donation_partnerqualifier</field>
<field name="arch" type="xml">
<form string="partnerqualifier_form">
<sheet>
<label for="partner_id" string="Partner"/>
<field name="partner_id"/>
<br/>
<label for="qualifier_id" string="Qualifier"/>
<field name="qualifier_id"/>
<br/>
<label for="value" string="value"/>
<field name="value"/>
</sheet>
</form>
</field>
</record>
<!-- actions opening views on models -->
<record model="ir.actions.act_window" id="category_action">
<field name="name">categories</field>
<field name="res_model">donation_qualifier.donation_categoryqualifier</field>
<field name="view_mode">tree,form</field>
</record>
<record model="ir.actions.act_window" id="qualifier_action">
<field name="name">qualifiers</field>
<field name="res_model">donation_qualifier.donation_qualifier</field>
<field name="view_mode">tree,form</field>
</record>
<record model="ir.actions.act_window" id="partnerqualifier_action">
<field name="name">partnerqualifiers</field>
<field name="res_model">donation_qualifier.donation_partnerqualifier</field>
<field name="view_mode">tree,form</field>
</record>
<!-- server action to the one above -->
<!--
<record model="ir.actions.server" id="donation_qualifier.action_server">
<field name="name">donation_qualifier server</field>
<field name="model_id" ref="model_donation_qualifier_donation_qualifier"/>
<field name="state">code</field>
<field name="code">
action = {
"type": "ir.actions.act_window",
"view_mode": "tree,form",
"res_model": model._name,
}
</field>
</record>
-->
<!-- Top menu item -->
<!-- <menuitem name="donation_qualifier" id="donation_qualifier.menu_root" parent="contacts.menu_contacts"/> -->
<menuitem id="donation_qualifier_title_menu" name ="Qualifiers"
parent="donation_main.donation_top_menu" sequence="21"/>
<menuitem id="donation_qualifier_menu" action="qualifier_action"
parent="donation_qualifier_title_menu" sequence="1"/>
<menuitem id="donation_categoryqualifier_menu" action="category_action"
parent="donation_qualifier_title_menu" sequence="2"/>
<!-- entries menu -->
<!-- <menuitem name="categories" id="donation_qualifier.category" parent="donation_qualifier_menu" action="donation_qualifier.category_action_window"/>
<menuitem name="qualifiers" id="donation_qualifier.qualifier" parent="donation_qualifier_menu" action="donation_qualifier.qualifier_action_window"/> -->
<!-- actions -->
<!-- <menuitem name="List" id="donation_qualifier.menu_1_list" parent="donation_qualifier.menu_1"
action="donation_qualifier.action_window"/> -->
<!-- <menuitem name="Server to list" id="donation_qualifier" parent="donation_qualifier.menu_2"
action="donation_qualifier.action_server"/> -->
</data>
</odoo>

Loading…
Cancel
Save