Update version and remove features of another module
This commit is contained in:
parent
dced7a4cad
commit
aa69dcc114
|
@ -1,4 +1,4 @@
|
||||||
Copyright (C) 2010-2022 Oscar Alvarez
|
Copyright (C) 2010-2023 Oscar Alvarez
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
4
PKG-INFO
4
PKG-INFO
|
@ -1,12 +1,12 @@
|
||||||
Metadata-Version: 1.0
|
Metadata-Version: 1.0
|
||||||
Name: trytond_crm
|
Name: trytond_crm
|
||||||
Version: 6.0.2
|
Version: 6.0.11
|
||||||
Summary: Organize, automate, and synchronize business processes—principally sales activities, customer service, and technical support.
|
Summary: Organize, automate, and synchronize business processes—principally sales activities, customer service, and technical support.
|
||||||
Home-page: http://www.tryton.org/
|
Home-page: http://www.tryton.org/
|
||||||
Author: Oscar Alvarez
|
Author: Oscar Alvarez
|
||||||
Author-email: oscar.alvarez.montero@gmail.com
|
Author-email: oscar.alvarez.montero@gmail.com
|
||||||
License: GPL-3
|
License: GPL-3
|
||||||
Download-URL: http://downloads.tryton.org/3.4/
|
Download-URL: http://downloads.tryton.org/6.0/
|
||||||
Description: UNKNOWN
|
Description: UNKNOWN
|
||||||
Platform: UNKNOWN
|
Platform: UNKNOWN
|
||||||
Classifier: Development Status :: 5 - Production/Stable
|
Classifier: Development Status :: 5 - Production/Stable
|
||||||
|
|
|
@ -10,7 +10,6 @@ from . import sale
|
||||||
from . import survey
|
from . import survey
|
||||||
from . import activity
|
from . import activity
|
||||||
from . import opportunity
|
from . import opportunity
|
||||||
from . import party_validation
|
|
||||||
from . import company
|
from . import company
|
||||||
from . import dash
|
from . import dash
|
||||||
from . import commission
|
from . import commission
|
||||||
|
@ -38,10 +37,6 @@ def register():
|
||||||
opportunity.OpportunityCancellReason,
|
opportunity.OpportunityCancellReason,
|
||||||
opportunity.OpportunitySaleConditions,
|
opportunity.OpportunitySaleConditions,
|
||||||
ir.Cron,
|
ir.Cron,
|
||||||
party_validation.ValidationTemplate,
|
|
||||||
party_validation.ValidationTemplateAsk,
|
|
||||||
party_validation.OpportunityValidation,
|
|
||||||
party_validation.ValidationHistoryAsk,
|
|
||||||
company.Company,
|
company.Company,
|
||||||
dash.DashApp,
|
dash.DashApp,
|
||||||
dash.AppCRMSales,
|
dash.AppCRMSales,
|
||||||
|
|
36
activity.py
36
activity.py
|
@ -23,11 +23,11 @@ class Activity(Workflow, ModelSQL, ModelView):
|
||||||
customer = fields.Many2One('party.party', 'Customer', states=STATES, select=True)
|
customer = fields.Many2One('party.party', 'Customer', states=STATES, select=True)
|
||||||
subject = fields.Char('Subject', states=STATES, select=True)
|
subject = fields.Char('Subject', states=STATES, select=True)
|
||||||
media = fields.Selection([
|
media = fields.Selection([
|
||||||
('phone', 'Phone'),
|
('phone', 'Phone'),
|
||||||
('mobile', 'Mobile'),
|
('mobile', 'Mobile'),
|
||||||
('videochat', 'Videochat'),
|
('videochat', 'Videochat'),
|
||||||
('email', 'Email'),
|
('email', 'Email'),
|
||||||
], 'Media', states=STATES, depends=['state'], required=True)
|
], 'Media', states=STATES, depends=['state'], required=True)
|
||||||
media_info = fields.Char('Media Info', states=STATES)
|
media_info = fields.Char('Media Info', states=STATES)
|
||||||
planned_date = fields.Date('Planned Date', states=STATES, required=True)
|
planned_date = fields.Date('Planned Date', states=STATES, required=True)
|
||||||
effective_date = fields.Date('Effective Date', states=STATES)
|
effective_date = fields.Date('Effective Date', states=STATES)
|
||||||
|
@ -57,19 +57,19 @@ class Activity(Workflow, ModelSQL, ModelView):
|
||||||
('cancelled', 'draft'),
|
('cancelled', 'draft'),
|
||||||
))
|
))
|
||||||
cls._buttons.update({
|
cls._buttons.update({
|
||||||
'draft': {
|
'draft': {
|
||||||
'invisible': Eval('state').in_(['draft', 'done']),
|
'invisible': Eval('state').in_(['draft', 'done']),
|
||||||
},
|
},
|
||||||
'cancel': {
|
'cancel': {
|
||||||
'invisible': Eval('state').in_(['cancelled', 'done']),
|
'invisible': Eval('state').in_(['cancelled', 'done']),
|
||||||
},
|
},
|
||||||
'pending': {
|
'pending': {
|
||||||
'invisible': Eval('state') != 'draft',
|
'invisible': Eval('state') != 'draft',
|
||||||
},
|
},
|
||||||
'done': {
|
'done': {
|
||||||
'invisible': Eval('state') != 'pending',
|
'invisible': Eval('state') != 'pending',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def default_company():
|
def default_company():
|
||||||
|
|
12
contract.py
12
contract.py
|
@ -1,12 +0,0 @@
|
||||||
from trytond.pool import PoolMeta
|
|
||||||
from trytond.model import fields
|
|
||||||
|
|
||||||
|
|
||||||
# class Contract(metaclass=PoolMeta):
|
|
||||||
# __name__ = 'sale.contract'
|
|
||||||
# department = fields.Many2One('company.department', 'Department', states={'required': False})
|
|
||||||
#
|
|
||||||
# @classmethod
|
|
||||||
# def _get_origin(cls):
|
|
||||||
# 'Return list of Model names for origin Reference'
|
|
||||||
# return super(Contract, cls)._get_origin() + ['crm.opportunity']
|
|
|
@ -66,13 +66,13 @@ class CustomerService(Workflow, ModelSQL, ModelView):
|
||||||
}, select=True)
|
}, select=True)
|
||||||
route = fields.Char('Route', states=STATES, select=True)
|
route = fields.Char('Route', states=STATES, select=True)
|
||||||
customer = fields.Char('Customer', states=STATES,
|
customer = fields.Char('Customer', states=STATES,
|
||||||
required=True, select=True)
|
required=True, select=True)
|
||||||
address = fields.Char('Address', states=STATES, select=True,
|
address = fields.Char('Address', states=STATES, select=True,
|
||||||
depends=['party'])
|
depends=['party'])
|
||||||
phone = fields.Char('Phone', states=STATES, select=True,
|
phone = fields.Char('Phone', states=STATES, select=True,
|
||||||
depends=['party'])
|
depends=['party'])
|
||||||
city = fields.Char('City', states=STATES, select=True,
|
city = fields.Char('City', states=STATES, select=True,
|
||||||
depends=['party'])
|
depends=['party'])
|
||||||
case = fields.Many2One('crm.case', 'Case', states=STATES,
|
case = fields.Many2One('crm.case', 'Case', states=STATES,
|
||||||
required=True, domain=[
|
required=True, domain=[
|
||||||
('parent', '!=', None),
|
('parent', '!=', None),
|
||||||
|
@ -128,27 +128,27 @@ class CustomerService(Workflow, ModelSQL, ModelView):
|
||||||
cls._order.insert(0, ('create_date', 'DESC'))
|
cls._order.insert(0, ('create_date', 'DESC'))
|
||||||
cls._order.insert(1, ('id', 'DESC'))
|
cls._order.insert(1, ('id', 'DESC'))
|
||||||
cls._transitions |= set((
|
cls._transitions |= set((
|
||||||
('draft', 'open'),
|
('draft', 'open'),
|
||||||
('open', 'draft'),
|
('open', 'draft'),
|
||||||
('open', 'close'),
|
('open', 'close'),
|
||||||
('open', 'cancelled'),
|
('open', 'cancelled'),
|
||||||
('close', 'cancelled'),
|
('close', 'cancelled'),
|
||||||
('cancelled', 'draft'),
|
('cancelled', 'draft'),
|
||||||
))
|
))
|
||||||
cls._buttons.update({
|
cls._buttons.update({
|
||||||
'draft': {
|
'draft': {
|
||||||
'invisible': Eval('state').in_(['draft','close'])
|
'invisible': Eval('state').in_(['draft', 'close'])
|
||||||
},
|
},
|
||||||
'cancel': {
|
'cancel': {
|
||||||
'invisible': Eval('state') == 'cancelled',
|
'invisible': Eval('state') == 'cancelled',
|
||||||
},
|
},
|
||||||
'open': {
|
'open': {
|
||||||
'invisible': Eval('state') != 'draft',
|
'invisible': Eval('state') != 'draft',
|
||||||
},
|
},
|
||||||
'close': {
|
'close': {
|
||||||
'invisible': Eval('state') != 'open',
|
'invisible': Eval('state') != 'open',
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def default_company():
|
def default_company():
|
||||||
|
@ -313,10 +313,11 @@ class CustomerServiceIndicatorsStart(ModelView):
|
||||||
class CustomerServiceIndicators(Wizard):
|
class CustomerServiceIndicators(Wizard):
|
||||||
'Customer Service Indicators'
|
'Customer Service Indicators'
|
||||||
__name__ = 'crm.customer_service_indicators'
|
__name__ = 'crm.customer_service_indicators'
|
||||||
start = StateView('crm.customer_service_indicators.start',
|
start = StateView(
|
||||||
|
'crm.customer_service_indicators.start',
|
||||||
'crm.customer_service_indicators_start_view_form', [
|
'crm.customer_service_indicators_start_view_form', [
|
||||||
Button('Cancel', 'end', 'tryton-cancel'),
|
Button('Cancel', 'end', 'tryton-cancel'),
|
||||||
Button('Print', 'print_', 'tryton-ok', default=True),
|
Button('Print', 'print_', 'tryton-ok', default=True),
|
||||||
])
|
])
|
||||||
print_ = StateReport('crm.customer_service_indicators_report')
|
print_ = StateReport('crm.customer_service_indicators_report')
|
||||||
|
|
||||||
|
@ -416,9 +417,9 @@ class EfficacyMonthStart(ModelView):
|
||||||
fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
|
fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
|
||||||
required=True)
|
required=True)
|
||||||
month = fields.Many2One('account.period', 'Month',
|
month = fields.Many2One('account.period', 'Month',
|
||||||
depends=['fiscalyear'], required=True, domain=[
|
depends=['fiscalyear'], required=True, domain=[
|
||||||
('fiscalyear', '=', Eval('fiscalyear')),
|
('fiscalyear', '=', Eval('fiscalyear')),
|
||||||
])
|
])
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def default_company():
|
def default_company():
|
||||||
|
@ -434,11 +435,12 @@ class EfficacyMonthStart(ModelView):
|
||||||
class EfficacyMonth(Wizard):
|
class EfficacyMonth(Wizard):
|
||||||
'Efficacy Month'
|
'Efficacy Month'
|
||||||
__name__ = 'crm.efficacy_month'
|
__name__ = 'crm.efficacy_month'
|
||||||
start = StateView('crm.efficacy_month.start',
|
start = StateView(
|
||||||
|
'crm.efficacy_month.start',
|
||||||
'crm.efficacy_month_start_view_form', [
|
'crm.efficacy_month_start_view_form', [
|
||||||
Button('Cancel', 'end', 'tryton-cancel'),
|
Button('Cancel', 'end', 'tryton-cancel'),
|
||||||
Button('Print', 'print_', 'tryton-ok', default=True),
|
Button('Print', 'print_', 'tryton-ok', default=True),
|
||||||
])
|
])
|
||||||
print_ = StateReport('crm.efficacy_month_report')
|
print_ = StateReport('crm.efficacy_month_report')
|
||||||
|
|
||||||
def do_print_(self, action):
|
def do_print_(self, action):
|
||||||
|
|
46
dash.xml
46
dash.xml
|
@ -39,51 +39,7 @@ this repository contains the full copyright notices and license terms. -->
|
||||||
<field name="active">True</field>
|
<field name="active">True</field>
|
||||||
<field name="app_name">crm_marketing</field>
|
<field name="app_name">crm_marketing</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
|
|
||||||
<data>
|
|
||||||
|
|
||||||
<!-- <record model="dash.report" id="dash_report_checkin_today">
|
|
||||||
<field name="name">Check-In Today</field>
|
|
||||||
<field name="model">hotel.folio</field>
|
|
||||||
<field name="type">card_info</field>
|
|
||||||
<field name="method">report_check_in_today</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="dash.report" id="dash_report_checkout_today">
|
|
||||||
<field name="name">Check-Out Today</field>
|
|
||||||
<field name="model">hotel.folio</field>
|
|
||||||
<field name="type">card_info</field>
|
|
||||||
<field name="method">report_check_out_today</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="dash.report" id="dash_report_occupation_by_room">
|
|
||||||
<field name="name">Occupation Today</field>
|
|
||||||
<field name="model">hotel.folio</field>
|
|
||||||
<field name="type">card_info</field>
|
|
||||||
<field name="method">report_occupation_by_room</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="dash.report" id="dash_report_number_guests">
|
|
||||||
<field name="name">Number Guests</field>
|
|
||||||
<field name="model">hotel.folio</field>
|
|
||||||
<field name="type">card_info</field>
|
|
||||||
<field name="method">report_number_guests</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="dash.report" id="dash_report_current_occupancy_rate">
|
|
||||||
<field name="name">Current Occupancy Rate</field>
|
|
||||||
<field name="model">hotel.folio</field>
|
|
||||||
<field name="type">card_info</field>
|
|
||||||
<field name="method">report_current_occupancy_rate</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="dash.report" id="dash_report_month_occupancy_rate">
|
|
||||||
<field name="name">Month Occupancy Rate</field>
|
|
||||||
<field name="model">hotel.folio</field>
|
|
||||||
<field name="type">line</field>
|
|
||||||
<field name="method">report_month_occupancy_rate</field>
|
|
||||||
</record> -->
|
|
||||||
|
|
||||||
</data>
|
|
||||||
</tryton>
|
</tryton>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
31042
opportunity (copy).fodt
31042
opportunity (copy).fodt
File diff suppressed because it is too large
Load Diff
33063
opportunity.fodt
33063
opportunity.fodt
File diff suppressed because it is too large
Load Diff
600
opportunity.xml
600
opportunity.xml
|
@ -3,18 +3,13 @@
|
||||||
this repository contains the full copyright notices and license terms. -->
|
this repository contains the full copyright notices and license terms. -->
|
||||||
<tryton>
|
<tryton>
|
||||||
<data>
|
<data>
|
||||||
<record model="ir.sequence.type" id="sequence_type_crm_opportunity">
|
<record model="ir.sequence.type" id="sequence_type_crm_opportunity">
|
||||||
<field name="name">CRM Opportunity</field>
|
<field name="name">CRM Opportunity</field>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.sequence" id="sequence_crm_opportunity">
|
<record model="ir.sequence" id="sequence_crm_opportunity">
|
||||||
<field name="sequence_type" ref="sequence_type_crm_opportunity"/>
|
<field name="sequence_type" ref="sequence_type_crm_opportunity"/>
|
||||||
<field name="name">CRM Opportunity</field>
|
<field name="name">CRM Opportunity</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- <record model="ir.ui.icon" id="sale_opportunity">
|
|
||||||
<field name="name">tryton-sale-opportunity</field>
|
|
||||||
<field name="path">icons/tryton-sale-opportunity.svg</field>
|
|
||||||
</record> -->
|
|
||||||
|
|
||||||
<record model="res.group" id="group_crm_opportunity">
|
<record model="res.group" id="group_crm_opportunity">
|
||||||
<field name="name">CRM Opportunity</field>
|
<field name="name">CRM Opportunity</field>
|
||||||
|
@ -109,418 +104,199 @@ this repository contains the full copyright notices and license terms. -->
|
||||||
<field name="count" eval="True"/>
|
<field name="count" eval="True"/>
|
||||||
<field name="act_window" ref="act_crm_opportunity_form"/>
|
<field name="act_window" ref="act_crm_opportunity_form"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.action.act_window.domain"
|
<record model="ir.action.act_window.domain"
|
||||||
id="act_crm_opportunity_form_domain_cancelled">
|
id="act_crm_opportunity_form_domain_cancelled">
|
||||||
<field name="name">Cancelled</field>
|
<field name="name">Cancelled</field>
|
||||||
<field name="sequence" eval="50"/>
|
<field name="sequence" eval="50"/>
|
||||||
<field name="domain"
|
<field name="domain"
|
||||||
eval="[('state', '=', 'cancelled')]" pyson="1"/>
|
eval="[('state', '=', 'cancelled')]" pyson="1"/>
|
||||||
<field name="count" eval="True"/>
|
<field name="count" eval="True"/>
|
||||||
<field name="act_window" ref="act_crm_opportunity_form"/>
|
<field name="act_window" ref="act_crm_opportunity_form"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.action.act_window.domain"
|
<record model="ir.action.act_window.domain"
|
||||||
id="act_crm_opportunity_form_domain_all">
|
id="act_crm_opportunity_form_domain_all">
|
||||||
<field name="name">All</field>
|
<field name="name">All</field>
|
||||||
<field name="sequence" eval="9999"/>
|
<field name="sequence" eval="9999"/>
|
||||||
<field name="domain"></field>
|
<field name="domain"></field>
|
||||||
<field name="count" eval="True"/>
|
<field name="count" eval="True"/>
|
||||||
<field name="act_window" ref="act_crm_opportunity_form"/>
|
<field name="act_window" ref="act_crm_opportunity_form"/>
|
||||||
</record>
|
</record>
|
||||||
<menuitem
|
<menuitem
|
||||||
parent="crm.menu_crm"
|
parent="crm.menu_crm"
|
||||||
action="act_crm_opportunity_form"
|
action="act_crm_opportunity_form"
|
||||||
sequence="5"
|
sequence="5"
|
||||||
id="menu_crm_opportunity_form"/>
|
id="menu_crm_opportunity_form"/>
|
||||||
<record model="ir.ui.menu-res.group"
|
<record model="ir.ui.menu-res.group"
|
||||||
id="menu_sale_crm_opportunity_group_opportunity">
|
id="menu_sale_crm_opportunity_group_opportunity">
|
||||||
<field name="menu" ref="sale.menu_sale"/>
|
<field name="menu" ref="sale.menu_sale"/>
|
||||||
<field name="group" ref="group_crm_opportunity"/>
|
<field name="group" ref="group_crm_opportunity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.model.access" id="access_crm_opportunity">
|
<record model="ir.model.access" id="access_crm_opportunity">
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
||||||
<field name="perm_read" eval="False"/>
|
<field name="perm_read" eval="False"/>
|
||||||
<field name="perm_write" eval="False"/>
|
<field name="perm_write" eval="False"/>
|
||||||
<field name="perm_create" eval="False"/>
|
<field name="perm_create" eval="False"/>
|
||||||
<field name="perm_delete" eval="False"/>
|
<field name="perm_delete" eval="False"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.model.access" id="access_crm_opportunity_sale">
|
<record model="ir.model.access" id="access_crm_opportunity_sale">
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
||||||
<field name="group" ref="crm.group_crm"/>
|
<field name="group" ref="crm.group_crm"/>
|
||||||
<field name="perm_read" eval="True"/>
|
<field name="perm_read" eval="True"/>
|
||||||
<field name="perm_write" eval="False"/>
|
<field name="perm_write" eval="False"/>
|
||||||
<field name="perm_create" eval="False"/>
|
<field name="perm_create" eval="False"/>
|
||||||
<field name="perm_delete" eval="False"/>
|
<field name="perm_delete" eval="False"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.model.access" id="access_crm_opportunity_oppotunity">
|
<record model="ir.model.access" id="access_crm_opportunity_oppotunity">
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
||||||
<field name="group" ref="group_crm_opportunity"/>
|
<field name="group" ref="group_crm_opportunity"/>
|
||||||
<field name="perm_read" eval="True"/>
|
<field name="perm_read" eval="True"/>
|
||||||
<field name="perm_write" eval="True"/>
|
<field name="perm_write" eval="True"/>
|
||||||
<field name="perm_create" eval="True"/>
|
<field name="perm_create" eval="True"/>
|
||||||
<field name="perm_delete" eval="True"/>
|
<field name="perm_delete" eval="True"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.model.button" id="crm_opportunity_lead_button">
|
<record model="ir.model.button" id="crm_opportunity_lead_button">
|
||||||
<field name="name">lead</field>
|
<field name="name">lead</field>
|
||||||
<field name="string">Set as Lead</field>
|
<field name="string">Set as Lead</field>
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.model.button-res.group"
|
<record model="ir.model.button-res.group"
|
||||||
id="crm_opportunity_lead_button_group_opportinity">
|
id="crm_opportunity_lead_button_group_opportinity">
|
||||||
<field name="button" ref="crm_opportunity_lead_button"/>
|
<field name="button" ref="crm_opportunity_lead_button"/>
|
||||||
<field name="group" ref="group_crm_opportunity"/>
|
<field name="group" ref="group_crm_opportunity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.model.button" id="crm_opportunity_opportunity_button">
|
<record model="ir.model.button" id="crm_opportunity_opportunity_button">
|
||||||
<field name="name">opportunity</field>
|
<field name="name">opportunity</field>
|
||||||
<field name="string">Convert to Opportunity</field>
|
<field name="string">Convert to Opportunity</field>
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.model.button-res.group"
|
<record model="ir.model.button-res.group"
|
||||||
id="crm_opportunity_opportunity_button_group_opportunity">
|
id="crm_opportunity_opportunity_button_group_opportunity">
|
||||||
<field name="button" ref="crm_opportunity_opportunity_button"/>
|
<field name="button" ref="crm_opportunity_opportunity_button"/>
|
||||||
<field name="group" ref="group_crm_opportunity"/>
|
<field name="group" ref="group_crm_opportunity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.model.button" id="crm_opportunity_convert_button">
|
<record model="ir.model.button" id="crm_opportunity_convert_button">
|
||||||
<field name="name">convert</field>
|
<field name="name">convert</field>
|
||||||
<field name="string">Convert to Sale</field>
|
<field name="string">Convert to Sale</field>
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.model.button-res.group"
|
<record model="ir.model.button-res.group"
|
||||||
id="crm_opportunity_convert_button_group_opportinity">
|
id="crm_opportunity_convert_button_group_opportinity">
|
||||||
<field name="button" ref="crm_opportunity_convert_button"/>
|
<field name="button" ref="crm_opportunity_convert_button"/>
|
||||||
<field name="group" ref="group_crm_opportunity"/>
|
<field name="group" ref="group_crm_opportunity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.model.button" id="crm_opportunity_lost_button">
|
<record model="ir.model.button" id="crm_opportunity_lost_button">
|
||||||
<field name="name">lost</field>
|
<field name="name">lost</field>
|
||||||
<field name="string">Mark as Lost</field>
|
<field name="string">Mark as Lost</field>
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.model.button-res.group"
|
<record model="ir.model.button-res.group"
|
||||||
id="crm_opportunity_lost_button_group_opportinity">
|
id="crm_opportunity_lost_button_group_opportinity">
|
||||||
<field name="button" ref="crm_opportunity_lost_button"/>
|
<field name="button" ref="crm_opportunity_lost_button"/>
|
||||||
<field name="group" ref="group_crm_opportunity"/>
|
<field name="group" ref="group_crm_opportunity"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- <record model="ir.model.button" id="crm_opportunity_cancel_button">
|
<record model="ir.rule.group" id="rule_group_crm_opportunity_companies">
|
||||||
<field name="name">cancel</field>
|
<field name="name">User in companies</field>
|
||||||
<field name="string">Cancel</field>
|
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="global_p" eval="True"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.model.button-res.group"
|
<record model="ir.rule" id="rule_crm_opportunity_companies">
|
||||||
id="crm_opportunity_cancel_button_group_opportinity">
|
<field name="domain"
|
||||||
<field name="button" ref="crm_opportunity_cancel_button"/>
|
eval="[('company', 'in', Eval('companies', []))]"
|
||||||
<field name="group" ref="group_crm_opportunity"/>
|
pyson="1"/>
|
||||||
</record> -->
|
<field name="rule_group" ref="rule_group_crm_opportunity_companies"/>
|
||||||
|
</record>
|
||||||
|
|
||||||
<record model="ir.rule.group" id="rule_group_crm_opportunity_companies">
|
<!-- <record model="ir.action.act_window" id="act_open_sale_form">
|
||||||
<field name="name">User in companies</field>
|
<field name="name">Sales</field>
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
|
<field name="res_model">sale.sale</field>
|
||||||
<field name="global_p" eval="True"/>
|
<field name="domain"
|
||||||
</record>
|
eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('origin.id', '=', Eval('active_id'), 'crm.opportunity'), ('origin.id', 'in', Eval('active_ids'), 'crm.opportunity'))]"
|
||||||
<record model="ir.rule" id="rule_crm_opportunity_companies">
|
pyson="1"/>
|
||||||
<field name="domain"
|
</record>
|
||||||
eval="[('company', 'in', Eval('companies', []))]"
|
<record model="ir.action.keyword" id="act_open_sale_keyword1">
|
||||||
pyson="1"/>
|
<field name="keyword">form_relate</field>
|
||||||
<field name="rule_group" ref="rule_group_crm_opportunity_companies"/>
|
<field name="model">crm.opportunity,-1</field>
|
||||||
</record>
|
<field name="action" ref="act_open_sale_form"/>
|
||||||
|
</record> -->
|
||||||
|
|
||||||
<!-- <record model="ir.action.act_window" id="act_open_sale_form">
|
<record model="ir.ui.view" id="crm_opportunity_line_view_form">
|
||||||
<field name="name">Sales</field>
|
<field name="model">crm.opportunity.line</field>
|
||||||
<field name="res_model">sale.sale</field>
|
<field name="type">form</field>
|
||||||
<field name="domain"
|
<field name="name">opportunity_line_form</field>
|
||||||
eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('origin.id', '=', Eval('active_id'), 'crm.opportunity'), ('origin.id', 'in', Eval('active_ids'), 'crm.opportunity'))]"
|
</record>
|
||||||
pyson="1"/>
|
<record model="ir.ui.view" id="crm_opportunity_line_view_tree">
|
||||||
</record>
|
<field name="model">crm.opportunity.line</field>
|
||||||
<record model="ir.action.keyword" id="act_open_sale_keyword1">
|
<field name="type">tree</field>
|
||||||
<field name="keyword">form_relate</field>
|
<field name="name">opportunity_line_tree</field>
|
||||||
<field name="model">crm.opportunity,-1</field>
|
</record>
|
||||||
<field name="action" ref="act_open_sale_form"/>
|
|
||||||
</record> -->
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_line_view_form">
|
<record model="ir.ui.view" id="crm_opportunity_follow_up_view_form">
|
||||||
<field name="model">crm.opportunity.line</field>
|
<field name="model">crm.opportunity.follow_up</field>
|
||||||
<field name="type">form</field>
|
<field name="type">form</field>
|
||||||
<field name="name">opportunity_line_form</field>
|
<field name="name">opportunity_follow_up_form</field>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.ui.view" id="crm_opportunity_line_view_tree">
|
<record model="ir.ui.view" id="crm_opportunity_follow_up_view_tree">
|
||||||
<field name="model">crm.opportunity.line</field>
|
<field name="model">crm.opportunity.follow_up</field>
|
||||||
<field name="type">tree</field>
|
<field name="type">tree</field>
|
||||||
<field name="name">opportunity_line_tree</field>
|
<field name="name">opportunity_follow_up_tree</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_follow_up_view_form">
|
<record model="ir.ui.view" id="crm_validation_template_view_form">
|
||||||
<field name="model">crm.opportunity.follow_up</field>
|
<field name="model">crm.validation_template</field>
|
||||||
<field name="type">form</field>
|
<field name="type">form</field>
|
||||||
<field name="name">opportunity_follow_up_form</field>
|
<field name="name">validation_template_form</field>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.ui.view" id="crm_opportunity_follow_up_view_tree">
|
<record model="ir.ui.view" id="crm_validation_template_view_tree">
|
||||||
<field name="model">crm.opportunity.follow_up</field>
|
<field name="model">crm.validation_template</field>
|
||||||
<field name="type">tree</field>
|
<field name="type">tree</field>
|
||||||
<field name="name">opportunity_follow_up_tree</field>
|
<field name="name">validation_template_tree</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_validation_template_view_form">
|
<record model="ir.action.report" id="report_opportunity">
|
||||||
<field name="model">crm.validation_template</field>
|
<field name="name">Quotation Short Format</field>
|
||||||
<field name="type">form</field>
|
<field name="model">crm.opportunity</field>
|
||||||
<field name="name">validation_template_form</field>
|
<field name="report_name">crm.opportunity</field>
|
||||||
</record>
|
<field name="report">crm/opportunity.fodt</field>
|
||||||
<record model="ir.ui.view" id="crm_validation_template_view_tree">
|
</record>
|
||||||
<field name="model">crm.validation_template</field>
|
<record model="ir.action.keyword" id="report_opportunity_keyword">
|
||||||
<field name="type">tree</field>
|
<field name="keyword">form_print</field>
|
||||||
<field name="name">validation_template_tree</field>
|
<field name="model">crm.opportunity,-1</field>
|
||||||
</record>
|
<field name="action" ref="report_opportunity"/>
|
||||||
|
</record>
|
||||||
<record model="ir.action.report" id="report_opportunity">
|
|
||||||
<field name="name">Quotation Short Format</field>
|
|
||||||
<field name="model">crm.opportunity</field>
|
|
||||||
<field name="report_name">crm.opportunity</field>
|
|
||||||
<field name="report">crm/opportunity.fodt</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.keyword" id="report_opportunity_keyword">
|
|
||||||
<field name="keyword">form_print</field>
|
|
||||||
<field name="model">crm.opportunity,-1</field>
|
|
||||||
<field name="action" ref="report_opportunity"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.action.report" id="report_opportunity_only">
|
|
||||||
<field name="name">Only Quotation with Tax</field>
|
|
||||||
<field name="model">crm.opportunity</field>
|
|
||||||
<field name="report_name">crm.opportunity_only</field>
|
|
||||||
<field name="report">crm/opportunity_only.fodt</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.keyword" id="report_opportunity_only_keyword">
|
|
||||||
<field name="keyword">form_print</field>
|
|
||||||
<field name="model">crm.opportunity,-1</field>
|
|
||||||
<field name="action" ref="report_opportunity_only"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.action.report" id="report_opportunity_without_tax">
|
|
||||||
<field name="name">Only Quotation Without Tax</field>
|
|
||||||
<field name="model">crm.opportunity</field>
|
|
||||||
<field name="report_name">crm.opportunity_without_tax</field>
|
|
||||||
<field name="report">crm/opportunity_without_tax.fodt</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.keyword" id="report_opportunity_without_tax_keyword">
|
|
||||||
<field name="keyword">form_print</field>
|
|
||||||
<field name="model">crm.opportunity,-1</field>
|
|
||||||
<field name="action" ref="report_opportunity_without_tax"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.action.report" id="report_opportunity_large_format">
|
|
||||||
<field name="name">Quotation Large Format</field>
|
|
||||||
<field name="model">crm.opportunity</field>
|
|
||||||
<field name="report_name">crm.opportunity_large_format</field>
|
|
||||||
<field name="report">crm/opportunity_large_format.fodt</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.keyword" id="report_opportunity_large_format_keyword">
|
|
||||||
<field name="keyword">form_print</field>
|
|
||||||
<field name="model">crm.opportunity,-1</field>
|
|
||||||
<field name="action" ref="report_opportunity_large_format"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_lead_origin_view_tree">
|
|
||||||
<field name="model">crm.lead_origin</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="name">lead_origin_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="crm_lead_origin_view_form">
|
|
||||||
<field name="model">crm.lead_origin</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">lead_origin_form</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window" id="act_lead_origin_form">
|
|
||||||
<field name="name">Lead Origin</field>
|
|
||||||
<field name="res_model">crm.lead_origin</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_lead_origin_form_view1">
|
|
||||||
<field name="sequence" eval="10"/>
|
|
||||||
<field name="view" ref="crm_lead_origin_view_tree"/>
|
|
||||||
<field name="act_window" ref="act_lead_origin_form"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_lead_origin_form_view2">
|
|
||||||
<field name="sequence" eval="20"/>
|
|
||||||
<field name="view" ref="crm_lead_origin_view_form"/>
|
|
||||||
<field name="act_window" ref="act_lead_origin_form"/>
|
|
||||||
</record>
|
|
||||||
<menuitem name="Lead Origin" parent="crm.menu_crm_configuration"
|
|
||||||
id="menu_crm_lead_origin" sequence="70"
|
|
||||||
action="act_lead_origin_form" />
|
|
||||||
|
|
||||||
<!-- <record model="ir.ui.view" id="opportunity_traceability_view_tree">
|
|
||||||
<field name="model">crm.opportunity_traceability</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="name">opportunity_traceability_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="opportunity_traceability_view_form">
|
|
||||||
<field name="model">crm.opportunity_traceability</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">opportunity_traceability_form</field>
|
|
||||||
</record> -->
|
|
||||||
|
|
||||||
<!-- <record model="ir.ui.view" id="crm_opportunity_employee_view_tree">
|
|
||||||
<field name="model">crm.opportunity_employee</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="name">opportunity_employee_tree</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_employee_view_graph1">
|
|
||||||
<field name="model">crm.opportunity_employee</field>
|
|
||||||
<field name="type">graph</field>
|
|
||||||
<field name="name">opportunity_employee_graph1</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_employee_view_graph2">
|
|
||||||
<field name="model">crm.opportunity_employee</field>
|
|
||||||
<field name="type">graph</field>
|
|
||||||
<field name="name">opportunity_employee_graph2</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_employee_context_view_form">
|
|
||||||
<field name="model">crm.opportunity_employee.context</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">opportunity_employee_context_form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.action.act_window" id="act_crm_opportunity_employee_form">
|
|
||||||
<field name="name">Opportunities per Employee</field>
|
|
||||||
<field name="res_model">crm.opportunity_employee</field>
|
|
||||||
<field name="context_model">crm.opportunity_employee.context</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view"
|
|
||||||
id="act_crm_opportunity_employee_form_view1">
|
|
||||||
<field name="sequence" eval="10"/>
|
|
||||||
<field name="view" ref="crm_opportunity_employee_view_tree"/>
|
|
||||||
<field name="act_window" ref="act_crm_opportunity_employee_form"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view"
|
|
||||||
id="act_crm_opportunity_employee_form_view2">
|
|
||||||
<field name="sequence" eval="20"/>
|
|
||||||
<field name="view" ref="crm_opportunity_employee_view_graph1"/>
|
|
||||||
<field name="act_window" ref="act_crm_opportunity_employee_form"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view"
|
|
||||||
id="act_crm_opportunity_employee_form_view3">
|
|
||||||
<field name="sequence" eval="30"/>
|
|
||||||
<field name="view" ref="crm_opportunity_employee_view_graph2"/>
|
|
||||||
<field name="act_window" ref="act_crm_opportunity_employee_form"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.rule.group" id="rule_group_crm_opportunity_employee_companies">
|
|
||||||
<field name="name">User in companies</field>
|
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity_employee')]"/>
|
|
||||||
<field name="global_p" eval="True"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.rule" id="rule_crm_opportunity_employee_companies">
|
|
||||||
<field name="domain"
|
|
||||||
eval="[('company', 'in', Eval('companies', []))]"
|
|
||||||
pyson="1"/>
|
|
||||||
<field name="rule_group" ref="rule_group_crm_opportunity_employee_companies"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<menuitem
|
|
||||||
parent="sale.menu_reporting"
|
|
||||||
action="act_crm_opportunity_employee_form"
|
|
||||||
sequence="50"
|
|
||||||
id="menu_opportunity_employee_open"/>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_monthly_view_tree">
|
|
||||||
<field name="model">crm.opportunity_monthly</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="name">opportunity_monthly_tree</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_monthly_view_graph1">
|
|
||||||
<field name="model">crm.opportunity_monthly</field>
|
|
||||||
<field name="type">graph</field>
|
|
||||||
<field name="name">opportunity_monthly_graph1</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_monthly_view_graph2">
|
|
||||||
<field name="model">crm.opportunity_monthly</field>
|
|
||||||
<field name="type">graph</field>
|
|
||||||
<field name="name">opportunity_monthly_graph2</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.action.act_window" id="act_crm_opportunity_monthly_form">
|
|
||||||
<field name="name">Opportunities per Month</field>
|
|
||||||
<field name="res_model">crm.opportunity_monthly</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view"
|
|
||||||
id="act_crm_opportunity_monthly_form_view1">
|
|
||||||
<field name="sequence" eval="10"/>
|
|
||||||
<field name="view" ref="crm_opportunity_monthly_view_tree"/>
|
|
||||||
<field name="act_window" ref="act_crm_opportunity_monthly_form"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view"
|
|
||||||
id="act_crm_opportunity_monthly_form_view2">
|
|
||||||
<field name="sequence" eval="20"/>
|
|
||||||
<field name="view" ref="crm_opportunity_monthly_view_graph1"/>
|
|
||||||
<field name="act_window" ref="act_crm_opportunity_monthly_form"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view"
|
|
||||||
id="act_crm_opportunity_monthly_form_view3">
|
|
||||||
<field name="sequence" eval="30"/>
|
|
||||||
<field name="view" ref="crm_opportunity_monthly_view_graph2"/>
|
|
||||||
<field name="act_window" ref="act_crm_opportunity_monthly_form"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<menuitem
|
|
||||||
parent="sale.menu_reporting"
|
|
||||||
action="act_crm_opportunity_monthly_form"
|
|
||||||
sequence="50"
|
|
||||||
id="menu_crm_opportunity_monthly_form"/>
|
|
||||||
|
|
||||||
<record model="ir.rule.group" id="rule_group_crm_opportunity_monthly_companies">
|
|
||||||
<field name="name">User in companies</field>
|
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity_monthly')]"/>
|
|
||||||
<field name="global_p" eval="True"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.rule" id="rule_crm_opportunity_monthly_companies">
|
|
||||||
<field name="domain"
|
|
||||||
eval="[('company', 'in', Eval('companies', []))]"
|
|
||||||
pyson="1"/>
|
|
||||||
<field name="rule_group" ref="rule_group_crm_opportunity_monthly_companies"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="crm_opportunity_employee_monthly_view_tree">
|
|
||||||
<field name="model">crm.opportunity_employee_monthly</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="name">opportunity_employee_monthly_tree</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.action.act_window" id="act_crm_opportunity_employee_monthly_form">
|
|
||||||
<field name="name">Opportunities per Employee per Month</field>
|
|
||||||
<field name="res_model">crm.opportunity_employee_monthly</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view"
|
|
||||||
id="act_crm_opportunity_employee_monthly_form_view1">
|
|
||||||
<field name="sequence" eval="10"/>
|
|
||||||
<field name="view" ref="crm_opportunity_employee_monthly_view_tree"/>
|
|
||||||
<field name="act_window" ref="act_crm_opportunity_employee_monthly_form"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<menuitem
|
|
||||||
parent="sale.menu_reporting"
|
|
||||||
action="act_crm_opportunity_employee_monthly_form"
|
|
||||||
sequence="50"
|
|
||||||
id="menu_crm_opportunity_employee_monthly_form"/>
|
|
||||||
|
|
||||||
<record model="ir.rule.group" id="rule_group_crm_opportunity_employee_monthly_companies">
|
|
||||||
<field name="name">User in companies</field>
|
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity_employee_monthly')]"/>
|
|
||||||
<field name="global_p" eval="True"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.rule" id="rule_crm_opportunity_employee_monthly_companies">
|
|
||||||
<field name="domain"
|
|
||||||
eval="[('company', 'in', Eval('companies', []))]"
|
|
||||||
pyson="1"/>
|
|
||||||
<field name="rule_group" ref="rule_group_crm_opportunity_employee_monthly_companies"/>
|
|
||||||
</record> -->
|
|
||||||
|
|
||||||
|
<record model="ir.ui.view" id="crm_lead_origin_view_tree">
|
||||||
|
<field name="model">crm.lead_origin</field>
|
||||||
|
<field name="type">tree</field>
|
||||||
|
<field name="name">lead_origin_tree</field>
|
||||||
|
</record>
|
||||||
|
<record model="ir.ui.view" id="crm_lead_origin_view_form">
|
||||||
|
<field name="model">crm.lead_origin</field>
|
||||||
|
<field name="type">form</field>
|
||||||
|
<field name="name">lead_origin_form</field>
|
||||||
|
</record>
|
||||||
|
<record model="ir.action.act_window" id="act_lead_origin_form">
|
||||||
|
<field name="name">Lead Origin</field>
|
||||||
|
<field name="res_model">crm.lead_origin</field>
|
||||||
|
</record>
|
||||||
|
<record model="ir.action.act_window.view" id="act_lead_origin_form_view1">
|
||||||
|
<field name="sequence" eval="10"/>
|
||||||
|
<field name="view" ref="crm_lead_origin_view_tree"/>
|
||||||
|
<field name="act_window" ref="act_lead_origin_form"/>
|
||||||
|
</record>
|
||||||
|
<record model="ir.action.act_window.view" id="act_lead_origin_form_view2">
|
||||||
|
<field name="sequence" eval="20"/>
|
||||||
|
<field name="view" ref="crm_lead_origin_view_form"/>
|
||||||
|
<field name="act_window" ref="act_lead_origin_form"/>
|
||||||
|
</record>
|
||||||
|
<menuitem name="Lead Origin" parent="crm.menu_crm_configuration"
|
||||||
|
id="menu_crm_lead_origin" sequence="70"
|
||||||
|
action="act_lead_origin_form" />
|
||||||
</data>
|
</data>
|
||||||
</tryton>
|
</tryton>
|
||||||
|
|
1026
opportunity_ant.fodt
1026
opportunity_ant.fodt
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
32261
opportunity_only.fodt
32261
opportunity_only.fodt
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
7
party.py
7
party.py
|
@ -4,9 +4,6 @@ from trytond.model import fields, ModelView
|
||||||
from trytond.pool import PoolMeta, Pool
|
from trytond.pool import PoolMeta, Pool
|
||||||
from trytond.pyson import Eval
|
from trytond.pyson import Eval
|
||||||
|
|
||||||
# Size photo default
|
|
||||||
WIDTH = 200
|
|
||||||
HEIGHT = 250
|
|
||||||
STATES = {
|
STATES = {
|
||||||
'readonly': ~Eval('active', True)
|
'readonly': ~Eval('active', True)
|
||||||
}
|
}
|
||||||
|
@ -19,8 +16,8 @@ class Party(metaclass=PoolMeta):
|
||||||
# sales_count = fields.Integer('Sales Count')
|
# sales_count = fields.Integer('Sales Count')
|
||||||
# opportunities = fields.One2Many('crm.opportunity', 'party',
|
# opportunities = fields.One2Many('crm.opportunity', 'party',
|
||||||
# 'Opportunities', domain=[('party', '=', Eval('id'))])
|
# 'Opportunities', domain=[('party', '=', Eval('id'))])
|
||||||
party_validations = fields.One2Many('crm.opportunity.validation', 'party',
|
# party_validations = fields.One2Many('crm.opportunity.validation', 'party',
|
||||||
'Party Validations')
|
# 'Party Validations')
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def __setup__(cls):
|
def __setup__(cls):
|
||||||
|
|
79
party.xml
79
party.xml
|
@ -3,13 +3,8 @@
|
||||||
this repository contains the full copyright notices and license terms. -->
|
this repository contains the full copyright notices and license terms. -->
|
||||||
<tryton>
|
<tryton>
|
||||||
<data>
|
<data>
|
||||||
<!-- <record model="ir.ui.view" id="party_view_form">
|
|
||||||
<field name="model">party.party</field>
|
|
||||||
<field name="inherit" ref="party.party_view_form"/>
|
|
||||||
<field name="name">party_form</field>
|
|
||||||
</record> -->
|
|
||||||
|
|
||||||
<record model="ir.action.act_window" id="act_validation_form">
|
<!-- <record model="ir.action.act_window" id="act_validation_form">
|
||||||
<field name="name">Party Validation</field>
|
<field name="name">Party Validation</field>
|
||||||
<field name="res_model">crm.opportunity.validation</field>
|
<field name="res_model">crm.opportunity.validation</field>
|
||||||
<field name="domain"
|
<field name="domain"
|
||||||
|
@ -21,79 +16,7 @@ this repository contains the full copyright notices and license terms. -->
|
||||||
<field name="keyword">form_relate</field>
|
<field name="keyword">form_relate</field>
|
||||||
<field name="model">party.party,-1</field>
|
<field name="model">party.party,-1</field>
|
||||||
<field name="action" ref="act_validation_form"/>
|
<field name="action" ref="act_validation_form"/>
|
||||||
</record>
|
|
||||||
|
|
||||||
<!-- <record model="ir.ui.view" id="validation_line_view_form">
|
|
||||||
<field name="model">crm.opportunity.validation</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">validation_line_form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="validation_view_tree">
|
|
||||||
<field name="model">crm.validation</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="priority">10</field>
|
|
||||||
<field name="name">validation_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="validation_view_form">
|
|
||||||
<field name="model">crm.validation</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">validation_form</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window" id="act_validation_tree">
|
|
||||||
<field name="name">validation</field>
|
|
||||||
<field name="res_model">crm.validation</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_validation_tree_view1">
|
|
||||||
<field name="sequence" eval="1"/>
|
|
||||||
<field name="view" ref="validation_view_tree"/>
|
|
||||||
<field name="act_window" ref="act_validation_tree"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_validation_tree_view2">
|
|
||||||
<field name="sequence" eval="2"/>
|
|
||||||
<field name="view" ref="validation_view_form"/>
|
|
||||||
<field name="act_window" ref="act_validation_tree"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="validation_template_line_view_tree">
|
|
||||||
<field name="model">crm.validation_template.line</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="name">validation_template_line_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="validation_template_line_view_form">
|
|
||||||
<field name="model">crm.validation_template.line</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">validation_template_line_form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="validation_template_view_tree">
|
|
||||||
<field name="model">crm.validation_template</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="priority">10</field>
|
|
||||||
<field name="name">validation_template_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="validation_template_view_form">
|
|
||||||
<field name="model">crm.validation_template</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">validation_template_form</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window" id="act_validation_template_tree">
|
|
||||||
<field name="name">Validation Templates</field>
|
|
||||||
<field name="res_model">crm.validation_template</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_validation_template_tree_view1">
|
|
||||||
<field name="sequence" eval="1"/>
|
|
||||||
<field name="view" ref="validation_template_view_tree"/>
|
|
||||||
<field name="act_window" ref="act_validation_template_tree"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_validation_template_tree_view2">
|
|
||||||
<field name="sequence" eval="2"/>
|
|
||||||
<field name="view" ref="validation_template_view_form"/>
|
|
||||||
<field name="act_window" ref="act_validation_template_tree"/>
|
|
||||||
</record> -->
|
</record> -->
|
||||||
<!-- <menuitem parent="party.menu_party_configuration" sequence="100"
|
|
||||||
action="act_validation_template_tree" string="Validation Template" id="menu_validation_template_tree"/> -->
|
|
||||||
|
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
</tryton>
|
</tryton>
|
||||||
|
|
|
@ -1,149 +0,0 @@
|
||||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
# this repository contains the full copyright notices and license terms.
|
|
||||||
from datetime import datetime, date
|
|
||||||
from trytond.report import Report
|
|
||||||
from trytond.model import ModelView, ModelSQL, fields, Workflow
|
|
||||||
from trytond.pyson import Eval, If, In, Get
|
|
||||||
from trytond.pool import Pool, PoolMeta
|
|
||||||
from trytond.transaction import Transaction
|
|
||||||
from .exceptions import CrmConfigurationError
|
|
||||||
from trytond.i18n import gettext
|
|
||||||
from trytond.modules.company.model import employee_field, set_employee
|
|
||||||
|
|
||||||
|
|
||||||
class ValidationTemplate(ModelSQL, ModelView):
|
|
||||||
"Validation Template"
|
|
||||||
__name__ = "crm.validation_template"
|
|
||||||
name = fields.Char('Name', required=True, select=True)
|
|
||||||
code = fields.Char('Code', required=True, select=True)
|
|
||||||
type = fields.Selection([
|
|
||||||
('prospect', 'Prospect'),
|
|
||||||
('client', 'Client')
|
|
||||||
], 'Type')
|
|
||||||
active = fields.Boolean('Active')
|
|
||||||
lines = fields.One2Many('crm.validation_template.ask',
|
|
||||||
'template', 'Asks')
|
|
||||||
|
|
||||||
|
|
||||||
class ValidationTemplateAsk(ModelSQL, ModelView):
|
|
||||||
"Validation Template Ask"
|
|
||||||
# Ask/concept for each template
|
|
||||||
__name__ = "crm.validation_template.ask"
|
|
||||||
_rec_name = 'ask'
|
|
||||||
template = fields.Many2One('crm.validation_template',
|
|
||||||
'Template Validation', required=True)
|
|
||||||
sequence = fields.Integer('Sequence', required=True, select=True)
|
|
||||||
ask = fields.Char('Ask', required=True, select=True)
|
|
||||||
|
|
||||||
|
|
||||||
class OpportunityValidation(ModelSQL, ModelView):
|
|
||||||
"Opportunity Validation"
|
|
||||||
# Validation for each opportunity
|
|
||||||
__name__ = "crm.opportunity.validation"
|
|
||||||
_history = True
|
|
||||||
opportunity = fields.Many2One('crm.opportunity', 'Opportunity',
|
|
||||||
required=True)
|
|
||||||
party = fields.Many2One('party.party', 'Party', required=True)
|
|
||||||
template = fields.Many2One('crm.validation_template.ask',
|
|
||||||
'Template Ask', required=True)
|
|
||||||
sequence = fields.Integer('Sequence', required=True)
|
|
||||||
date_validation = fields.Date('Date')
|
|
||||||
line_ask = fields.Char('Ask', required=True, select=True)
|
|
||||||
# response = fields.Boolean('Response')
|
|
||||||
response = fields.Selection([
|
|
||||||
("", ""),
|
|
||||||
('approved', 'Approved'),
|
|
||||||
('rejected', 'Rejected'),
|
|
||||||
], "Response")
|
|
||||||
comment = fields.Text('Comments')
|
|
||||||
validated_by = fields.Many2One('res.user', 'User')
|
|
||||||
blocked = fields.Boolean('Blocked', readonly=True)
|
|
||||||
history = fields.Function(fields.Text('history'), 'get_history')
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def __setup__(cls):
|
|
||||||
super(OpportunityValidation, cls).__setup__()
|
|
||||||
cls._order.insert(0, ('sequence', 'ASC'))
|
|
||||||
|
|
||||||
def get_user(self, name):
|
|
||||||
return self.create_uid.rec_name
|
|
||||||
|
|
||||||
def get_history(self, name):
|
|
||||||
# return 'Historial'
|
|
||||||
list_ids = [self.id,]
|
|
||||||
show_list_as_str = 'Fecha | Pregunta | Usuario' + '\n'
|
|
||||||
OpportunityHistory = Pool().get('crm.opportunity.validation')
|
|
||||||
HistoryByAsk = OpportunityHistory.history_revisions(list_ids)
|
|
||||||
for record in HistoryByAsk:
|
|
||||||
show_list_as_str += str(record[0]) + ' | ' + str(record[1]) + ' | ' + str(record[2]) + '\n'
|
|
||||||
return str(show_list_as_str)
|
|
||||||
|
|
||||||
@fields.depends('response')
|
|
||||||
def on_change_response(self):
|
|
||||||
if self.response:
|
|
||||||
self.validated_by = Transaction().user
|
|
||||||
self.date_validation = date.today()
|
|
||||||
else:
|
|
||||||
self.date_validation = None
|
|
||||||
|
|
||||||
|
|
||||||
class ValidationHistoryAsk(ModelView, ModelSQL):
|
|
||||||
"Validation History Ask"
|
|
||||||
__name__ = "crm.opportunity.validation.history"
|
|
||||||
id = fields.Integer('id')
|
|
||||||
company = fields.Many2One('company.company', 'Company')
|
|
||||||
line_ask = fields.Char('Ask')
|
|
||||||
response = fields.Char('Response')
|
|
||||||
opportunity = fields.Integer('Opportunity')
|
|
||||||
comment = fields.Text('Comments')
|
|
||||||
validated_by = fields.Integer('Validated By')
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def table_query(cls):
|
|
||||||
OpportunityHistory = Pool().get('crm.opportunity.validation')
|
|
||||||
Opportunity = Pool().get('crm.opportunity')
|
|
||||||
opportunityhistory = OpportunityHistory.__table_history__()
|
|
||||||
opportunity = Opportunity.__table__()
|
|
||||||
query = opportunityhistory.join(opportunity,
|
|
||||||
condition=opportunity.id==opportunityhistory.opportunity
|
|
||||||
).select(
|
|
||||||
opportunityhistory.id,
|
|
||||||
opportunityhistory.create_uid,
|
|
||||||
opportunityhistory.create_date,
|
|
||||||
opportunityhistory.write_uid,
|
|
||||||
opportunityhistory.write_date,
|
|
||||||
# Literal(0).as_('create_uid'),
|
|
||||||
# CurrentTimestamp().as_('create_date'),
|
|
||||||
# cls.write_uid.sql_cast(Literal(Null)).as_('write_uid'),
|
|
||||||
# cls.write_date.sql_cast(Literal(Null)).as_('write_date'),
|
|
||||||
opportunity.company,
|
|
||||||
opportunityhistory.line_ask,
|
|
||||||
opportunityhistory.comment,
|
|
||||||
# opportunity.date_validation,
|
|
||||||
opportunityhistory.opportunity,
|
|
||||||
opportunityhistory.validated_by,
|
|
||||||
# opportunity.party,
|
|
||||||
# opportunity.response,
|
|
||||||
# opportunity.sequence,
|
|
||||||
# opportunity.template,
|
|
||||||
opportunityhistory.response,
|
|
||||||
|
|
||||||
)
|
|
||||||
cursor = Transaction().connection.cursor()
|
|
||||||
cursor.execute(*query)
|
|
||||||
result = cursor.fetchall()
|
|
||||||
return query
|
|
||||||
|
|
||||||
|
|
||||||
# class PartyValidationTraceability(ModelSQL, ModelView):
|
|
||||||
# ''' Model to save traceability of the Party Validation'''
|
|
||||||
# 'Party Validation Traceability'
|
|
||||||
# __name__ = 'crm.party_validation_traceability'
|
|
||||||
# response = fields.Selection([
|
|
||||||
# ("", ""),
|
|
||||||
# ('approved', 'Approved'),
|
|
||||||
# ('rejected', 'Rejected'),
|
|
||||||
# ], "Response")
|
|
||||||
# opportunity = fields.Many2One('crm.opportunity', 'Opportunity', required=True )
|
|
||||||
# comment = fields.Text('Comments')
|
|
||||||
# validated_by = fields.Many2One('res.user', 'User')
|
|
|
@ -1,120 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<tryton>
|
|
||||||
<data>
|
|
||||||
|
|
||||||
<record model="ir.model.access" id="access_crm_validation_history">
|
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity.validation.history')]"/>
|
|
||||||
<field name="perm_read" eval="True"/>
|
|
||||||
<field name="perm_write" eval="True"/>
|
|
||||||
<field name="perm_create" eval="True"/>
|
|
||||||
<field name="perm_delete" eval="True"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.model.access" id="access_crm_validation_history_sale">
|
|
||||||
<field name="model" search="[('model', '=', 'crm.opportunity.validation.history')]"/>
|
|
||||||
<field name="group" ref="sale.group_sale"/>
|
|
||||||
<field name="perm_read" eval="True"/>
|
|
||||||
<field name="perm_write" eval="True"/>
|
|
||||||
<field name="perm_create" eval="True"/>
|
|
||||||
<field name="perm_delete" eval="True"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="opportunity_validation_view_tree">
|
|
||||||
<field name="model">crm.opportunity.validation</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="name">opportunity_validation_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="opportunity_validation_view_form">
|
|
||||||
<field name="model">crm.opportunity.validation</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">opportunity_validation_form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="validation_template_line_view_tree">
|
|
||||||
<field name="model">crm.validation_template.line</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="name">validation_template_line_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="validation_template_line_view_form">
|
|
||||||
<field name="model">crm.validation_template.line</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">validation_template_line_form</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="validation_template_view_tree">
|
|
||||||
<field name="model">crm.validation_template</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="priority">10</field>
|
|
||||||
<field name="name">validation_template_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="validation_template_view_form">
|
|
||||||
<field name="model">crm.validation_template</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">validation_template_form</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window" id="act_validation_template_tree">
|
|
||||||
<field name="name">Validation Templates</field>
|
|
||||||
<field name="res_model">crm.validation_template</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_validation_template_tree_view1">
|
|
||||||
<field name="sequence" eval="1"/>
|
|
||||||
<field name="view" ref="validation_template_view_tree"/>
|
|
||||||
<field name="act_window" ref="act_validation_template_tree"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_validation_template_tree_view2">
|
|
||||||
<field name="sequence" eval="2"/>
|
|
||||||
<field name="view" ref="validation_template_view_form"/>
|
|
||||||
<field name="act_window" ref="act_validation_template_tree"/>
|
|
||||||
</record>
|
|
||||||
<menuitem parent="party.menu_party_configuration" sequence="100"
|
|
||||||
action="act_validation_template_tree" string="Validation Template" id="menu_validation_template_tree"/>
|
|
||||||
|
|
||||||
<record model="ir.ui.view" id="validation_history_view_tree">
|
|
||||||
<field name="model">crm.opportunity.validation.history</field>
|
|
||||||
<field name="type">tree</field>
|
|
||||||
<field name="priority">10</field>
|
|
||||||
<field name="name">validation_history_tree</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.ui.view" id="validation_history_view_form">
|
|
||||||
<field name="model">crm.opportunity.validation.history</field>
|
|
||||||
<field name="type">form</field>
|
|
||||||
<field name="name">validation_history_form</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window" id="act_validation_history_tree">
|
|
||||||
<field name="name">Validation Hystory</field>
|
|
||||||
<field name="res_model">crm.opportunity.validation.history</field>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_validation_history_tree_view1">
|
|
||||||
<field name="sequence" eval="1"/>
|
|
||||||
<field name="view" ref="validation_history_view_tree"/>
|
|
||||||
<field name="act_window" ref="act_validation_history_tree"/>
|
|
||||||
</record>
|
|
||||||
<record model="ir.action.act_window.view" id="act_validation_history_tree_view2">
|
|
||||||
<field name="sequence" eval="2"/>
|
|
||||||
<field name="view" ref="validation_history_view_form"/>
|
|
||||||
<field name="act_window" ref="act_validation_history_tree"/>
|
|
||||||
</record>
|
|
||||||
<menuitem parent="party.menu_party_configuration" sequence="100"
|
|
||||||
action="act_validation_history_tree" id="menu_validation_history_tree"/>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <record model="ir.model.access" id="access_crm_validation_template">
|
|
||||||
<field name="model" search="[('model', '=', 'crm.validation_template')]"/>
|
|
||||||
<field name="perm_read" eval="True"/>
|
|
||||||
<field name="perm_write" eval="False"/>
|
|
||||||
<field name="perm_create" eval="False"/>
|
|
||||||
<field name="perm_delete" eval="False"/>
|
|
||||||
</record> -->
|
|
||||||
<!-- <record model="ir.model.access" id="access_crm_validation_template_admin">
|
|
||||||
<field name="model" search="[('model', '=', 'crm.validation_template')]"/>
|
|
||||||
<field name="group" ref="group_crm_admin"/>
|
|
||||||
<field name="perm_read" eval="True"/>
|
|
||||||
<field name="perm_write" eval="True"/>
|
|
||||||
<field name="perm_create" eval="True"/>
|
|
||||||
<field name="perm_delete" eval="True"/>
|
|
||||||
</record> -->
|
|
||||||
|
|
||||||
</data>
|
|
||||||
</tryton>
|
|
14
setup.py
14
setup.py
|
@ -28,7 +28,9 @@ def get_require_version(name):
|
||||||
major_version, minor_version + 1)
|
major_version, minor_version + 1)
|
||||||
return require
|
return require
|
||||||
|
|
||||||
|
|
||||||
config = ConfigParser()
|
config = ConfigParser()
|
||||||
|
|
||||||
config.readfp(open('tryton.cfg'))
|
config.readfp(open('tryton.cfg'))
|
||||||
info = dict(config.items('tryton'))
|
info = dict(config.items('tryton'))
|
||||||
for key in ('depends', 'extras_depend', 'xml'):
|
for key in ('depends', 'extras_depend', 'xml'):
|
||||||
|
@ -60,9 +62,10 @@ if minor_version % 2:
|
||||||
# Add development index for testing with proteus
|
# Add development index for testing with proteus
|
||||||
dependency_links.append('https://trydevpi.tryton.org/')
|
dependency_links.append('https://trydevpi.tryton.org/')
|
||||||
|
|
||||||
setup(name=name,
|
setup(
|
||||||
|
name=name,
|
||||||
version=version,
|
version=version,
|
||||||
description='Tryton module for customer relationship management',
|
description='Tryton module for Customer Relationship Management',
|
||||||
long_description=read('README'),
|
long_description=read('README'),
|
||||||
author='Presik Technologies',
|
author='Presik Technologies',
|
||||||
author_email='gerente@presik.com',
|
author_email='gerente@presik.com',
|
||||||
|
@ -77,7 +80,7 @@ setup(name=name,
|
||||||
package_data={
|
package_data={
|
||||||
'trytond.modules.%s' % MODULE: (info.get('xml', [])
|
'trytond.modules.%s' % MODULE: (info.get('xml', [])
|
||||||
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.odt', '*.fodt',
|
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.odt', '*.fodt',
|
||||||
'*.ods', 'icons/*.svg']),
|
'*.ods', '*.fods', 'icons/*.svg']),
|
||||||
},
|
},
|
||||||
classifiers=[
|
classifiers=[
|
||||||
'Development Status :: 5 - Production/Stable',
|
'Development Status :: 5 - Production/Stable',
|
||||||
|
@ -90,9 +93,8 @@ setup(name=name,
|
||||||
'Natural Language :: English',
|
'Natural Language :: English',
|
||||||
'Natural Language :: Spanish',
|
'Natural Language :: Spanish',
|
||||||
'Operating System :: OS Independent',
|
'Operating System :: OS Independent',
|
||||||
'Programming Language :: Python :: 3.7',
|
'Programming Language :: Python :: 3.10',
|
||||||
'Programming Language :: Python :: 3.8',
|
'Programming Language :: Python :: 3.11',
|
||||||
'Programming Language :: Python :: 3.9',
|
|
||||||
'Programming Language :: Python :: Implementation :: CPython',
|
'Programming Language :: Python :: Implementation :: CPython',
|
||||||
'Programming Language :: Python :: Implementation :: PyPy',
|
'Programming Language :: Python :: Implementation :: PyPy',
|
||||||
'Topic :: Office/Business',
|
'Topic :: Office/Business',
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[tryton]
|
[tryton]
|
||||||
version=6.0.10
|
version=6.0.11
|
||||||
depends:
|
depends:
|
||||||
party
|
party
|
||||||
sale
|
sale
|
||||||
|
@ -14,7 +14,6 @@ xml:
|
||||||
survey.xml
|
survey.xml
|
||||||
activity.xml
|
activity.xml
|
||||||
party.xml
|
party.xml
|
||||||
party_validation.xml
|
|
||||||
opportunity.xml
|
opportunity.xml
|
||||||
message.xml
|
message.xml
|
||||||
company.xml
|
company.xml
|
||||||
|
|
|
@ -1,40 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<form>
|
|
||||||
<label name="template"/>
|
|
||||||
<field name="template" widget="selection"/>
|
|
||||||
<label name="number"/>
|
|
||||||
<field name="number"/>
|
|
||||||
<label name="party"/>
|
|
||||||
<field name="party"/>
|
|
||||||
<label name="operator"/>
|
|
||||||
<field name="operator"/>
|
|
||||||
<label name="date_time"/>
|
|
||||||
<field name="date_time"/>
|
|
||||||
<notebook colspan="4">
|
|
||||||
<page string="Lines" id="lines">
|
|
||||||
<field name="lines" colspan="4"/>
|
|
||||||
</page>
|
|
||||||
<page string="Notes" id="notes">
|
|
||||||
<label name="company"/>
|
|
||||||
<field name="company"/>
|
|
||||||
<separator name="notes" colspan="4"/>
|
|
||||||
<field name="notes" colspan="4"/>
|
|
||||||
</page>
|
|
||||||
</notebook>
|
|
||||||
<group col="4" colspan="4" id="state_buttons">
|
|
||||||
<label name="state"/>
|
|
||||||
<field name="state"/>
|
|
||||||
<group col="7" colspan="2" id="buttons">
|
|
||||||
<button name="cancel" string="Cancel"
|
|
||||||
icon="tryton-cancel"/>
|
|
||||||
<button name="draft" string="Draft"
|
|
||||||
icon="tryton-clear"/>
|
|
||||||
<button name="process" string="Process"
|
|
||||||
icon="tryton-forward"/>
|
|
||||||
<button name="done" string="Done"
|
|
||||||
icon="tryton-ok"/>
|
|
||||||
</group>
|
|
||||||
</group>
|
|
||||||
</form>
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<form>
|
|
||||||
<label name="line_ask"/>
|
|
||||||
<field name="line_ask"/>
|
|
||||||
<!-- <label name="validated_by"/>
|
|
||||||
<field name="validated_by"/> -->
|
|
||||||
</form>
|
|
|
@ -1,14 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<tree>
|
|
||||||
<!-- <field name="create_date" widget="date"/> -->
|
|
||||||
<!-- <field name="create_date" widget="time"/> -->
|
|
||||||
|
|
||||||
<field name="id"/>
|
|
||||||
<field name="line_ask" expand="1"/>
|
|
||||||
<field name="opportunity" expand="1"/>
|
|
||||||
<field name="response" expand="1"/>
|
|
||||||
<field name="comment" expand="1"/>
|
|
||||||
<field name="validated_by"/>
|
|
||||||
</tree>
|
|
|
@ -1,18 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<form>
|
|
||||||
<label name="name"/>
|
|
||||||
<field name="name"/>
|
|
||||||
<label name="type"/>
|
|
||||||
<field name="type"/>
|
|
||||||
<label name="code"/>
|
|
||||||
<field name="code"/>
|
|
||||||
<label name="active"/>
|
|
||||||
<field name="active"/>
|
|
||||||
<notebook colspan="4">
|
|
||||||
<page string="Lines" id="lines">
|
|
||||||
<field name="lines" colspan="4"/>
|
|
||||||
</page>
|
|
||||||
</notebook>
|
|
||||||
</form>
|
|
|
@ -1,14 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<form>
|
|
||||||
<!-- <label name="group"/>
|
|
||||||
<field name="group"/> -->
|
|
||||||
<label name="sequence"/>
|
|
||||||
<field name="sequence"/>
|
|
||||||
<!-- <label name="type_response"/>
|
|
||||||
<field name="type_response"/> -->
|
|
||||||
<label name="ask"/>
|
|
||||||
<field name="ask"/>
|
|
||||||
|
|
||||||
</form>
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<tree>
|
|
||||||
<field name="sequence"/>
|
|
||||||
<!-- <field name="group"/> -->
|
|
||||||
<field name="ask"/>
|
|
||||||
<!-- <field name="type_response"/> -->
|
|
||||||
</tree>
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<tree>
|
|
||||||
<field name="name"/>
|
|
||||||
<field name="type"/>
|
|
||||||
<field name="code"/>
|
|
||||||
<field name="active"/>
|
|
||||||
</tree>
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0"?>
|
|
||||||
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
|
|
||||||
this repository contains the full copyright notices and license terms. -->
|
|
||||||
<tree>
|
|
||||||
<field name="number"/>
|
|
||||||
<field name="date_time" widget="date"/>
|
|
||||||
<field name="template"/>
|
|
||||||
<field name="state"/>
|
|
||||||
</tree>
|
|
Loading…
Reference in New Issue