Update version and remove features of another module

This commit is contained in:
oscar alvarez 2023-09-27 12:40:05 -05:00
parent dced7a4cad
commit aa69dcc114
35 changed files with 745 additions and 224348 deletions

View File

@ -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
it under the terms of the GNU General Public License as published by

View File

@ -1,12 +1,12 @@
Metadata-Version: 1.0
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.
Home-page: http://www.tryton.org/
Author: Oscar Alvarez
Author-email: oscar.alvarez.montero@gmail.com
License: GPL-3
Download-URL: http://downloads.tryton.org/3.4/
Download-URL: http://downloads.tryton.org/6.0/
Description: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable

View File

@ -10,7 +10,6 @@ from . import sale
from . import survey
from . import activity
from . import opportunity
from . import party_validation
from . import company
from . import dash
from . import commission
@ -38,10 +37,6 @@ def register():
opportunity.OpportunityCancellReason,
opportunity.OpportunitySaleConditions,
ir.Cron,
party_validation.ValidationTemplate,
party_validation.ValidationTemplateAsk,
party_validation.OpportunityValidation,
party_validation.ValidationHistoryAsk,
company.Company,
dash.DashApp,
dash.AppCRMSales,

View File

@ -23,11 +23,11 @@ class Activity(Workflow, ModelSQL, ModelView):
customer = fields.Many2One('party.party', 'Customer', states=STATES, select=True)
subject = fields.Char('Subject', states=STATES, select=True)
media = fields.Selection([
('phone', 'Phone'),
('mobile', 'Mobile'),
('videochat', 'Videochat'),
('email', 'Email'),
], 'Media', states=STATES, depends=['state'], required=True)
('phone', 'Phone'),
('mobile', 'Mobile'),
('videochat', 'Videochat'),
('email', 'Email'),
], 'Media', states=STATES, depends=['state'], required=True)
media_info = fields.Char('Media Info', states=STATES)
planned_date = fields.Date('Planned Date', states=STATES, required=True)
effective_date = fields.Date('Effective Date', states=STATES)
@ -57,19 +57,19 @@ class Activity(Workflow, ModelSQL, ModelView):
('cancelled', 'draft'),
))
cls._buttons.update({
'draft': {
'invisible': Eval('state').in_(['draft', 'done']),
},
'cancel': {
'invisible': Eval('state').in_(['cancelled', 'done']),
},
'pending': {
'invisible': Eval('state') != 'draft',
},
'done': {
'invisible': Eval('state') != 'pending',
},
})
'draft': {
'invisible': Eval('state').in_(['draft', 'done']),
},
'cancel': {
'invisible': Eval('state').in_(['cancelled', 'done']),
},
'pending': {
'invisible': Eval('state') != 'draft',
},
'done': {
'invisible': Eval('state') != 'pending',
},
})
@staticmethod
def default_company():

View File

@ -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']

View File

