[MERGE] trunk

bzr revid: al@openerp.com-20110828025452-vkkj23005ct60wpb
This commit is contained in:
Antony Lesuisse
2011-08-28 04:54:52 +02:00
29 changed files with 88 additions and 53 deletions
+2 -2
View File
@@ -362,7 +362,7 @@
<field name="help">Here you can customize an existing journal view or create a new view. Journal views determine the way you can record entries in your journal. Select the fields you want to appear in a journal and determine the sequence in which they will appear. Then you can create a new journal and link your view to it.</field>
</record>
<menuitem action="action_account_journal_view" id="menu_action_account_journal_view" parent="account.menu_journals"/>
<menuitem action="action_account_journal_view" id="menu_action_account_journal_view" parent="account.menu_journals" sequence="20" groups="base.group_extended"/>
<!--
# Account Journal
@@ -767,7 +767,7 @@
<field name="search_view_id" ref="view_account_type_search"/>
<field name="help">An account type is used to determine how an account is used in each journal. The deferral method of an account type determines the process for the annual closing. Reports such as the Balance Sheet and the Profit and Loss report use the category (profit/loss or balance sheet). For example, the account type could be linked to an asset account, expense account or payable account. From this view, you can create and manage the account types you need for your company.</field>
</record>
<menuitem action="action_account_type_form" sequence="6" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_extended"/>
<menuitem action="action_account_type_form" sequence="20" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_extended"/>
<!--
Entries
-->
+1 -1
View File
@@ -31,7 +31,7 @@ The ability to extract the correctly represented local accounts from IBAN accoun
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['account'],
'depends': ['base'],
'init_xml': ['base_iban_data.xml'],
'update_xml': ['base_iban_view.xml'],
'installable': True,
+11
View File
@@ -44,6 +44,17 @@ AVAILABLE_PRIORITIES = [
('5', 'Lowest'),
]
class crm_case_channel(osv.osv):
_name = "crm.case.channel"
_description = "Channels"
_order = 'name'
_columns = {
'name': fields.char('Channel Name', size=64, required=True),
'active': fields.boolean('Active'),
}
_defaults = {
'active': lambda *a: 1,
}
class crm_case_stage(osv.osv):
""" Stage of case """
+12
View File
@@ -1,6 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record model="crm.case.channel">
<field name="name">website</field>
</record>
<record model="crm.case.channel">
<field name="name">phone</field>
</record>
<record model="crm.case.channel">
<field name="name">direct</field>
</record>
<record model="crm.case.channel">
<field name="name">e-mail</field>
</record>
<record model="crm.case.section" id="section_sales_department">
<field name="name">Sales Department</field>
<field name="code">Sales</field>
+1 -1
View File
@@ -142,7 +142,7 @@ class crm_lead(crm_case, osv.osv):
domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]"),
'type_id': fields.many2one('crm.case.resource.type', 'Campaign', \
domain="['|',('section_id','=',section_id),('section_id','=',False)]", help="From which campaign (seminar, marketing campaign, mass mailing, ...) did this contact come from?"),
'channel_id': fields.many2one('res.partner.canal', 'Channel', help="From which channel (mail, direct, phone, ...) did this contact reach you?"),
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel (mail, direct, phone, ...)"),
'contact_name': fields.char('Contact Name', size=64),
'partner_name': fields.char("Customer Name", size=64,help='The name of the future partner that will be created while converting the into opportunity', select=1),
'optin': fields.boolean('Opt-In', help="If opt-in is checked, this contact has accepted to receive emails."),
-5
View File
@@ -71,11 +71,6 @@ class crm_phonecall(crm_base, osv.osv):
type="char", string="Contact", size=128),
'partner_mobile': fields.char('Mobile', size=32),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'canal_id': fields.many2one('res.partner.canal', 'Channel', \
help="The channels represent the different communication\
modes available with the customer." \
" With each commercial opportunity, you can indicate\
the channel it came through."),
'date_closed': fields.datetime('Closed', readonly=True),
'date': fields.datetime('Date'),
'opportunity_id': fields.many2one ('crm.lead', 'Lead/Opportunity'),
+34 -1
View File
@@ -7,7 +7,7 @@
<menuitem id="base.menu_crm_config_lead" name="Leads &amp; Opportunities"
parent="base.menu_base_config" sequence="1" groups="base.group_sale_manager"/>
<menuitem id="base.menu_crm_config_opportunity" name="Opportunities"
parent="base.menu_base_config" sequence="1" groups="base.group_sale_manager"/>
@@ -21,6 +21,39 @@
parent="base.menu_base_partner" sequence="11" />
<!-- crm.case.channel -->
<record id="crm_case_channel_view_tree" model="ir.ui.view">
<field name="name">crm.case.channel.tree</field>
<field name="model">crm.case.channel</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Channels">
<field name="name" select="1"/>
<field name="active" select="1"/>
</tree>
</field>
</record>
<record id="crm_case_channel_view_form" model="ir.ui.view">
<field name="name">crm.case.channel.form</field>
<field name="model">crm.case.channel</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Channel">
<field name="name" select="1"/>
<field name="active" select="1"/>
</form>
</field>
</record>
<record id="crm_case_channel_action" model="ir.actions.act_window">
<field name="name">Channels</field>
<field name="res_model">crm.case.channel</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="help">Track from where is coming your leads and opportunities by creating specific channels that will be maintained at the creation of a document in the system. Some examples of channels can be: Website, Phone Call, Reseller, etc.</field>
</record>
<menuitem action="crm_case_channel_action" id="menu_crm_case_channel" parent="base.menu_crm_config_lead" sequence="4"/>
<!-- Case Sections Form View -->
<record id="crm_case_section_view_form" model="ir.ui.view">
+1 -1
View File
@@ -57,7 +57,7 @@ class crm_lead_report(osv.osv):
'user_id':fields.many2one('res.users', 'User', readonly=True),
'country_id':fields.many2one('res.country', 'Country', readonly=True),
'section_id':fields.many2one('crm.case.section', 'Sales Team', readonly=True),
'channel_id':fields.many2one('res.partner.canal', 'Channel', readonly=True),
'channel_id':fields.many2one('crm.case.channel', 'Channel', readonly=True),
'type_id':fields.many2one('crm.case.resource.type', 'Campaign', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'creation_month':fields.selection(MONTHS, 'Creation Date', readonly=True),
+2 -1
View File
@@ -3,6 +3,8 @@
"access_crm_segmentation_line_user","crm.segmentation.line user","model_crm_segmentation_line","base.group_sale_salesman",1,0,0,0
"access_crm_segmentation","crm.segmentation","model_crm_segmentation","base.group_sale_manager",1,1,1,1
"access_crm_segmentation_line","crm.segmentation.line","model_crm_segmentation_line","base.group_sale_manager",1,1,1,1
"access_crm_case_channel_user","crm.case.channel user","model_crm_case_channel","base.group_sale_salesman",1,0,0,0
"access_crm_case_channel_manager","crm.case.channel manager","model_crm_case_channel","base.group_sale_manager",1,1,1,1
"access_crm_case_section","crm.case.section","model_crm_case_section","base.group_sale_salesman",1,1,1,0
"access_crm_case_categ","crm.case.categ","model_crm_case_categ","base.group_sale_salesman",1,1,1,0
"access_crm_meeting_manager","crm.meeting.manager","model_crm_meeting","base.group_sale_manager",1,1,1,1
@@ -41,7 +43,6 @@
"access_crm_lead_report_user","crm.lead.report user","model_crm_lead_report","base.group_sale_salesman",1,1,1,1
"access_res_partner_bank_type_crm_user","res.partner.bank.type.crm.user","base.model_res_partner_bank_type","base.group_sale_salesman",1,0,0,0
"access_res_partner_bank_type_crm_manager","res.partner.bank.type.crm.manager","base.model_res_partner_bank_type","base.group_sale_manager",1,0,0,0
"access_res_partner_canal_manager","res.partner.canal.manager","base.model_res_partner_canal","base.group_sale_manager",1,1,1,1
"access_crm_lead_partner_manager","crm.lead.partner.manager","model_crm_lead","base.group_partner_manager",1,1,1,1
"access_crm_phonecall_partner_manager","crm.phonecall.partner.manager","model_crm_phonecall","base.group_partner_manager",1,1,1,1
"access_crm_meeting_partner_manager","crm.meeting.partner.manager","model_crm_meeting","base.group_partner_manager",1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
3 access_crm_segmentation_line_user crm.segmentation.line user model_crm_segmentation_line base.group_sale_salesman 1 0 0 0
4 access_crm_segmentation crm.segmentation model_crm_segmentation base.group_sale_manager 1 1 1 1
5 access_crm_segmentation_line crm.segmentation.line model_crm_segmentation_line base.group_sale_manager 1 1 1 1
6 access_crm_case_channel_user crm.case.channel user model_crm_case_channel base.group_sale_salesman 1 0 0 0
7 access_crm_case_channel_manager crm.case.channel manager model_crm_case_channel base.group_sale_manager 1 1 1 1
8 access_crm_case_section crm.case.section model_crm_case_section base.group_sale_salesman 1 1 1 0
9 access_crm_case_categ crm.case.categ model_crm_case_categ base.group_sale_salesman 1 1 1 0
10 access_crm_meeting_manager crm.meeting.manager model_crm_meeting base.group_sale_manager 1 1 1 1
43 access_crm_lead_report_user crm.lead.report user model_crm_lead_report base.group_sale_salesman 1 1 1 1
44 access_res_partner_bank_type_crm_user res.partner.bank.type.crm.user base.model_res_partner_bank_type base.group_sale_salesman 1 0 0 0
45 access_res_partner_bank_type_crm_manager res.partner.bank.type.crm.manager base.model_res_partner_bank_type base.group_sale_manager 1 0 0 0
access_res_partner_canal_manager res.partner.canal.manager base.model_res_partner_canal base.group_sale_manager 1 1 1 1
46 access_crm_lead_partner_manager crm.lead.partner.manager model_crm_lead base.group_partner_manager 1 1 1 1
47 access_crm_phonecall_partner_manager crm.phonecall.partner.manager model_crm_phonecall base.group_partner_manager 1 1 1 1
48 access_crm_meeting_partner_manager crm.meeting.partner.manager model_crm_meeting base.group_partner_manager 1 1 1 1
@@ -70,8 +70,6 @@ class crm_fundraising(crm.crm_case, osv.osv):
'duration': fields.float('Duration'),
'ref': fields.reference('Reference', selection=crm._links_get, size=128),
'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128),
'canal_id': fields.many2one('res.partner.canal', 'Channel', \
help="The channels represent the different communication modes available with the customer."),
'state': fields.selection(crm.AVAILABLE_STATES, 'State', size=16, readonly=True,
help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\
@@ -186,7 +186,6 @@
<field name="active"/>
<field name="id" select="1"/>
<field name="priority" string="Priority"/>
<field name="canal_id"/>
</group>
<group col="2" colspan="2">
<separator colspan="4" string="Dates"/>
+1 -2
View File
@@ -64,8 +64,7 @@ class crm_helpdesk(crm.crm_case, osv.osv):
'date': fields.datetime('Date'),
'ref' : fields.reference('Reference', selection=crm._links_get, size=128),
'ref2' : fields.reference('Reference 2', selection=crm._links_get, size=128),
'canal_id': fields.many2one('res.partner.canal', 'Channel', \
help="The channels represent the different communication modes available with the customer."),
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
'planned_revenue': fields.float('Planned Revenue'),
'planned_cost': fields.float('Planned Costs'),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
+1 -5
View File
@@ -2,7 +2,6 @@
<openerp>
<data noupdate="1">
<record id="crm_helpdesk_wheretodownloadopenerp0" model="crm.helpdesk">
<field model="res.partner.canal" name="canal_id" search="[('name', '=', u'E-mail')]"/>
<field eval="1" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
@@ -15,7 +14,6 @@
</record>
<record id="crm_helpdesk_cannotabletoconnecttoserver0" model="crm.helpdesk">
<field model="res.partner.canal" name="canal_id" search="[('name', '=', u'website')]"/>
<field eval="1" name="active"/>
<field name="user_id" ref="base.user_demo"/>
<field name="company_id" ref="base.main_company"/>
@@ -28,7 +26,6 @@
</record>
<record id="crm_helpdesk_documentationforcrm0" model="crm.helpdesk">
<field model="res.partner.canal" name="canal_id" search="[('name', '=', u'phone')]"/>
<field eval="1" name="active"/>
<field name="user_id" ref="base.user_root"/>
<field name="company_id" ref="base.main_company"/>
@@ -41,7 +38,6 @@
</record>
<record id="crm_helpdesk_howtocreateanewmodule0" model="crm.helpdesk">
<field model="res.partner.canal" name="canal_id" search="[('name', '=', u'E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_9"/>
<field eval="1" name="active"/>
<field name="partner_id" ref="base.res_partner_2"/>
@@ -54,4 +50,4 @@
<field eval="&quot;How can I create new module in OpenERP?&quot;" name="description"/>
</record>
</data>
</openerp>
</openerp>
+1 -1
View File
@@ -62,7 +62,7 @@
<separator colspan="4" string="Categorization"/>
<field name="priority"/>
<field name="categ_id" context="{'object_id':'crm.helpdesk'}"/>
<field name="canal_id"/>
<field name="channel_id"/>
</group>
<separator colspan="4" string="Notes"/>
@@ -56,7 +56,7 @@ class crm_helpdesk_report(osv.osv):
'date_deadline': fields.date('Deadline', select=True),
'priority': fields.selection([('5', 'Lowest'), ('4', 'Low'), \
('3', 'Normal'), ('2', 'High'), ('1', 'Highest')], 'Priority'),
'canal_id': fields.many2one('res.partner.canal', 'Channel'),
'channel_id': fields.many2one('crm.case.channel', 'Channel'),
'categ_id': fields.many2one('crm.case.categ', 'Category', \
domain="[('section_id','=',section_id),\
('object_id.model', '=', 'crm.helpdesk')]"),
@@ -93,7 +93,7 @@ class crm_helpdesk_report(osv.osv):
c.priority,
c.date_deadline,
c.categ_id,
c.canal_id,
c.channel_id,
c.planned_cost,
count(*) as nbr,
extract('epoch' from (c.date_closed-c.create_date))/(3600*24) as delay_close,
@@ -104,7 +104,7 @@ class crm_helpdesk_report(osv.osv):
group by to_char(c.date, 'YYYY'), to_char(c.date, 'MM'),to_char(c.date, 'YYYY-MM-DD'),\
c.state, c.user_id,c.section_id,c.priority,\
c.partner_id,c.company_id,c.date_deadline,c.create_date,c.date,c.date_closed,\
c.categ_id,c.canal_id,c.planned_cost,c.id
c.categ_id,c.channel_id,c.planned_cost,c.id
)""")
crm_helpdesk_report()
@@ -25,7 +25,7 @@
<field name="planned_cost"/>
<field name="state" invisible="1"/>
<field name="day" invisible="1"/>
<field name="canal_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
</tree>
</field>
</record>
@@ -106,9 +106,7 @@
domain="[]"
context="{'group_by':'partner_id'}" />
<separator orientation="vertical" />
<filter string="Channel" icon="terp-call-start"
domain="[]"
context="{'group_by':'canal_id'}" />
<filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
<separator orientation="vertical" />
<filter string="State" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" />
+2 -2
View File
@@ -284,7 +284,7 @@
</record>
<menuitem action="open_view_categ_tree"
id="menu_view_employee_category_tree" parent="hr.menu_view_employee_category_form"/>
id="menu_view_employee_category_tree" parent="menu_view_employee_category_configuration_form" sequence="2"/>
<record id="view_hr_job_form" model="ir.ui.view">
<field name="name">hr.job.form</field>
@@ -377,7 +377,7 @@
</record>
<menuitem name="Recruitment" id="base.menu_crm_case_job_req_main" parent="menu_hr_root" groups="base.group_hr_user"/>
<menuitem parent="base.menu_crm_case_job_req_main" id="menu_hr_job" action="action_hr_job" sequence="2"/>
<menuitem parent="hr.menu_view_employee_category_configuration_form" id="menu_hr_job" action="action_hr_job" sequence="2"/>
</data>
</openerp>
@@ -25,7 +25,6 @@
<field eval="'1236547890'" name="partner_phone"/>
</record>
<record id="hr_case_traineemca0" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_14"/>
<field eval="time.strftime('%Y-%m-10 18:15:00')" name="date"/>
<field name="type_id" ref="degree_bac5"/>
@@ -45,7 +44,6 @@
<field eval="'6633225'" name="partner_phone"/>
</record>
<record id="hr_case_fresher0" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','direct')]"/>
<field eval="time.strftime('%Y-%m-15 16:10:00')" name="date"/>
<field eval="time.strftime('%Y-%m-18')" name="date_deadline"/>
<field name="type_id" ref="degree_licenced"/>
@@ -115,7 +113,6 @@
<field eval="'33968745'" name="partner_phone"/>
</record>
<record id="hr_case_traineemca1" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_14"/>
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
<field name="type_id" ref="degree_bac5"/>
@@ -136,7 +133,6 @@
</record>
<record id="hr_case_programmer" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_14"/>
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
<field name="type_id" ref="degree_bac5"/>
@@ -46,6 +46,9 @@
name="Applicants"
parent="base.menu_crm_case_job_req_main"
id="menu_crm_case_categ0_act_job" action="crm_case_categ0_act_job" sequence="1"/>
<menuitem parent="base.menu_crm_case_job_req_main" id="menu_hr_job" action="hr.action_hr_job" sequence="2"/>
</data>
</openerp>
+1 -1
View File
@@ -304,7 +304,7 @@
<field name="search_view_id" ref="mrp_routing_search_view"/>
<field name="help">Routings allow you to create and manage the manufacturing operations that should be followed within your work centers in order to produce a product. They are attached to bills of materials that will define the required raw materials.</field>
</record>
<menuitem action="mrp_routing_action" id="menu_mrp_routing_action" parent="mrp.menu_mrp_property" groups="base.group_extended" sequence="30"/>
<menuitem action="mrp_routing_action" id="menu_mrp_routing_action" parent="mrp.menu_mrp_property" groups="base.group_extended" sequence="1"/>
<!--
Bill of Materials
+2 -2
View File
@@ -469,8 +469,8 @@ class product_product(osv.osv):
_inherits = {'product.template': 'product_tmpl_id'}
_order = 'default_code,name_template'
_columns = {
'qty_available': fields.function(_product_qty_available, type='float', string='Real Stock'),
'virtual_available': fields.function(_product_virtual_available, type='float', string='Virtual Stock'),
'qty_available': fields.function(_product_qty_available, type='float', string='Quantity On Hand'),
'virtual_available': fields.function(_product_virtual_available, type='float', string='Quantity Available'),
'incoming_qty': fields.function(_product_incoming_qty, type='float', string='Incoming'),
'outgoing_qty': fields.function(_product_outgoing_qty, type='float', string='Outgoing'),
'price': fields.function(_product_price, type='float', string='Pricelist', digits_compute=dp.get_precision('Sale Price')),
+1 -5
View File
@@ -206,14 +206,10 @@ class project_issue(crm.crm_case, osv.osv):
# Project Issue fields
'date_closed': fields.datetime('Closed', readonly=True,select=True),
'date': fields.datetime('Date'),
'canal_id': fields.many2one('res.partner.canal', 'Channel', help="The channels represent the different communication modes available with the customer." \
" With each commercial opportunity, you can indicate the canall which is this opportunity source."),
'channel_id': fields.many2one('crm.case.channel', 'Channel', help="Communication channel."),
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'version_id': fields.many2one('project.issue.version', 'Version'),
'partner_name': fields.char("Partner Name", size=64),
'partner_mobile': fields.char('Mobile', size=32),
'partner_phone': fields.char('Phone', size=32),
'type_id': fields.many2one ('project.task.type', 'Resolution', domain="[('project_ids', '=', project_id)]"),
'project_id':fields.many2one('project.project', 'Project'),
'duration': fields.float('Duration'),
@@ -198,7 +198,6 @@
</record>
<record id="crm_case_createnewobject0" model="project.issue">
<field model="res.partner.canal" name="canal_id" search="[('name','=','phone')]"/>
<field name="partner_address_id" ref="base.res_partner_address_6"/>
<field eval="time.strftime('%Y-%m-15 10:35:15')" name="date"/>
<field eval="&quot;3&quot;" name="priority"/>
@@ -66,7 +66,7 @@ class project_issue_report(osv.osv):
'version_id': fields.many2one('project.issue.version', 'Version'),
'assigned_to' : fields.many2one('res.users', 'Assigned to',readonly=True),
'partner_id': fields.many2one('res.partner','Partner',domain="[('object_id.model', '=', 'project.issue')]"),
'canal_id': fields.many2one('res.partner.canal', 'Channel',readonly=True),
'channel_id': fields.many2one('crm.case.channel', 'Channel',readonly=True),
'task_id': fields.many2one('project.task', 'Task',domain="[('object_id.model', '=', 'project.issue')]" ),
'email': fields.integer('# Emails', size=128, readonly=True),
}
@@ -97,7 +97,7 @@ class project_issue_report(osv.osv):
1 as nbr,
c.assigned_to,
c.partner_id,
c.canal_id,
c.channel_id,
c.task_id,
date_trunc('day',c.create_date) as create_date,
extract('epoch' from (c.date_open-c.create_date))/(3600*24) as delay_open,
@@ -18,7 +18,7 @@
<field name="section_id" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="categ_id" invisible="1"/>
<field name="canal_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
<field name="task_id" invisible="1"/>
<field name="assigned_to" invisible="1"/>
+1 -1
View File
@@ -14,7 +14,7 @@
<menuitem
id="menu_purchase_config_pricelist" name="Pricelists"
parent="menu_purchase_config_purchase" sequence="50"/>
parent="menu_purchase_config_purchase" sequence="50" groups="base.group_extended"/>
<menuitem
action="product.product_pricelist_action" id="menu_product_pricelist_action_purhase"
+1 -1
View File
@@ -241,7 +241,7 @@ class resource_resource(osv.osv):
'resource_type': fields.selection([('user','Human'),('material','Material')], 'Resource Type', required=True),
'user_id' : fields.many2one('res.users', 'User', help='Related user name for the resource to manage its access.'),
'time_efficiency' : fields.float('Efficiency factor', size=8, required=True, help="This field depict the efficiency of the resource to complete tasks. e.g resource put alone on a phase of 5 days with 5 tasks assigned to him, will show a load of 100% for this phase by default, but if we put a efficency of 200%, then his load will only be 50%."),
'calendar_id' : fields.many2one("resource.calendar", "Working Period", help="Define the schedule of resource"),
'calendar_id' : fields.many2one("resource.calendar", "Working Time", help="Define the schedule of resource"),
}
_defaults = {
'resource_type' : 'user',
-1
View File
@@ -794,7 +794,6 @@ class sale_order(osv.osv):
'document': '',
'partner_id': part,
'date': time.strftime('%Y-%m-%d'),
'canal_id': False,
'user_id': uid,
'partner_type': partnertype,
'probability': 1.0,
+2 -2
View File
@@ -328,8 +328,8 @@ class product_product(osv.osv):
return res
_columns = {
'qty_available': fields.function(_product_available, type='float', string='Real Stock', help="Current quantities of products in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')),
'virtual_available': fields.function(_product_available, type='float', string='Virtual Stock', help="Future stock for this product according to the selected locations or all internal if none have been selected. Computed as: Real Stock - Outgoing + Incoming.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')),
'qty_available': fields.function(_product_available, type='float', string='Quantity On Hand', help="Current quantities of products in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')),
'virtual_available': fields.function(_product_available, type='float', string='Quantity Available', help="Forcasted quantity (computed as Quantity On Hand - Outgoing + Incoming) in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')),
'incoming_qty': fields.function(_product_available, type='float', string='Incoming', help="Quantities of products that are planned to arrive in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')),
'outgoing_qty': fields.function(_product_available, type='float', string='Outgoing', help="Quantities of products that are planned to leave in selected locations or all internal if none have been selected.", multi='qty_available', digits_compute=dp.get_precision('Product UoM')),
'track_production': fields.boolean('Track Manufacturing Lots' , help="Forces to specify a Production Lot for all moves containing this product and generated by a Manufacturing Order"),