|
@ -131,19 +131,34 @@ class subscription_request(models.Model): |
|
|
for sub_request in self: |
|
|
for sub_request in self: |
|
|
sub_request.subscription_amount = sub_request.share_product_id.list_price * sub_request.ordered_parts |
|
|
sub_request.subscription_amount = sub_request.share_product_id.list_price * sub_request.ordered_parts |
|
|
|
|
|
|
|
|
already_cooperator = fields.Boolean(string="I'm already cooperator") |
|
|
|
|
|
|
|
|
already_cooperator = fields.Boolean(string="I'm already cooperator", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
name = fields.Char(string='Name', |
|
|
name = fields.Char(string='Name', |
|
|
required=True) |
|
|
|
|
|
firstname = fields.Char(string='Firstname') |
|
|
|
|
|
lastname = fields.Char(string='Lastname') |
|
|
|
|
|
birthdate = fields.Date(string="Birthdate") |
|
|
|
|
|
|
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
firstname = fields.Char(string='Firstname', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
lastname = fields.Char(string='Lastname', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
birthdate = fields.Date(string="Birthdate", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
gender = fields.Selection([('male', _('Male')), |
|
|
gender = fields.Selection([('male', _('Male')), |
|
|
('female', _('Female')), |
|
|
('female', _('Female')), |
|
|
('other', _('Other'))], string='Gender') |
|
|
|
|
|
|
|
|
('other', _('Other'))], |
|
|
|
|
|
string='Gender', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
type = fields.Selection([('new', 'New Cooperator'), |
|
|
type = fields.Selection([('new', 'New Cooperator'), |
|
|
('subscription', 'Subscription'), |
|
|
('subscription', 'Subscription'), |
|
|
('increase', 'Increase number of share')], |
|
|
('increase', 'Increase number of share')], |
|
|
string='Type', default="new") |
|
|
|
|
|
|
|
|
string='Type', default="new", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
state = fields.Selection([('draft', 'Draft'), |
|
|
state = fields.Selection([('draft', 'Draft'), |
|
|
('block', 'Blocked'), |
|
|
('block', 'Blocked'), |
|
|
('done', 'Done'), |
|
|
('done', 'Done'), |
|
@ -152,34 +167,63 @@ class subscription_request(models.Model): |
|
|
('cancelled', 'Cancelled'), |
|
|
('cancelled', 'Cancelled'), |
|
|
('paid', 'paid')], |
|
|
('paid', 'paid')], |
|
|
string='State', required=True, default="draft") |
|
|
string='State', required=True, default="draft") |
|
|
email = fields.Char(string='Email', required=True) |
|
|
|
|
|
iban = fields.Char(string='Account Number') |
|
|
|
|
|
|
|
|
email = fields.Char(string='Email', |
|
|
|
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
iban = fields.Char(string='Account Number', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
partner_id = fields.Many2one('res.partner', |
|
|
partner_id = fields.Many2one('res.partner', |
|
|
string='Cooperator') |
|
|
|
|
|
|
|
|
string='Cooperator', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
share_product_id = fields.Many2one('product.product', |
|
|
share_product_id = fields.Many2one('product.product', |
|
|
string='Share type', |
|
|
string='Share type', |
|
|
domain=[('is_share', '=', True)], |
|
|
domain=[('is_share', '=', True)], |
|
|
required=True) |
|
|
|
|
|
|
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
share_short_name = fields.Char(related='share_product_id.short_name', |
|
|
share_short_name = fields.Char(related='share_product_id.short_name', |
|
|
string='Share type name') |
|
|
|
|
|
|
|
|
string='Share type name', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
share_unit_price = fields.Float(related='share_product_id.list_price', |
|
|
share_unit_price = fields.Float(related='share_product_id.list_price', |
|
|
string='Share price') |
|
|
|
|
|
|
|
|
string='Share price', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
subscription_amount = fields.Float(compute='_compute_subscription_amount', |
|
|
subscription_amount = fields.Float(compute='_compute_subscription_amount', |
|
|
string='Subscription amount') |
|
|
|
|
|
|
|
|
string='Subscription amount', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
ordered_parts = fields.Integer(string='Number of Share', |
|
|
ordered_parts = fields.Integer(string='Number of Share', |
|
|
required=True) |
|
|
|
|
|
|
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
address = fields.Char(string='Address', |
|
|
address = fields.Char(string='Address', |
|
|
required=True) |
|
|
|
|
|
|
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
city = fields.Char(string='City', |
|
|
city = fields.Char(string='City', |
|
|
required=True) |
|
|
|
|
|
|
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
zip_code = fields.Char(string='Zip Code', |
|
|
zip_code = fields.Char(string='Zip Code', |
|
|
required=True) |
|
|
|
|
|
|
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
country_id = fields.Many2one('res.country', |
|
|
country_id = fields.Many2one('res.country', |
|
|
string='Country', |
|
|
string='Country', |
|
|
ondelete='restrict', |
|
|
ondelete='restrict', |
|
|
required=True) |
|
|
|
|
|
phone = fields.Char(string='Phone') |
|
|
|
|
|
no_registre = fields.Char(string='National Register Number') |
|
|
|
|
|
|
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
phone = fields.Char(string='Phone', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
no_registre = fields.Char(string='National Register Number', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
user_id = fields.Many2one('res.users', |
|
|
user_id = fields.Many2one('res.users', |
|
|
string='Responsible', |
|
|
string='Responsible', |
|
|
readonly=True) |
|
|
readonly=True) |
|
@ -192,52 +236,89 @@ class subscription_request(models.Model): |
|
|
" register number and on the iban bank" |
|
|
" register number and on the iban bank" |
|
|
" account. To be done in case of the id" |
|
|
" account. To be done in case of the id" |
|
|
" card is from abroad or in case of" |
|
|
" card is from abroad or in case of" |
|
|
" a passport") |
|
|
|
|
|
|
|
|
" a passport", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
lang = fields.Selection(_lang_get, |
|
|
lang = fields.Selection(_lang_get, |
|
|
string='Language', |
|
|
string='Language', |
|
|
required=True, |
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}, |
|
|
default=lambda self: self.env['res.company']._company_default_get().default_lang_id.code) |
|
|
default=lambda self: self.env['res.company']._company_default_get().default_lang_id.code) |
|
|
date = fields.Date(string='Subscription date request', |
|
|
date = fields.Date(string='Subscription date request', |
|
|
required=True, |
|
|
required=True, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}, |
|
|
default=lambda self: datetime.strftime(datetime.now(), '%Y-%m-%d')) |
|
|
default=lambda self: datetime.strftime(datetime.now(), '%Y-%m-%d')) |
|
|
company_id = fields.Many2one('res.company', string='Company', required=True, |
|
|
company_id = fields.Many2one('res.company', string='Company', required=True, |
|
|
change_default=True, |
|
|
change_default=True, |
|
|
readonly=True, |
|
|
readonly=True, |
|
|
default=lambda self: self.env['res.company']._company_default_get()) |
|
|
default=lambda self: self.env['res.company']._company_default_get()) |
|
|
is_company = fields.Boolean(string='Is a company') |
|
|
|
|
|
is_operation = fields.Boolean(string='Is an operation') |
|
|
|
|
|
company_name = fields.Char(string="Company name") |
|
|
|
|
|
company_email = fields.Char(string="Company email") |
|
|
|
|
|
company_register_number = fields.Char(string='Company register number') |
|
|
|
|
|
|
|
|
is_company = fields.Boolean(string='Is a company', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
is_operation = fields.Boolean(string='Is an operation', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
company_name = fields.Char(string="Company name", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
company_email = fields.Char(string="Company email", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
company_register_number = fields.Char(string='Company register number', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
company_type = fields.Selection([('scrl', 'SCRL'), |
|
|
company_type = fields.Selection([('scrl', 'SCRL'), |
|
|
('asbl', 'ASBL'), |
|
|
('asbl', 'ASBL'), |
|
|
('sprl', 'SPRL'), |
|
|
('sprl', 'SPRL'), |
|
|
('sa', 'SA'), |
|
|
('sa', 'SA'), |
|
|
('other', 'Other')]) |
|
|
|
|
|
same_address = fields.Boolean(string='Same address') |
|
|
|
|
|
activities_address = fields.Char(string='Activities address') |
|
|
|
|
|
activities_city = fields.Char(string='Activities city') |
|
|
|
|
|
activities_zip_code = fields.Char(string='Activities zip Code') |
|
|
|
|
|
|
|
|
('other', 'Other')], |
|
|
|
|
|
string="Company type", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
same_address = fields.Boolean(string='Same address', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
activities_address = fields.Char(string='Activities address', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
activities_city = fields.Char(string='Activities city', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
activities_zip_code = fields.Char(string='Activities zip Code', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
activities_country_id = fields.Many2one('res.country', |
|
|
activities_country_id = fields.Many2one('res.country', |
|
|
string='Activities country', |
|
|
string='Activities country', |
|
|
ondelete='restrict') |
|
|
|
|
|
contact_person_function = fields.Char(string='Function') |
|
|
|
|
|
|
|
|
ondelete='restrict', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
|
|
|
contact_person_function = fields.Char(string='Function', |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
operation_request_id = fields.Many2one('operation.request', |
|
|
operation_request_id = fields.Many2one('operation.request', |
|
|
string="Operation Request") |
|
|
|
|
|
is_operation = fields.Boolean(string="Is Operation request") |
|
|
|
|
|
|
|
|
string="Operation Request", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
capital_release_request = fields.One2many('account.invoice', |
|
|
capital_release_request = fields.One2many('account.invoice', |
|
|
'subscription_request', |
|
|
'subscription_request', |
|
|
string='Capital release request', |
|
|
string='Capital release request', |
|
|
readonly=True) |
|
|
|
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
capital_release_request_date = fields.Date(string="Force the capital release request date", |
|
|
capital_release_request_date = fields.Date(string="Force the capital release request date", |
|
|
help="Keep empty to use the current date", |
|
|
help="Keep empty to use the current date", |
|
|
copy=False) |
|
|
|
|
|
|
|
|
copy=False, |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
source = fields.Selection([('website', 'Website'), |
|
|
source = fields.Selection([('website', 'Website'), |
|
|
('crm', 'CRM'), |
|
|
('crm', 'CRM'), |
|
|
('manual', 'Manual'), |
|
|
('manual', 'Manual'), |
|
|
('operation', 'Operation')], |
|
|
('operation', 'Operation')], |
|
|
string="Source", |
|
|
string="Source", |
|
|
default="website") |
|
|
|
|
|
|
|
|
default="website", |
|
|
|
|
|
readonly=True, |
|
|
|
|
|
states={'draft': [('readonly', False)]}) |
|
|
_order = "id desc" |
|
|
_order = "id desc" |
|
|
|
|
|
|
|
|
# declare this function in order to be overriden |
|
|
# declare this function in order to be overriden |
|
@ -310,7 +391,7 @@ class subscription_request(models.Model): |
|
|
partner_vals = {'name': self.company_name, |
|
|
partner_vals = {'name': self.company_name, |
|
|
'last_name': self.company_name, |
|
|
'last_name': self.company_name, |
|
|
'is_company': self.is_company, |
|
|
'is_company': self.is_company, |
|
|
'company_register_number': self.company_register_number, |
|
|
|
|
|
|
|
|
'company_register_number': self.company_register_number, #noqa |
|
|
'customer': False, 'cooperator': True, |
|
|
'customer': False, 'cooperator': True, |
|
|
'street': self.address, 'zip': self.zip_code, |
|
|
'street': self.address, 'zip': self.zip_code, |
|
|
'city': self.city, 'email': self.company_email, |
|
|
'city': self.city, 'email': self.company_email, |
|
|