@ -66,13 +66,13 @@ class CustomerService(Workflow, ModelSQL, ModelView):
}, select=True)
route = fields.Char('Route', states=STATES, select=True)
customer = fields.Char('Customer', states=STATES,
required=True, select=True)
required=True, select=True)
address = fields.Char('Address', states=STATES, select=True,
depends=['party'])
depends=['party'])
phone = fields.Char('Phone', states=STATES, select=True,
depends=['party'])
depends=['party'])
city = fields.Char('City', states=STATES, select=True,
depends=['party'])
depends=['party'])
case = fields.Many2One('crm.case', 'Case', states=STATES,
required=True, domain=[
('parent', '!=', None),
@ -128,27 +128,27 @@ class CustomerService(Workflow, ModelSQL, ModelView):
cls._order.insert(0, ('create_date', 'DESC'))
cls._order.insert(1, ('id', 'DESC'))
cls._transitions |= set((
('draft', 'open'),
('open', 'draft'),
('open', 'close'),
('open', 'cancelled'),
('close', 'cancelled'),
('cancelled', 'draft'),
))
('draft', 'open'),
('open', 'draft'),
('open', 'close'),
('open', 'cancelled'),
('close', 'cancelled'),
('cancelled', 'draft'),
))
cls._buttons.update({
'draft': {
'invisible': Eval('state').in_(['draft','close'])
},
'cancel': {
'invisible': Eval('state') == 'cancelled',
},
'open': {
'invisible': Eval('state') != 'draft',
},
'close': {
'invisible': Eval('state') != 'open',
},
})
'draft': {
'invisible': Eval('state').in_(['draft', 'close'])
},
'cancel': {
'invisible': Eval('state') == 'cancelled',
},
'open': {
'invisible': Eval('state') != 'draft',
},
'close': {
'invisible': Eval('state') != 'open',
},
})
@staticmethod
def default_company():
@ -313,10 +313,11 @@ class CustomerServiceIndicatorsStart(ModelView):
class CustomerServiceIndicators(Wizard):
'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', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Print', 'print_', 'tryton-ok', default=True),
Button('Cancel', 'end', 'tryton-cancel'),
Button('Print', 'print_', 'tryton-ok', default=True),
])
print_ = StateReport('crm.customer_service_indicators_report')
@ -416,9 +417,9 @@ class EfficacyMonthStart(ModelView):
fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year',
required=True)
month = fields.Many2One('account.period', 'Month',
depends=['fiscalyear'], required=True, domain=[
('fiscalyear', '=', Eval('fiscalyear')),
])
depends=['fiscalyear'], required=True, domain=[
('fiscalyear', '=', Eval('fiscalyear')),
])
@staticmethod
def default_company():
@ -434,11 +435,12 @@ class EfficacyMonthStart(ModelView):
class EfficacyMonth(Wizard):
'Efficacy Month'
__name__ = 'crm.efficacy_month'
start = StateView('crm.efficacy_month.start',
start = StateView(
'crm.efficacy_month.start',
'crm.efficacy_month_start_view_form', [
Button('Cancel', 'end', 'tryton-cancel'),
Button('Print', 'print_', 'tryton-ok', default=True),
])
])
print_ = StateReport('crm.efficacy_month_report')
def do_print_(self, action):

View File

@ -39,51 +39,7 @@ this repository contains the full copyright notices and license terms. -->
<field name="active">True</field>
<field name="app_name">crm_marketing</field>
</record>
</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>

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

View File

@ -3,18 +3,13 @@
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.sequence.type" id="sequence_type_crm_opportunity">
<field name="name">CRM Opportunity</field>
</record>
<record model="ir.sequence" id="sequence_crm_opportunity">
<field name="sequence_type" ref="sequence_type_crm_opportunity"/>
<field name="name">CRM Opportunity</field>
</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="ir.sequence.type" id="sequence_type_crm_opportunity">
<field name="name">CRM Opportunity</field>
</record>
<record model="ir.sequence" id="sequence_crm_opportunity">
<field name="sequence_type" ref="sequence_type_crm_opportunity"/>
<field name="name">CRM Opportunity</field>
</record>
<record model="res.group" id="group_crm_opportunity">
<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="act_window" ref="act_crm_opportunity_form"/>
</record>
<record model="ir.action.act_window.domain"
id="act_crm_opportunity_form_domain_cancelled">
<field name="name">Cancelled</field>
<field name="sequence" eval="50"/>
<field name="domain"
eval="[('state', '=', 'cancelled')]" pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_crm_opportunity_form"/>
</record>
<record model="ir.action.act_window.domain"
id="act_crm_opportunity_form_domain_all">
<field name="name">All</field>
<field name="sequence" eval="9999"/>
<field name="domain"></field>
<field name="count" eval="True"/>
<field name="act_window" ref="act_crm_opportunity_form"/>
</record>
<menuitem
parent="crm.menu_crm"
action="act_crm_opportunity_form"
sequence="5"
id="menu_crm_opportunity_form"/>
<record model="ir.ui.menu-res.group"
id="menu_sale_crm_opportunity_group_opportunity">
<field name="menu" ref="sale.menu_sale"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.action.act_window.domain"
id="act_crm_opportunity_form_domain_cancelled">
<field name="name">Cancelled</field>
<field name="sequence" eval="50"/>
<field name="domain"
eval="[('state', '=', 'cancelled')]" pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_crm_opportunity_form"/>
</record>
<record model="ir.action.act_window.domain"
id="act_crm_opportunity_form_domain_all">
<field name="name">All</field>
<field name="sequence" eval="9999"/>
<field name="domain"></field>
<field name="count" eval="True"/>
<field name="act_window" ref="act_crm_opportunity_form"/>
</record>
<menuitem
parent="crm.menu_crm"
action="act_crm_opportunity_form"
sequence="5"
id="menu_crm_opportunity_form"/>
<record model="ir.ui.menu-res.group"
id="menu_sale_crm_opportunity_group_opportunity">
<field name="menu" ref="sale.menu_sale"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.model.access" id="access_crm_opportunity">
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
<field name="perm_read" eval="False"/>
<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_opportunity_sale">
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
<field name="group" ref="crm.group_crm"/>
<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_opportunity">
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
<field name="perm_read" eval="False"/>
<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_opportunity_sale">
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
<field name="group" ref="crm.group_crm"/>
<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_opportunity_oppotunity">
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
<field name="group" ref="group_crm_opportunity"/>
<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_opportunity_oppotunity">
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
<field name="group" ref="group_crm_opportunity"/>
<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.button" id="crm_opportunity_lead_button">
<field name="name">lead</field>
<field name="string">Set as Lead</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_lead_button_group_opportinity">
<field name="button" ref="crm_opportunity_lead_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.model.button" id="crm_opportunity_lead_button">
<field name="name">lead</field>
<field name="string">Set as Lead</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_lead_button_group_opportinity">
<field name="button" ref="crm_opportunity_lead_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.model.button" id="crm_opportunity_opportunity_button">
<field name="name">opportunity</field>
<field name="string">Convert to Opportunity</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_opportunity_button_group_opportunity">
<field name="button" ref="crm_opportunity_opportunity_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.model.button" id="crm_opportunity_opportunity_button">
<field name="name">opportunity</field>
<field name="string">Convert to Opportunity</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_opportunity_button_group_opportunity">
<field name="button" ref="crm_opportunity_opportunity_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.model.button" id="crm_opportunity_convert_button">
<field name="name">convert</field>
<field name="string">Convert to Sale</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_convert_button_group_opportinity">
<field name="button" ref="crm_opportunity_convert_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.model.button" id="crm_opportunity_convert_button">
<field name="name">convert</field>
<field name="string">Convert to Sale</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_convert_button_group_opportinity">
<field name="button" ref="crm_opportunity_convert_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.model.button" id="crm_opportunity_lost_button">
<field name="name">lost</field>
<field name="string">Mark as Lost</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_lost_button_group_opportinity">
<field name="button" ref="crm_opportunity_lost_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<record model="ir.model.button" id="crm_opportunity_lost_button">
<field name="name">lost</field>
<field name="string">Mark as Lost</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_lost_button_group_opportinity">
<field name="button" ref="crm_opportunity_lost_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record>
<!-- <record model="ir.model.button" id="crm_opportunity_cancel_button">
<field name="name">cancel</field>
<field name="string">Cancel</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
</record>
<record model="ir.model.button-res.group"
id="crm_opportunity_cancel_button_group_opportinity">
<field name="button" ref="crm_opportunity_cancel_button"/>
<field name="group" ref="group_crm_opportunity"/>
</record> -->
<record model="ir.rule.group" id="rule_group_crm_opportunity_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_crm_opportunity_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_crm_opportunity_companies"/>
</record>
<record model="ir.rule.group" id="rule_group_crm_opportunity_companies">
<field name="name">User in companies</field>
<field name="model" search="[('model', '=', 'crm.opportunity')]"/>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_crm_opportunity_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_crm_opportunity_companies"/>
</record>
<!-- <record model="ir.action.act_window" id="act_open_sale_form">
<field name="name">Sales</field>
<field name="res_model">sale.sale</field>
<field name="domain"
eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('origin.id', '=', Eval('active_id'), 'crm.opportunity'), ('origin.id', 'in', Eval('active_ids'), 'crm.opportunity'))]"
pyson="1"/>
</record>
<record model="ir.action.keyword" id="act_open_sale_keyword1">
<field name="keyword">form_relate</field>
<field name="model">crm.opportunity,-1</field>
<field name="action" ref="act_open_sale_form"/>
</record> -->
<!-- <record model="ir.action.act_window" id="act_open_sale_form">
<field name="name">Sales</field>
<field name="res_model">sale.sale</field>
<field name="domain"
eval="[If(Eval('active_ids', []) == [Eval('active_id')], ('origin.id', '=', Eval('active_id'), 'crm.opportunity'), ('origin.id', 'in', Eval('active_ids'), 'crm.opportunity'))]"
pyson="1"/>
</record>
<record model="ir.action.keyword" id="act_open_sale_keyword1">
<field name="keyword">form_relate</field>
<field name="model">crm.opportunity,-1</field>
<field name="action" ref="act_open_sale_form"/>
</record> -->
<record model="ir.ui.view" id="crm_opportunity_line_view_form">
<field name="model">crm.opportunity.line</field>
<field name="type">form</field>
<field name="name">opportunity_line_form</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_line_view_tree">
<field name="model">crm.opportunity.line</field>
<field name="type">tree</field>
<field name="name">opportunity_line_tree</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_line_view_form">
<field name="model">crm.opportunity.line</field>
<field name="type">form</field>
<field name="name">opportunity_line_form</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_line_view_tree">
<field name="model">crm.opportunity.line</field>
<field name="type">tree</field>
<field name="name">opportunity_line_tree</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_follow_up_view_form">
<field name="model">crm.opportunity.follow_up</field>
<field name="type">form</field>
<field name="name">opportunity_follow_up_form</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_follow_up_view_tree">
<field name="model">crm.opportunity.follow_up</field>
<field name="type">tree</field>
<field name="name">opportunity_follow_up_tree</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_follow_up_view_form">
<field name="model">crm.opportunity.follow_up</field>
<field name="type">form</field>
<field name="name">opportunity_follow_up_form</field>
</record>
<record model="ir.ui.view" id="crm_opportunity_follow_up_view_tree">
<field name="model">crm.opportunity.follow_up</field>
<field name="type">tree</field>
<field name="name">opportunity_follow_up_tree</field>
</record>
<record model="ir.ui.view" id="crm_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.ui.view" id="crm_validation_template_view_tree">
<field name="model">crm.validation_template</field>
<field name="type">tree</field>
<field name="name">validation_template_tree</field>
</record>
<record model="ir.ui.view" id="crm_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.ui.view" id="crm_validation_template_view_tree">
<field name="model">crm.validation_template</field>
<field name="type">tree</field>
<field name="name">validation_template_tree</field>
</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.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.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>
</tryton>

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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -4,9 +4,6 @@ from trytond.model import fields, ModelView
from trytond.pool import PoolMeta, Pool
from trytond.pyson import Eval
# Size photo default
WIDTH = 200
HEIGHT = 250
STATES = {
'readonly': ~Eval('active', True)
}
@ -19,8 +16,8 @@ class Party(metaclass=PoolMeta):
# sales_count = fields.Integer('Sales Count')
# opportunities = fields.One2Many('crm.opportunity', 'party',
# 'Opportunities', domain=[('party', '=', Eval('id'))])
party_validations = fields.One2Many('crm.opportunity.validation', 'party',
'Party Validations')
# party_validations = fields.One2Many('crm.opportunity.validation', 'party',
# 'Party Validations')
@classmethod
def __setup__(cls):

View File

@ -3,13 +3,8 @@
this repository contains the full copyright notices and license terms. -->
<tryton>
<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="res_model">crm.opportunity.validation</field>
<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="model">party.party,-1</field>
<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> -->
<!-- <menuitem parent="party.menu_party_configuration" sequence="100"
action="act_validation_template_tree" string="Validation Template" id="menu_validation_template_tree"/> -->
</data>
</tryton>

View File

@ -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')

View File

@ -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>

View File

@ -28,7 +28,9 @@ def get_require_version(name):
major_version, minor_version + 1)
return require
config = ConfigParser()
config.readfp(open('tryton.cfg'))
info = dict(config.items('tryton'))
for key in ('depends', 'extras_depend', 'xml'):
@ -60,9 +62,10 @@ if minor_version % 2:
# Add development index for testing with proteus
dependency_links.append('https://trydevpi.tryton.org/')
setup(name=name,
setup(
name=name,
version=version,
description='Tryton module for customer relationship management',
description='Tryton module for Customer Relationship Management',
long_description=read('README'),
author='Presik Technologies',
author_email='gerente@presik.com',
@ -77,7 +80,7 @@ setup(name=name,
package_data={
'trytond.modules.%s' % MODULE: (info.get('xml', [])
+ ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.odt', '*.fodt',
'*.ods', 'icons/*.svg']),
'*.ods', '*.fods', 'icons/*.svg']),
},
classifiers=[
'Development Status :: 5 - Production/Stable',
@ -90,9 +93,8 @@ setup(name=name,
'Natural Language :: English',
'Natural Language :: Spanish',
'Operating System :: OS Independent',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: Implementation :: CPython',
'Programming Language :: Python :: Implementation :: PyPy',
'Topic :: Office/Business',

View File

@ -1,5 +1,5 @@
[tryton]
version=6.0.10
version=6.0.11
depends:
party
sale
@ -14,7 +14,6 @@ xml:
survey.xml
activity.xml
party.xml
party_validation.xml
opportunity.xml
message.xml
company.xml

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>