[MERGE] merged with main trunk

bzr revid: qdp-launchpad@openerp.com-20120628123618-wyfrmfiw68xlt1aw
This commit is contained in:
Quentin (OpenERP) 2012-06-28 14:36:18 +02:00
commit 08d25cb352
114 changed files with 1277 additions and 1245 deletions

View File

@ -1,9 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!--
Invoices
-->
<!-- Invoices -->
<record id="view_invoice_line_calendar" model="ir.ui.view">
<field name="name">account.invoice.calendar</field>
<field name="model">account.invoice</field>
@ -148,12 +147,14 @@
<field name="arch" type="xml">
<form version="7.0">
<header>
<button name="invoice_open" states="draft" string="Validate" class="oe_highlight"/>
<button name="invoice_open" states="proforma2" string="Validate"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Ask Refund' states='open,paid'/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
<span groups="base.group_user">
<button name="invoice_open" states="draft" string="Validate" class="oe_highlight"/>
<button name="invoice_open" states="proforma2" string="Validate"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Ask Refund' states='open,paid'/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
</span>
<field name="state" widget="statusbar" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
</header>
<sheet string="Supplier Invoice">
@ -275,15 +276,17 @@
<field name="arch" type="xml">
<form version="7.0">
<header>
<button name="action_invoice_sent" type="object" string="Send by Email" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}" class="oe_highlight"/>
<button name="invoice_print" string="Print Invoice" type="object" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}" class="oe_highlight"/>
<button name="invoice_open" states="draft" string="Validate" class="oe_highlight"/>
<button name="invoice_open" states="proforma2" string="Validate"/>
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" groups="account.group_proforma_invoices"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Refund Invoice' states='paid'/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
<button name="action_cancel_draft" states="cancel" string="Reset to Draft" type="object"/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
<span groups="base.group_user">
<button name="action_invoice_sent" type="object" string="Send by Email" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}" class="oe_highlight"/>
<button name="invoice_print" string="Print Invoice" type="object" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}" class="oe_highlight"/>
<button name="invoice_open" states="draft" string="Validate" class="oe_highlight"/>
<button name="invoice_open" states="proforma2" string="Validate"/>
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" groups="account.group_proforma_invoices"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Refund Invoice' states='paid'/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
<button name="action_cancel_draft" states="cancel" string="Reset to Draft" type="object"/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
</span>
<!--button name="%(account_invoices)d" string="Print Invoice" type="action" states="open,paid,proforma,sale,proforma2"/-->
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
</header>
@ -321,9 +324,8 @@
<field domain="[('company_id', '=', company_id),('type','=', 'receivable')]"
name="account_id" groups="account.group_account_user"/>
<label for="currency_id"/>
<div>
<field name="currency_id" class="oe_inline"/>
<field name="currency_id"/>
<div groups="base.group_user">
<button name="%(action_account_change_currency)d" type="action"
icon="terp-stock_effects-object-colorize"
attrs="{'invisible':[('state','!=','draft')]}"
@ -369,15 +371,15 @@
<field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="date_due"/>
<field name="user_id"/>
<field name="user_id" groups="base.group_user"/>
<newline/>
<field domain="[('partner_id.ref_companies', 'in', [company_id])]" name="partner_bank_id"/>
<field name="origin" placeholder="SO0032"/>
<field name="origin" placeholder="SO0032" groups="base.group_user"/>
<field name="move_id" groups="account.group_account_user"/>
</group>
<field name="comment" placeholder="Add an additional information in the invoice..."/>
</page>
<page string="Payments">
<page string="Payments" groups="base.group_user">
<field name="payment_ids">
<tree string="Payments">
<field name="date"/>

View File

@ -8,7 +8,7 @@
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<notebook position="inside">
<page string="Accounting">
<page string="Accounting" groups="base.group_user">
<group name="properties">
<group>
<field name="property_account_income" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]" attrs="{'readonly':[('sale_ok','=',0)]}"/>

View File

@ -99,14 +99,6 @@ class account_config_settings(osv.osv_memory):
'module_account_followup': fields.boolean('Manage Customer Payment Follow-ups',
help="""This allows to automate letters for unpaid invoices, with multi-level recalls.
This installs the module account_followup."""),
'module_account_invoice_layout': fields.boolean('Allow Notes and Subtotals',
help="""This provides some features to improve the layout of invoices.
It gives you the possibility to:
* order all the lines of an invoice
* add titles, comment lines, sub total lines
* draw horizontal lines and put page breaks.
This installs the module account_invoice_layout."""),
'group_proforma_invoices': fields.boolean('Allow Pro-forma Invoices',
implied_group='account.group_proforma_invoices',
help="Allows you to put invoices in pro-forma state."),

View File

@ -98,7 +98,6 @@
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
<field name="sale_refund_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
</group>
<field name="module_account_invoice_layout"/>
<field name="module_account_voucher"/>
<field name="module_account_followup"/>
<field name="group_proforma_invoices"/>

View File

@ -272,7 +272,7 @@
icon="terp-partner" type="action"
context="{'model' : 'calendar.event', 'attendee_field':'attendee_ids'}" colspan="2"/>
<field name="attendee_ids" colspan="4"
nolabel="1" widget="one2many" mode="tree,form">
nolabel="1" widget="one2many" mode="tree">
<tree string="Invitation details" editable="top">
<field name="sent_by_uid" string="From"/>
<field name="user_id" string="To"/>

View File

@ -19,7 +19,7 @@
#
##############################################################################
from osv import fields
from osv import fields, osv
from tools.translate import _
class base_stage(object):

View File

@ -7,15 +7,8 @@
res_model="crm.meeting"
view_mode="calendar,tree,form,gantt"
context="{'search_default_partner_id': active_id, 'default_duration': 4.0}"
domain="[('partner_id', '=', active_id)]"
/>
<record model="ir.actions.act_window" id="crm_case_categ_meet_create_partner">
<field name="name">Schedule a Meeting</field>
<field name="context">{'default_partner_id': active_id}</field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_calendar_meet_partner">
<field name="sequence" eval="1"/>
<field name="view_mode">calendar</field>

View File

@ -101,7 +101,7 @@
attrs="{'readonly': [('state', '=', 'done')]}"
context="{'model' : 'crm.meeting', 'attendee_field':'attendee_ids'}" colspan="2"/>
<field name="attendee_ids" colspan="4"
nolabel="1" widget="one2many" mode="tree,form">
nolabel="1" widget="one2many" mode="tree">
<tree string="Invitation details" editable="top">
<field name="sent_by_uid" string="From"/>
<field name="user_id" string="To"/>

View File

@ -61,7 +61,7 @@ added to partners that match the segmentation criterions after computation.'),
for categ in categs:
if start:
if categ['exclusif']:
cr.execute('delete from res_partner_category_rel \
cr.execute('delete from res_partner_res_partner_category_rel \
where category_id=%s', (categ['categ_id'][0],))
id = categ['id']
@ -81,7 +81,7 @@ added to partners that match the segmentation criterions after computation.'),
partners.remove(pid)
for partner_id in partners:
cr.execute('insert into res_partner_category_rel (category_id,partner_id) \
cr.execute('insert into res_partner_res_partner_category_rel (category_id,partner_id) \
values (%s,%s)', (categ['categ_id'][0], partner_id))
self.write(cr, uid, [id], {'state':'not running', 'partner_id':0})

View File

@ -4,7 +4,7 @@
<menuitem id="menu_config_claim" name="Claim"
groups="base.group_no_one"
parent="base.menu_base_config" sequence="55" />
parent="base.menu_base_config" sequence="55"/>
<!-- Claims categories -->
@ -70,7 +70,7 @@
<tree string="Claims" colors="blue:state=='pending' and not(date_deadline and (date_deadline &lt; current_date));gray:state in ('close', 'cancel');red:date_deadline and (date_deadline &lt; current_date)">
<field name="name"/>
<field name="partner_id"/>
<field name="user_id" />
<field name="user_id"/>
<field name="date"/>
<field name="stage_id"/>
<field name="date_action_next"/>
@ -90,43 +90,45 @@
<field name="arch" type="xml">
<form version="7.0">
<header>
<button name="case_open" string="Open" type="object"
states="draft,pending"/>
<button name="case_close" string="Done" type="object"
states="open,pending"/>
<button name="case_refuse" string="Refuse" type="object"
states="draft,open,pending"/>
<button name="stage_previous" string="Previous Stage" type="object"
states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="stage_next" string="Next Stage" type="object"
states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="case_reset" string="Reset to Draft" type="object"
states="cancel,done"/>
<button name="case_cancel" string="Cancel" type="object"
states="draft,open,pending"/>
<span groups="base.group_user">
<button name="case_open" string="Open" type="object"
states="draft,pending"/>
<button name="case_close" string="Done" type="object"
states="open,pending"/>
<button name="case_refuse" string="Refuse" type="object"
states="draft,open,pending"/>
<button name="stage_previous" string="Previous Stage" type="object"
states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="stage_next" string="Next Stage" type="object"
states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="case_reset" string="Reset to Draft" type="object"
states="cancel,done"/>
<button name="case_cancel" string="Cancel" type="object"
states="draft,open,pending"/>
</span>
<field name="stage_id" widget="statusbar"
on_change="onchange_stage_id(stage_id)"/>
</header>
<sheet string="Claims">
<group>
<field name="name" />
<field name="name"/>
<field name="date"/>
</group>
<group colspan="4" col="6">
<field name="user_id"/>
<field name="section_id" widget="selection" />
<field name="section_id" widget="selection"/>
<field name="state" groups="base.group_no_one"/>
<newline />
<field name="priority"/>
<newline/>
<field name="priority" groups="base.group_user"/>
<field name="date_deadline"/>
</group>
<group colspan="4" col="4">
<notebook>
<page string="Claim Description">
<group colspan="2" col="2">
<group colspan="2" col="2" groups="base.group_user">
<separator colspan="2" string="Claim Reporter"/>
<field name="partner_id" string="Partner"
on_change="onchange_partner_id(partner_id)" />
on_change="onchange_partner_id(partner_id)"/>
<field name="partner_phone"/>
<field name="email_from" widget="email"/>
</group>
@ -134,7 +136,7 @@
<separator colspan="2" string="Responsibilities"/>
<field name="user_fault"/>
<field name="categ_id" widget="selection"
domain="[('object_id.model', '=', 'crm.claim')]" />
domain="[('object_id.model', '=', 'crm.claim')]"/>
<field name="ref"/>
</group>
<separator colspan="4" string="Claim/Action Description"/>
@ -200,17 +202,14 @@
<separator orientation="vertical"/>
<filter icon="terp-check" string="New" name="current"
domain="[('state','=','draft')]"
help="New Claims" />
help="New Claims"/>
<filter icon="terp-camera_test"
string="In Progress"
domain="[('state','=','open')]"
help="In Progress Claims"
/>
help="In Progress Claims"/>
<filter icon="terp-gtk-media-pause"
string="Pending"
domain="[('state','=','pending')]"
help="All pending Claims"
/>
domain="[('state','=','pending')]"/>
<filter string="Unassigned Claims"
icon="terp-personal-"
domain="[('user_id','=', False)]"
@ -222,25 +221,25 @@
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner"
domain="[]" help="Partner"
context="{'group_by':'partner_id'}" />
context="{'group_by':'partner_id'}"/>
<filter string="Responsible" icon="terp-personal"
domain="[]" help="Responsible User"
context="{'group_by':'user_id'}" />
context="{'group_by':'user_id'}"/>
<separator orientation="vertical"/>
<filter string="Stage" icon="terp-stage"
domain="[]" context="{'group_by':'stage_id'}" />
domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="Type" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'categ_id'}" />
domain="[]" context="{'group_by':'categ_id'}"/>
<filter string="Status"
icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
<separator orientation="vertical"/>
<filter string="Claim Date" icon="terp-go-month"
domain="[]" help="Claim Date"
context="{'group_by':'date'}" />
context="{'group_by':'date'}"/>
<filter string="Deadline" icon="terp-go-month"
domain="[]"
context="{'group_by':'date_deadline'}" />
context="{'group_by':'date_deadline'}"/>
<filter string="Closure" icon="terp-go-month"
domain="[]" help="Date Closed"
context="{'group_by':'date_closed'}" groups="base.group_no_one"/>

View File

@ -67,7 +67,7 @@
</group>
<group string="Categorization">
<field name="priority"/>
<field name="categ_id" context="{'object_id':'crm.helpdesk'}"/>
<field name="categ_id" domain="[('object_id.model', '=', 'crm.helpdesk')]"/>
<field name="channel_id"/>
</group>
</group>

View File

@ -116,7 +116,7 @@ def _recompute_categ(self, cr, uid, pid, answers_ids):
ok = []
cr.execute('''
select r.category_id
from res_partner_category_rel r left join crm_segmentation s on (r.category_id = s.categ_id)
from res_partner_res_partner_category_rel r left join crm_segmentation s on (r.category_id = s.categ_id)
where r.partner_id = %s and (s.exclusif = false or s.exclusif is null)
''', (pid,))
for x in cr.fetchall():
@ -249,7 +249,7 @@ class crm_segmentation(osv.osv):
for categ in categs:
if start:
if categ['exclusif']:
cr.execute('delete from res_partner_category_rel where \
cr.execute('delete from res_partner_res_partner_category_rel where \
category_id=%s', (categ['categ_id'][0],))
id = categ['id']
@ -281,7 +281,7 @@ class crm_segmentation(osv.osv):
partners.remove(pid)
for partner_id in partners:
cr.execute('insert into res_partner_category_rel (category_id,partner_id) values (%s,%s)', (categ['categ_id'][0],partner_id))
cr.execute('insert into res_partner_res_partner_category_rel (category_id,partner_id) values (%s,%s)', (categ['categ_id'][0],partner_id))
self.write(cr, uid, [id], {'state':'not running', 'partner_id':0})
return True

View File

@ -520,7 +520,8 @@ class EDIMixin(object):
'datas': result,
'datas_fname': file_name,
'res_model': self._name,
'res_id': record.id},
'res_id': record.id,
'type': 'binary'},
context=context)
def _edi_import_attachments(self, cr, uid, record_id, edi_document, context=None):

View File

@ -108,7 +108,7 @@ class hr_job(osv.osv):
},
multi='no_of_employee'),
'no_of_recruitment': fields.float('Expected in Recruitment', help='Number of new employees you expect to recruit.'),
'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees'),
'employee_ids': fields.one2many('hr.employee', 'job_id', 'Employees', groups='base.group_user'),
'description': fields.text('Job Description'),
'requirements': fields.text('Requirements'),
'department_id': fields.many2one('hr.department', 'Department'),

View File

@ -10,11 +10,7 @@
<menuitem id="menu_hr_configuration" name="Configuration" parent="hr.menu_hr_root" groups="base.group_hr_manager" sequence="50"/>
<menuitem id="menu_hr_management" name="Human Resources" parent="hr.menu_hr_configuration" sequence="25"/>
<!--
==========
Employee
==========
-->
<!--Employee form view -->
<record id="view_employee_form" model="ir.ui.view">
<field name="name">hr.employee.form</field>
<field name="model">hr.employee</field>
@ -42,7 +38,7 @@
<group string="General">
<field name="user_id" on_change="onchange_user(user_id)"/>
<field name="active"/>
<field name="parent_id" />
<field name="parent_id"/>
</group>
<group groups="base.group_hr_user" string="Social IDs">
<field name="identification_id"/>
@ -57,15 +53,15 @@
</group>
<group string="Contact Information">
<field name="address_home_id"/>
<field name="address_id" on_change="onchange_address_id(address_id)" />
<field name="address_id" on_change="onchange_address_id(address_id)"/>
<field name="work_phone"/>
<field name="mobile_phone"/>
<field name="work_email" widget="email" />
<field name="work_email" widget="email"/>
<field name="work_location"/>
</group>
<group string="Job Information">
<field name="job_id" domain="[('state','!=','old')]" context="{'form_view_ref': 'hr.view_hr_job_employee_form'}"/>
<field name="coach_id" />
<field name="coach_id"/>
</group>
</group>
</page>
@ -94,7 +90,7 @@
<field name="department_id"/>
<field name="job_id"/>
<field name="parent_id"/>
<field name="coach_id" invisible="1" />
<field name="coach_id" invisible="1"/>
</tree>
</field>
</record>
@ -242,7 +238,7 @@
<field name="company_id" groups="base.group_multi_company"/>
<field name="department_id"/>
<field name="job_id"/>
<field name="coach_id" invisible="1" />
<field name="coach_id" invisible="1"/>
</tree>
</field>
</record>
@ -279,8 +275,8 @@
<field name="arch" type="xml">
<form string="Employee Category" version="7.0">
<group>
<field name="name" />
<field name="parent_id" />
<field name="name"/>
<field name="parent_id"/>
</group>
</form>
</field>
@ -354,15 +350,17 @@
<field name="arch" type="xml">
<form string="Job" version="7.0">
<header>
<button name="job_recruitement" string="In Recruitement" states="open" type="object"/>
<button name="job_open" string="Recruitment Done" states="recruit" type="object"/>
<span groups="base.group_user">
<button name="job_recruitement" string="In Recruitement" states="open" type="object"/>
<button name="job_open" string="Recruitment Done" states="recruit" type="object"/>
</span>
<field name="state" widget="statusbar" statusbar_visible="recruit,open"/>
</header>
<sheet>
<group>
<group>
<field name="name" />
<field name="department_id" />
<field name="name"/>
<field name="department_id"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
<group>
@ -378,7 +376,7 @@
<label for="requirements"/>
<field name="requirements"/>
</page>
<page string="Employees">
<page string="Employees" groups="base.group_user">
<field name="employee_ids" widget="many2many" mode="tree,form"/>
</page>
</notebook>
@ -393,8 +391,8 @@
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Job">
<field name="name" />
<field name="department_id" />
<field name="name"/>
<field name="department_id"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="expected_employees"/>
<field name="no_of_employee"/>
@ -438,8 +436,8 @@
<field name="arch" type="xml">
<form string="Job" version="7.0">
<group col="4">
<field name="name" />
<field name="department_id" />
<field name="name"/>
<field name="department_id"/>
</group>
<label for="description"/>
<field name="description"/>

View File

@ -1,49 +0,0 @@
# Spanish (Argentina) translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
"PO-Revision-Date: 2012-06-18 18:40+0000\n"
"Last-Translator: Eduardo Alberto Calvo <Unknown>\n"
"Language-Team: Spanish (Argentina) <es_AR@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-06-19 04:54+0000\n"
"X-Generator: Launchpad (build 15435)\n"
#. module: html_view
#: field:html.view,name:0
msgid "Name"
msgstr "Nombre"
#. module: html_view
#: field:html.view,comp_id:0
msgid "Company"
msgstr "Compañía"
#. module: html_view
#: model:ir.actions.act_window,name:html_view.action_html_view_form
#: model:ir.ui.menu,name:html_view.html_form
msgid "Html Test"
msgstr "Prueba html"
#. module: html_view
#: view:html.view:0
msgid "Html Example"
msgstr "Ejemplo html"
#. module: html_view
#: field:html.view,bank_ids:0
msgid "Banks"
msgstr "Bancos"
#. module: html_view
#: model:ir.model,name:html_view.model_html_view
msgid "html.view"
msgstr "html.view"

View File

@ -5,7 +5,8 @@
<!-- toplevel menu -->
<menuitem id="mail_feeds_main" name="Feeds" sequence="0"
web_icon="static/src/img/feeds.png"
web_icon_hover="static/src/img/feeds-hover.png" />
web_icon_hover="static/src/img/feeds-hover.png"
groups="base.group_user"/>
<!-- left-side menu: Feeds !-->
<menuitem id="mail_feeds" name="Feeds" parent="mail_feeds_main"/>

View File

@ -1,12 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<template>
<div t-name="mail.Wall" class="oe_mail_wall">
<div t-name="mail.Wall" class="oe_view_manager oe_mail_wall oe_view_manager_global">
<table class="oe_view_manager_header">
<colgroup>
<col width="33%"/>
<col width="33%"/>
<col width="34%"/>
</colgroup>
<tbody>
<tr class="oe_header_row">
<td><h2 class="oe_view_title">All Feeds</h2></td>
<td colspan="2">
<h2 class="oe_view_title">
<span class="oe_view_title_text">All Feeds</span>
</h2>
</td>
<td><div class="oe_view_manager_view_search" t-opentag="true"/></td>
</tr>
</tbody>
</table>
<div class="oe_mail_wall_main">
<div class="oe_mail_wall_action">

View File

@ -40,10 +40,14 @@ module 'share'.
'security/portal_security.xml',
'security/ir.model.access.csv',
'portal_view.xml',
'portal_data.xml',
'res_user_view.xml',
'wizard/portal_wizard_view.xml',
'wizard/share_wizard_view.xml',
],
'demo': [
'portal_demo.xml',
],
'installable': True,
}

View File

@ -97,34 +97,9 @@ class portal(osv.osv):
act_window_obj.write(cr, uid, action_ids, action_values, context)
return True
def do_create_menu(self, cr, uid, ids, context=None):
""" create a parent menu for the given portals """
menu_obj = self.pool.get('ir.ui.menu')
ir_data = self.pool.get('ir.model.data')
menu_root = self._res_xml_id(cr, uid, 'portal', 'portal_menu')
for p in self.browse(cr, uid, ids, context):
# create a menuitem under 'portal.portal_menu'
menu_values = {
'name': _('%s Menu') % p.name,
'parent_id': menu_root,
'groups_id': [(6, 0, [p.group_id.id])],
}
menu_id = menu_obj.create(cr, uid, menu_values, context)
# set the parent_menu_id to item_id
self.write(cr, uid, [p.id], {'parent_menu_id': menu_id}, context)
menu_values.pop('parent_id')
menu_values.pop('groups_id')
menu_values.update({'model': 'ir.ui.menu',
'module': 'portal',
'res_id': menu_id,
'noupdate': 'True'})
data_id = ir_data.create(cr, uid, menu_values, context)
return True
def _assign_menu(self, cr, uid, ids, context=None):
""" assign portal menu to users of portals (ids) """
""" assign portal_menu_settings to users of portals (ids) """
user_obj = self.pool.get('res.users')
for p in self.browse(cr, uid, ids, context):
# user menu action = portal menu action if set in portal

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="portal" model="res.portal">
<field name="name">Portal</field>
<field name="group_id" ref="group_portal_member"/>
<field name="override_menu" eval="True"/>
<field name="parent_menu_id" ref="portal_members_root_menu"/>
</record>
</data>
</openerp>

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- menu Administration/Portals -->
<menuitem name="Portals" id="portal_menu" parent="base.menu_administration"
groups="group_portal_manager"/>
<!-- menu Administration/Portals/Portals -->
<record id="portal_list_action" model="ir.actions.act_window">
@ -19,8 +16,6 @@ portal group). A portal menu, widgets and specific groups may be assigned to
the portal's users.
</field>
</record>
<menuitem name="Portals" id="portal_list_menu"
parent="portal_menu" sequence="1" action="portal_list_action"/>
<!-- portal tree view -->
<record id="portal_list_view" model="ir.ui.view">
@ -70,5 +65,42 @@ the portal's users.
</page>
</field>
</record>
<record id="company_news_feed" model="mail.group">
<field name="name">Company's news feed</field>
</record>
<record id="action_news" model="ir.actions.act_window">
<field name="name">News</field>
<field name="res_model">mail.group</field>
<field name="res_id" ref="company_news_feed"/>
<field name="view_mode">form</field>
</record>
<!-- module's menu -->
<!-- menu Administration/Portals -->
<menuitem name="Portals Settings" id="portal_menu_settings" parent="base.menu_administration"
groups="group_portal_manager"/>
<menuitem name="Portals" id="portal_list_menu" parent="portal_menu_settings" action="portal_list_action"/>
<!-- root menu for portal members (chrooted in this menu) -->
<menuitem name="Portal Members Root Menu" id="portal_members_root_menu" parent="portal_menu_settings"/>
<menuitem name="Portal Member's Menu" id="menu_portal" parent="portal_members_root_menu"/>
<menuitem name="Our company" id="portal_company"
parent="menu_portal" sequence="10"/>
<menuitem name="News" id="portal_company_news"
parent="portal_company" sequence="10" action="action_news"/>
<menuitem name="Orders" id="portal_orders"
parent="menu_portal" sequence="20"/>
<menuitem name="Invoices and Payments" id="portal_invoices_payements"
parent="menu_portal" sequence="30"/>
<menuitem name="Projects" id="portal_projects"
parent="menu_portal" sequence="40"/>
<menuitem name="After Sale Services" id="portal_after_sales"
parent="menu_portal" sequence="50"/>
</data>
</openerp>

View File

@ -1,5 +1,11 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_all,access.portal.all,model_res_portal,,1,0,0,0
access_widget_all,access.portal.widget.all,model_res_portal_widget,,1,0,0,0
access_manager,access.portal.manager,model_res_portal,group_portal_manager,1,1,1,1
access_widget_manager,access.portal.widget.manager,model_res_portal_widget,group_portal_manager,1,1,1,1
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_all,access.portal.all,model_res_portal,,1,0,0,0
access_widget_all,access.portal.widget.all,model_res_portal_widget,,1,0,0,0
access_manager,access.portal.manager,model_res_portal,group_portal_manager,1,1,1,1
access_widget_manager,access.portal.widget.manager,model_res_portal_widget,group_portal_manager,1,1,1,1
access_mail_message,mail.message,mail.model_mail_message,group_portal_member,1,0,1,1
access_mail_message_all,mail.message.all,mail.model_mail_message,group_portal_member,1,0,0,0
access_mail_thread,mail.thread,mail.model_mail_thread,group_portal_member,1,0,0,0
access_mail_subscription,mail.subscription,mail.model_mail_subscription,group_portal_member,1,0,1,1
access_mail_notification,mail.notification,mail.model_mail_notification,group_portal_member,1,0,1,0
access_mail_group,mail.group,mail.model_mail_group,group_portal_member,1,0,0,0

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_all access.portal.all model_res_portal 1 0 0 0
3 access_widget_all access.portal.widget.all model_res_portal_widget 1 0 0 0
4 access_manager access.portal.manager model_res_portal group_portal_manager 1 1 1 1
5 access_widget_manager access.portal.widget.manager model_res_portal_widget group_portal_manager 1 1 1 1
6 access_mail_message mail.message mail.model_mail_message group_portal_member 1 0 1 1
7 access_mail_message_all mail.message.all mail.model_mail_message group_portal_member 1 0 0 0
8 access_mail_thread mail.thread mail.model_mail_thread group_portal_member 1 0 0 0
9 access_mail_subscription mail.subscription mail.model_mail_subscription group_portal_member 1 0 1 1
10 access_mail_notification mail.notification mail.model_mail_notification group_portal_member 1 0 1 0
11 access_mail_group mail.group mail.model_mail_group group_portal_member 1 0 0 0

View File

@ -1,17 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record model="ir.module.category" id="module_category_portal">
<data>
<!-- Don't use any implied_ids here; this group behavior is particular -->
<record id="group_portal_member" model="res.groups">
<field name="name">Portal Member</field>
<field name="comment">Portal members can access information provided by the portal menu and the others module it's linked with. Also, portal members are chrooted in a specific menu.</field>
</record>
<record id="module_category_portal" model="ir.module.category">
<field name="name">Portal</field>
<field name="parent_id" ref="base.module_category_tools"/>
<field name="sequence">25</field>
</record>
<!-- No implied ids with 'member' since this group is highly restrictive (chrooted menu) -->
<record id="group_portal_officer" model="res.groups">
<field name="name">Officer</field>
<field name="comment">Portal officers can create new portal users with the portal wizard.</field>
<field name="category_id" ref="module_category_portal"/>
</record>
<record id="group_portal_manager" model="res.groups">
<field name="name">Manager</field>
<field name="comment">Portal managers have access to the portal definitions, and can easily configure the users, access rights and menus of portal users.</field>
@ -19,5 +28,6 @@
<field name="implied_ids" eval="[(4, ref('group_portal_officer'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
</data>
</openerp>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -90,12 +90,22 @@ class wizard(osv.osv_memory):
def _default_user_ids(self, cr, uid, context):
""" determine default user_ids from the active records """
def create_user_from_address(address):
return { # a user config based on a contact (address)
'name': address.name,
'user_email': extract_email(address.email),
'lang': address.parent_id and address.parent_id.lang or 'en_US',
'partner_id': address.parent_id and address.parent_id.id,
}
if isinstance(address, int):
res_partner_obj = self.pool.get('res.partner')
address = res_partner_obj.browse(cr, uid, address, context=context)
lang = address.id and address.lang or 'en_US'
partner_id = address.id
else:
lang = address.parent_id and address.parent_id.lang or 'en_US'
partner_id = address.parent_id and address.parent_id.id
return{
'name': address.name,
'user_email': extract_email(address.email),
'lang': lang,
'partner_id': partner_id,
}
user_ids = []
if context.get('active_model') == 'res.partner':
@ -106,6 +116,8 @@ class wizard(osv.osv_memory):
# add one user per contact, or one user if no contact
if p.child_ids:
user_ids.extend(map(create_user_from_address, p.child_ids))
elif p.is_company == False and p.customer == True:
user_ids.extend(map(create_user_from_address, [p.id]))
else:
user_ids.append({'lang': p.lang or 'en_US', 'parent_id': p.id})
@ -147,6 +159,7 @@ class wizard(osv.osv_memory):
'share': True,
'action_id': wiz.portal_id.home_action_id and wiz.portal_id.home_action_id.id or False,
'partner_id': u.partner_id and u.partner_id.id,
'groups_id': [(6, 0, [])],
} for u in wiz.user_ids if u.user_email not in existing_logins ]
portal_obj.write(cr, ROOT_UID, [wiz.portal_id.id],
{'users': [(0, 0, data) for data in new_users_data]}, context0)

View File

@ -116,7 +116,7 @@ class share_wizard_portal(osv.osv_memory):
# In both cases, we call super() to create the share group, but when
# sharing with existing groups, we will later delete it, and copy its
# access rights and rules to the selected groups.
group_id = super(share_wizard_portal,self)._create_share_users_group(cr, uid, wizard_data, context=context)
super_result = super(share_wizard_portal,self)._create_share_users_group(cr, uid, wizard_data, context=context)
# For sharing with existing groups, we don't create a share group, instead we'll
# alter the rules of the groups so they can see the shared data
@ -139,10 +139,10 @@ class share_wizard_portal(osv.osv_memory):
wizard_data.write({'result_line_ids': [(0,0,new_line)]})
elif wizard_data.user_ids:
# must take care of existing users, by adding them to the new group, which is group_ids[0],
# must take care of existing users, by adding them to the new group, which is super_result[0],
# and adding the shortcut
selected_user_ids = [x.id for x in wizard_data.user_ids]
self.pool.get('res.users').write(cr, UID_ROOT, selected_user_ids, {'groups_id': [(4,group_id)]})
self.pool.get('res.users').write(cr, UID_ROOT, selected_user_ids, {'groups_id': [(4, super_result[0])]})
self._setup_action_and_shortcut(cr, uid, wizard_data, selected_user_ids, make_home=False, context=context)
# populate the result lines for existing users too
for user in wizard_data.user_ids:
@ -150,7 +150,7 @@ class share_wizard_portal(osv.osv_memory):
'newly_created': False}
wizard_data.write({'result_line_ids': [(0,0,new_line)]})
return group_id
return super_result
def copy_share_group_access_and_delete(self, cr, wizard_data, share_group_id, context=None):
# In the case of sharing with existing groups, the strategy is to copy

View File

@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2010-2011 OpenERP s.a. (<http://openerp.com>).
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@ -14,9 +15,7 @@
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Portal Claim',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
This module adds claim menu and features to your portal if claim and portal are
installed.
""",
'author': 'OpenERP SA',
'depends': ['crm_claim','portal'],
'data': [
'security/portal_security.xml',
'portal_claim_view.xml',
"security/ir.model.access.csv",
],
'installable': True,
'auto_install':True,
'category':'Hidden',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,20 @@
<?xml version="1.0"?>
<openerp>
<data>
<record id="crm_case_categ_claim0" model="ir.actions.act_window">
<field name="name">Claims</field>
<field name="res_model">crm.claim</field>
<field name="view_type">form</field>
<field name="view_mode">tree,calendar,form</field>
<field name="view_id" ref="crm_claim.crm_case_claims_tree_view"/>
<field name="context">{"search_default_user_id":'', "stage_type":'claim'}</field>
<field name="search_view_id" ref="crm_claim.view_crm_case_claims_filter"/>
<field name="help">Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module.</field>
</record>
<menuitem name="Claims" id="portal_after_sales_claims" parent="portal.portal_after_sales"
action="crm_case_categ_claim0" sequence="10"/>
</data>
</openerp>

View File

@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_crm_claim,crm.claim,crm_claim.model_crm_claim,portal.group_portal_member,1,0,0,0
access_crm_claim_stage,crm.claim.stage,crm_claim.model_crm_claim_stage,portal.group_portal_member,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_crm_claim crm.claim crm_claim.model_crm_claim portal.group_portal_member 1 0 0 0
3 access_crm_claim_stage crm.claim.stage crm_claim.model_crm_claim_stage portal.group_portal_member 1 0 0 0

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="portal_stock_picking_user_rule" model="ir.rule">
<field name="name">Personal Claims</field>
<field ref="crm_claim.model_crm_claim" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
</data>
</openerp>

View File

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import wizard

View File

@ -2,7 +2,7 @@
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2010-2011 OpenERP s.a. (<http://openerp.com>).
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@ -18,29 +18,26 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Receive User Feedback',
'version': '2.0',
'category': 'Tools',
'description': """
Add Feedback button in header.
==============================
Invite OpenERP user feedback, powered by uservoice.
{
'name': 'Portal CRM',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
This module adds crm menu and features (contact form) to your portal if crm and
portal are installed.
""",
'author': 'OpenERP SA',
'website': 'http://openerp.com',
'depends': ['base'],
'data': [],
'installable': True,
'auto_install': False,
'certificate': '0040452504963885',
'js': ['static/src/js/web_uservoice.js'],
'qweb' : [
"static/src/xml/*.xml",
'depends': ['crm','portal'],
'data': [
'security/ir.model.access.csv',
'wizard/contact_view.xml',
],
'images': ['static/src/img/submit_an_idea.jpeg', 'static/src/img/web_uservoice_feedback.jpeg'],
}
'installable': True,
'auto_install':True,
'category':'Hidden',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink

View File

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2011 OpenERP S.A (<http://www.openerp.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import contact

View File

@ -0,0 +1,40 @@
from openerp.osv import osv, fields
class crm_contact_us(osv.TransientModel):
""" Create new leads through the "contact us" form """
_name = 'portal_crm.crm_contact_us'
_description = 'Contact form for the portal'
_inherit = 'crm.lead'
def create(self, cr, uid, values, context=None):
"""
Since they potentially sensitive, we don't want any user to be able to
read datas generated through this module. That's why we'll write those
information in the crm.lead table and leave blank entries in the
portal_crm.crm_contact_us table. This is why the create() method is
overridden.
"""
crm_lead = self.pool.get('crm.lead')
"""
Because of the complex inheritance of the crm.lead model and the other
models implied (like mail.thread, among others, that performs a read
when its create() method is called (in method message_get_subscribers()),
it is quite complicated to set proper rights for this object.
Therefore, user #1 will perform the creation until a better workaround
is figured out.
"""
crm_lead.create(cr, 1, dict(values,user_id=False), context)
""" Create an empty record in the portal_crm.crm_contact_us table """
return super(crm_contact_us, self).create(cr, uid, {})
def submit(self, cr, uid, ids, context=None):
""" When the form is submitted, redirect the user to a "Thanks" message """
return {'type': 'ir.actions.act_window',
'view_mode': 'form',
'view_type': 'form',
'res_model': self._name,
'res_id': ids[0],
'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'portal_crm', 'wizard_contact_form_view_thanks')[1]
}

View File

@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<openerp>
<data>
<!-- wizard form view -->
<record id="wizard_contact_form_view" model="ir.ui.view">
<field name="name">Wizard form view</field>
<field name="model">portal_crm.crm_contact_us</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Contact Us wizard view">
<group col="2">
<field name="contact_name" string="Name"/>
<field name="name" string="Company"/>
<field name="email_from"/>
<field name="phone"/>
<field name="description" string="Your question"/>
<label string=""/>
<button string="Submit" name="submit" type="object"/>
</group>
</form>
</field>
</record>
<!-- wizard thanks message (shows after submitting the form) -->
<record id="wizard_contact_form_view_thanks" model="ir.ui.view">
<field name="name">Wizard thanks message</field>
<field name="model">portal_crm.crm_contact_us</field>
<field name="type">form</field>
<!-- give it a low priority to ensure this won't be the default view -->
<field name="priority">99</field>
<field name="arch" type="xml">
<form string="Thank you">
<!--
make sure there is at least one field in the view,
otherwise the orm will try to select all the model's
records and this will result in a permission denied error
-->
<field name="name" invisible="1"/>
<label string="Thank you for your interest, we'll respond to your request shortly."/>
</form>
</field>
</record>
<!-- wizard action -->
<record id="action_wizard_contact_us" model="ir.actions.act_window">
<field name="name">Contact Us</field>
<field name="res_model">portal_crm.crm_contact_us</field>
<field name="view_mode">form</field>
</record>
<!-- attach it to the portal menu -->
<menuitem name="Contact" id="portal_company_contact"
parent="portal.portal_company" action="action_wizard_contact_us" sequence="30"/>
</data>
</openerp>

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

View File

@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Portal Event',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
This module adds event menu and features to your portal if event and portal are
installed.
""",
'author': 'OpenERP SA',
'depends': ['event','portal'],
'data': [
'security/portal_security.xml',
'portal_event_view.xml',
'security/ir.model.access.csv',
],
'installable': True,
'auto_install':True,
'category':'Hidden',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem name="Events" id="portal_company_events" parent="portal.portal_company"
action="event.action_event_view" sequence="40"/>
</data>
</openerp>

View File

@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_event,event,event.model_event_event,portal.group_portal_member,1,0,0,0
access_registration,registration,event.model_event_registration,portal.group_portal_member,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_event event event.model_event_event portal.group_portal_member 1 0 0 0
3 access_registration registration event.model_event_registration portal.group_portal_member 1 0 0 0

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="portal_event_rule" model="ir.rule">
<field name="name">Personal Events</field>
<field ref="event.model_event_event" name="model_id"/>
<field name="domain_force">[]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_registration_rule" model="ir.rule">
<field name="name">Personal Registrations</field>
<field ref="event.model_event_registration" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
</data>
</openerp>

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

View File

@ -0,0 +1,42 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Portal Jobs',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
This module adds applications menu and features to your portal if hr and portal
are installed.
""",
'author': 'OpenERP SA',
'depends': ['hr','portal'],
'data': [
'portal_jobs_view.xml',
'security/ir.model.access.csv',
],
'installable': True,
'auto_install':True,
'category':'Hidden',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem name="Jobs" id="portal_company_jobs"
parent="portal.portal_company" action="hr.action_hr_job"
sequence="20"/>
</data>
</openerp>

View File

@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_job,job,hr.model_hr_job,portal.group_portal_member,1,0,0,0
access_hr_department_employee,hr_department_employee,hr.model_hr_department,portal.group_portal_member,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_job job hr.model_hr_job portal.group_portal_member 1 0 0 0
3 access_hr_department_employee hr_department_employee hr.model_hr_department portal.group_portal_member 1 0 0 0

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

View File

@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Portal Issue',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
This module adds project menu and features (tasks) to your portal if project
and portal are installed.
""",
'author': 'OpenERP SA',
'depends': ['project','portal'],
'data': [
'security/portal_security.xml',
'security/ir.model.access.csv',
'portal_project_view.xml',
],
'installable': True,
'auto_install':True,
'category':'Hidden',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<menuitem name="Tasks" id="portal_services_tasks" parent="portal.portal_projects"
action="project.action_view_task" sequence="20"/>
</data>
</openerp>

View File

@ -0,0 +1,4 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_task,tasks,project.model_project_task,portal.group_portal_member,1,0,0,0
access_task_type,task_type,project.model_project_task_type,portal.group_portal_member,1,0,0,0
access_task_work,task_work,project.model_project_task_work,portal.group_portal_member,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_task tasks project.model_project_task portal.group_portal_member 1 0 0 0
3 access_task_type task_type project.model_project_task_type portal.group_portal_member 1 0 0 0
4 access_task_work task_work project.model_project_task_work portal.group_portal_member 1 0 0 0

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="portal_task_rule" model="ir.rule">
<field name="name">Personal Task</field>
<field ref="project.model_project_task" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
</data>
</openerp>

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

View File

@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Portal Issue',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
This module adds issue menu and features to your portal if project_issue and
portal are installed.
""",
'author': 'OpenERP SA',
'depends': ['project_issue','portal'],
'data': [
'security/portal_security.xml',
'security/ir.model.access.csv',
'portal_project_issue_view.xml',
],
'installable': True,
'auto_install':True,
'category':'Hidden',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="project_issue_categ_act0" model="ir.actions.act_window">
<field name="name">Issues</field>
<field name="res_model">project.issue</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,calendar</field>
<field name="view_id" eval="False"/>
<field name="domain" eval=""/>
<field name="context">{"search_default_user_id":'', "search_default_draft":'', "search_default_todo":''}</field>
<field name="search_view_id" ref="project_issue.view_project_issue_filter"/>
<field name="help">Issues such as system bugs, customer complaints, and material breakdowns are collected here. You can define the stages assigned when solving the project issue (analysis, development, done). With the mailgateway module, issues can be integrated through an email address (example: support@mycompany.com)</field>
</record>
<menuitem name="Issues" id="portal_after_sales_issues" parent="portal.portal_projects"
action="project_issue_categ_act0" sequence="10"/>
</data>
</openerp>

View File

@ -0,0 +1,2 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_issues,project_issue,project_issue.model_project_issue,portal.group_portal_member,1,0,1,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_issues project_issue project_issue.model_project_issue portal.group_portal_member 1 0 1 0

View File

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="portal_issue_rule" model="ir.rule">
<field name="name">Personal Issues</field>
<field ref="project_issue.model_project_issue" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
</data>
</openerp>

View File

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

View File

@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Portal Sale',
'version': '0.1',
'category': 'Tools',
'complexity': "easy",
'description': """
This module adds sale menu and features to your portal if sale and portal are
installed.
""",
'author': 'OpenERP SA',
'depends': ['sale','portal'],
'data': [
'security/portal_security.xml',
'portal_sale_view.xml',
"security/ir.model.access.csv",
],
'installable': True,
'auto_install':True,
'category':'Hidden',
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,43 @@
<?xml version="1.0"?>
<openerp>
<data>
<record id="action_picking_tree" model="ir.actions.act_window">
<field name="name">Delivery Orders</field>
<field name="res_model">stock.picking</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree</field>
<field name="domain">[('type','=','out')]</field>
<field name="context">{'default_type': 'out', 'contact_display': 'partner_address'}</field>
<field name="search_view_id" ref="stock.view_picking_out_search"/>
<field name="help">This is the list of all delivery orders that have to be prepared, according to your different sales orders and your logistics rules.</field>
</record>
<record id="product_normal_action" model="ir.actions.act_window">
<field name="name">Products</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.product</field>
<field name="view_type">form</field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="product.product_kanban_view"/>
<field name="search_view_id" ref="product.product_search_form_view"/>
<field name="help">You must define a Product for everything you buy or sell. Products can be raw materials, stockable products, consumables or services. The Product form contains detailed information about your products related to procurement logistics, sales price, product category, suppliers and so on.</field>
</record>
<menuitem name="Quotations" id="portal_quotations" parent="portal.portal_orders"
action="sale.action_order_tree5" sequence="10"/>
<menuitem name="Sales Orders" id="portal_sales_orders" parent="portal.portal_orders"
action="sale.action_order_form" sequence="20"/>
<menuitem name="Delivery Orders" id="portal_delivery" parent="portal.portal_orders"
action="action_picking_tree" sequence="30"/>
<menuitem name="Products" id="portal_products" parent="portal.portal_orders"
action="product_normal_action" sequence="40"/>
<menuitem name="Invoice" id="portal_invoices" parent="portal.portal_invoices_payements"
action="account.action_invoice_tree1" sequence="10"/>
<menuitem name="Refund/Payments" id="portal_payments" parent="portal.portal_invoices_payements"
action="account_voucher.action_vendor_receipt" sequence="20"/>
</data>
</openerp>

View File

@ -0,0 +1,32 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_sale_order,sale.order,sale.model_sale_order,portal.group_portal_member,1,0,0,0
access_sale_order_line,sale.order.line,sale.model_sale_order_line,portal.group_portal_member,1,0,0,0
access_stock_picking,stock.picking,stock.model_stock_picking,portal.group_portal_member,1,0,0,0
access_stock_move,stock.move,stock.model_stock_move,portal.group_portal_member,1,0,0,0
access_stock_warehouse_orderpoint,stock.warehouse.orderpoint,procurement.model_stock_warehouse_orderpoint,portal.group_portal_member,1,0,0,0
access_account_invoice,account.invoice,account.model_account_invoice,portal.group_portal_member,1,0,0,0
access_account_invoice_tax,account.invoice.tax,account.model_account_invoice_tax,portal.group_portal_member,1,0,0,0
access_account_invoice_line,account.invoice.line,account.model_account_invoice_line,portal.group_portal_member,1,0,0,0
access_account_journal,account.journal,account.model_account_journal,portal.group_portal_member,1,0,0,0
access_account_voucher,account.voucher,account_voucher.model_account_voucher,portal.group_portal_member,1,0,0,0
access_account_voucher_line,account.voucher.line,account_voucher.model_account_voucher_line,portal.group_portal_member,1,0,0,0
access_account_move,account.move,account.model_account_move,portal.group_portal_member,1,0,0,0
access_account_move_line,account.move.line,account.model_account_move_line,portal.group_portal_member,1,0,0,0
access_account_move_reconcile,account.move.reconcile,account.model_account_move_reconcile,portal.group_portal_member,1,0,0,0
access_account_fiscalyear,account.sequence.fiscalyear,account.model_account_sequence_fiscalyear,portal.group_portal_member,1,0,0,0
access_sale_shop,sale.shop,sale.model_sale_shop,portal.group_portal_member,1,0,0,0
access_product_list,product.pricelist,product.model_product_pricelist,portal.group_portal_member,1,0,0,0
access_product,product.product,product.model_product_product,portal.group_portal_member,1,0,0,0
access_res_partner,res.partner,base.model_res_partner,portal.group_portal_member,1,0,0,0
access_product_uom,product.uom,product.model_product_uom,portal.group_portal_member,1,0,0,0
access_account_tax,account.tax,account.model_account_tax,portal.group_portal_member,1,0,0,0
access_mrp_property,mrp.property,procurement.model_mrp_property,portal.group_portal_member,1,0,0,0
access_product_template,product.template,product.model_product_template,portal.group_portal_member,1,0,0,0
access_stock_warehouse,stock.warehouse,stock.model_stock_warehouse,portal.group_portal_member,1,0,0,0
access_stock_location,stock.location,stock.model_stock_location,portal.group_portal_member,1,0,0,0
access_account_fiscalyear,account.fiscalyear,account.model_account_fiscalyear,portal.group_portal_member,1,0,0,0
access_res_partner_category,res.partner.category,base.model_res_partner_category,portal.group_portal_member,1,0,0,0
access_product_supplierinfo,product.supplierinfo,product.model_product_supplierinfo,portal.group_portal_member,1,0,0,0
access_product_packaging,product.packaging,product.model_product_packaging,portal.group_portal_member,1,0,0,0
access_account_period,account.period,account.model_account_period,portal.group_portal_member,1,0,0,0
access_account_account,account.account,account.model_account_account,portal.group_portal_member,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_sale_order sale.order sale.model_sale_order portal.group_portal_member 1 0 0 0
3 access_sale_order_line sale.order.line sale.model_sale_order_line portal.group_portal_member 1 0 0 0
4 access_stock_picking stock.picking stock.model_stock_picking portal.group_portal_member 1 0 0 0
5 access_stock_move stock.move stock.model_stock_move portal.group_portal_member 1 0 0 0
6 access_stock_warehouse_orderpoint stock.warehouse.orderpoint procurement.model_stock_warehouse_orderpoint portal.group_portal_member 1 0 0 0
7 access_account_invoice account.invoice account.model_account_invoice portal.group_portal_member 1 0 0 0
8 access_account_invoice_tax account.invoice.tax account.model_account_invoice_tax portal.group_portal_member 1 0 0 0
9 access_account_invoice_line account.invoice.line account.model_account_invoice_line portal.group_portal_member 1 0 0 0
10 access_account_journal account.journal account.model_account_journal portal.group_portal_member 1 0 0 0
11 access_account_voucher account.voucher account_voucher.model_account_voucher portal.group_portal_member 1 0 0 0
12 access_account_voucher_line account.voucher.line account_voucher.model_account_voucher_line portal.group_portal_member 1 0 0 0
13 access_account_move account.move account.model_account_move portal.group_portal_member 1 0 0 0
14 access_account_move_line account.move.line account.model_account_move_line portal.group_portal_member 1 0 0 0
15 access_account_move_reconcile account.move.reconcile account.model_account_move_reconcile portal.group_portal_member 1 0 0 0
16 access_account_fiscalyear account.sequence.fiscalyear account.model_account_sequence_fiscalyear portal.group_portal_member 1 0 0 0
17 access_sale_shop sale.shop sale.model_sale_shop portal.group_portal_member 1 0 0 0
18 access_product_list product.pricelist product.model_product_pricelist portal.group_portal_member 1 0 0 0
19 access_product product.product product.model_product_product portal.group_portal_member 1 0 0 0
20 access_res_partner res.partner base.model_res_partner portal.group_portal_member 1 0 0 0
21 access_product_uom product.uom product.model_product_uom portal.group_portal_member 1 0 0 0
22 access_account_tax account.tax account.model_account_tax portal.group_portal_member 1 0 0 0
23 access_mrp_property mrp.property procurement.model_mrp_property portal.group_portal_member 1 0 0 0
24 access_product_template product.template product.model_product_template portal.group_portal_member 1 0 0 0
25 access_stock_warehouse stock.warehouse stock.model_stock_warehouse portal.group_portal_member 1 0 0 0
26 access_stock_location stock.location stock.model_stock_location portal.group_portal_member 1 0 0 0
27 access_account_fiscalyear account.fiscalyear account.model_account_fiscalyear portal.group_portal_member 1 0 0 0
28 access_res_partner_category res.partner.category base.model_res_partner_category portal.group_portal_member 1 0 0 0
29 access_product_supplierinfo product.supplierinfo product.model_product_supplierinfo portal.group_portal_member 1 0 0 0
30 access_product_packaging product.packaging product.model_product_packaging portal.group_portal_member 1 0 0 0
31 access_account_period account.period account.model_account_period portal.group_portal_member 1 0 0 0
32 access_account_account account.account account.model_account_account portal.group_portal_member 1 0 0 0

View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- Sale Portal Access Rules -->
<record id="portal_sale_order_user_rule" model="ir.rule">
<field name="name">Personal Quotations/Sales Orders</field>
<field ref="sale.model_sale_order" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_stock_picking_user_rule" model="ir.rule">
<field name="name">Personal Delivery Orders</field>
<field ref="stock.model_stock_picking" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',[user.partner_id.id])]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_account_invoice_user_rule" model="ir.rule">
<field name="name">Personal Account Invoices</field>
<field ref="account.model_account_invoice" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_personal_payment" model="ir.rule">
<field name="name">Personal Payments</field>
<field ref="account_voucher.model_account_voucher" name="model_id"/>
<field name="domain_force">[('partner_id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
<record id="portal_personal_contact" model="ir.rule">
<field name="name">Personal Contacts</field>
<field ref="base.model_res_partner" name="model_id"/>
<field name="domain_force">[('id','child_of',user.partner_id.id)]</field>
<field name="groups" eval="[(4, ref('portal.group_portal_member'))]"/>
</record>
</data>
</openerp>

View File

@ -298,7 +298,7 @@ class product_template(osv.osv):
'rental': fields.boolean('Can be Rent'),
'categ_id': fields.many2one('product.category','Category', required=True, change_default=True, domain="[('type','=','normal')]" ,help="Select category for the current product"),
'list_price': fields.float('Sale Price', digits_compute=dp.get_precision('Sale Price'), help="Base price for computing the customer price. Sometimes called the catalog price."),
'standard_price': fields.float('Cost Price', required=True, digits_compute=dp.get_precision('Purchase Price'), help="Product's cost for accounting stock valuation. It is the base price for the supplier price."),
'standard_price': fields.float('Cost Price', required=True, digits_compute=dp.get_precision('Purchase Price'), help="Product's cost for accounting stock valuation. It is the base price for the supplier price.", groups="base.group_user"),
'volume': fields.float('Volume', help="The volume in m3."),
'weight': fields.float('Gross Weight', digits_compute=dp.get_precision('Stock Weight'), help="The gross weight in Kg."),
'weight_net': fields.float('Net Weight', digits_compute=dp.get_precision('Stock Weight'), help="The net weight in Kg."),

View File

@ -14,23 +14,23 @@
<filter string="Services" icon="terp-accessories-archiver" domain="[('type','=','service')]"/>
<filter string="Products" icon="terp-accessories-archiver" domain="['|',('type','=','product'),('type','=','consu')]" help="Both stockable and consumable products"/>
<filter string="To Sell" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/>
<filter name="filter_to_purchase" string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]" />
<filter name="filter_to_purchase" string="To Purchase" icon="terp-accessories-archiver+" domain="[('purchase_ok', '=', 1)]"/>
<separator orientation="vertical"/>
<field name="categ_id" widget="selection" operator="child_of"/>
<group expand="0" string="Context...">
<field name="pricelist_id" widget="selection" context="{'pricelist': self}" groups="product.group_sale_pricelist"/>
<separator orientation="vertical" groups="base.group_multi_company" />
<field name="company_id" widget="selection" groups="base.group_multi_company" />
<separator orientation="vertical" groups="base.group_multi_company"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
<newline/>
<group expand='0' string='Group by...'>
<filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}"/>
<separator orientation="vertical"/>
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}" />
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}"/>
<separator orientation="vertical"/>
<filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}" />
<filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/>
<separator orientation="vertical" groups="base.group_multi_company"/>
<filter string='Company' icon="terp-go-home" domain="[]" context="{'group_by' : 'company_id'}" groups="base.group_multi_company" />
<filter string='Company' icon="terp-go-home" domain="[]" context="{'group_by' : 'company_id'}" groups="base.group_multi_company"/>
</group>
</search>
@ -60,6 +60,7 @@
</tree>
</field>
</record>
<record id="product_normal_form_view" model="ir.ui.view">
<field name="name">product.normal.form</field>
<field name="model">product.product</field>
@ -68,34 +69,34 @@
<field name="arch" type="xml">
<form string="Product" version="7.0">
<sheet>
<field name="product_image" widget="image" class="oe_avatar oe_right" />
<field name="product_image" widget="image" class="oe_avatar oe_right"/>
<div class="oe_title">
<div class="oe_edit_only">
<label for="name" string="Product Name" />
<label for="name" string="Product Name"/>
</div>
<h1>
<field name="name"/>
</h1>
<label for="categ_id" class="oe_edit_only" />
<h2><field name="categ_id" /></h2>
<label for="categ_id" class="oe_edit_only"/>
<h2><field name="categ_id"/></h2>
</div>
<notebook>
<page string="Information">
<group>
<group>
<field name="default_code"/>
<field name="ean13" placeholder="5901234123457" />
<field groups="product.group_product_variant" name="variants" />
<field name="ean13" placeholder="5901234123457"/>
<field groups="product.group_product_variant" name="variants"/>
</group>
<group>
<group groups="base.group_user">
<field name="sale_ok"/>
<field name="purchase_ok"/>
</group>
<group string="Procurement">
<field name="type"/>
<field name="procure_method"/>
<field name="supply_method"/>
<field name="supply_method" groups="base.group_user"/>
</group>
<group string="Prices">
<field name="list_price"/>
@ -126,7 +127,7 @@
</group>
</page>
<page string="Procurement &amp; Locations">
<page string="Procurement &amp; Locations" groups="base.group_user">
<group>
<group name="delay" string="Delays">
<field name="sale_delay" attrs="{'readonly':[('sale_ok','=',0)]}"/>
@ -134,7 +135,7 @@
<field name="warranty"/>
</group>
<group name="store" string="Storage Localisation">
<field name="loc_rack" attrs="{'readonly':[('type','=','service')]}" />
<field name="loc_rack" attrs="{'readonly':[('type','=','service')]}"/>
<field name="loc_row" attrs="{'readonly':[('type','=','service')]}"/>
<field name="loc_case" attrs="{'readonly':[('type','=','service')]}"/>
</group>
@ -145,11 +146,11 @@
</group>
</page>
<page string="Suppliers">
<page string="Suppliers" groups="base.group_user">
<field name="seller_ids" context="{'uom_id': uom_id}"/>
</page>
<page string="Descriptions">
<separator string="Internal Description"/>
<page string="Descriptions" groups="base.group_user">
<separator string="Description"/>
<field name="description"/>
<separator string="Sale Description"/>
<field name="description_sale" placeholder="This note will be displayed on quotations..."/>
@ -215,7 +216,8 @@
<t t-if="record.type.raw_value != 'service'">
<div>Stock: <field name="qty_available"/> on hand, <field name="virtual_available"/> available</div>
<div t-if="record.list_price.raw_value != 0">Public Price: <field name="lst_price"/></div>
<div>Cost : <field name="standard_price"/></div>
<!-- TODO would deserve to be hidden at the field level -->
<div groups="base.group_user">Cost : <field name="standard_price"/></div>
</t>
<div class="oe_kanban_clear"/>
</div>
@ -464,8 +466,8 @@
<field name="arch" type="xml">
<form string="Packaging" version="7.0">
<group>
<field name="name" />
<field name="type" />
<field name="name"/>
<field name="type"/>
</group>
</form>
</field>

View File

@ -93,7 +93,7 @@
<group>
<group string="Administration">
<field name="planned_hours" widget="float_time"/>
<field name="effective_hours" widget="float_time" />
<field name="effective_hours" widget="float_time"/>
<field name="resource_calendar_id"/>
</group>
<group string="Miscellaneous" name="misc">
@ -136,10 +136,10 @@
</group>
<newline />
<group expand="0" string="Group By...">
<filter string="Manager" name="Manager" icon="terp-personal" domain = "[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" name="Partner" icon="terp-partner" domain = "[]" context="{'group_by':'partner_id'}"/>
<filter string="Manager" name="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" name="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
<filter string="Parent" name="Parent" help="Parent" icon="terp-folder-blue" domain = "[]" context="{'group_by':'parent_id'}"/>
<filter string="Parent" name="Parent" help="Parent" icon="terp-folder-blue" domain = "[]" context="{'group_by':'parent_id'}"/>
</group>
</search>
</field>
@ -315,26 +315,28 @@
<field name="arch" type="xml">
<form string="Project" version="7.0">
<header>
<!--
<button name="do_open" string="Start Task" type="object"
states="draft,pending"/>
<button name="do_draft" string="Draft" type="object"
states="cancel,done"/>
-->
<button name="%(action_project_task_reevaluate)d" string="Reactivate" type="action"
states="done,cancelled" context="{'button_reactivate':True}"/>
<button name="action_close" string="Done" type="object"
states="draft,open,pending"/>
<button name="do_pending" string="Pending" type="object"
states="open"/>
<button name="%(action_project_task_delegate)d" string="Delegate" type="action"
states="pending,open,draft" groups="project.group_delegate_task"/>
<button name="do_cancel" string="Cancel" type="object"
states="draft,open,pending" />
<button name="stage_previous" string="Previous Stage" type="object"
states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="stage_next" string="Next Stage" type="object"
states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
<span groups="base.group_user">
<!--
<button name="do_open" string="Start Task" type="object"
states="draft,pending"/>
<button name="do_draft" string="Draft" type="object"
states="cancel,done"/>
-->
<button name="%(action_project_task_reevaluate)d" string="Reactivate" type="action"
states="done,cancelled" context="{'button_reactivate':True}"/>
<button name="action_close" string="Done" type="object"
states="draft,open,pending"/>
<button name="do_pending" string="Pending" type="object"
states="open"/>
<button name="%(action_project_task_delegate)d" string="Delegate" type="action"
states="pending,open,draft" groups="project.group_delegate_task"/>
<button name="do_cancel" string="Cancel" type="object"
states="draft,open,pending"/>
<button name="stage_previous" string="Previous Stage" type="object"
states="open,pending" icon="gtk-go-back" attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="stage_next" string="Next Stage" type="object"
states="open,pending" icon="gtk-go-forward" attrs="{'invisible': [('stage_id','=', False)]}"/>
</span>
<field name="stage_id" widget="statusbar"/>
</header>
<sheet string="Task">
@ -363,7 +365,7 @@
</group>
<notebook>
<page string="Description">
<field name="description" attrs="{'readonly':[('state','=','done')]}" placeholder="Add a Description..." />
<field name="description" attrs="{'readonly':[('state','=','done')]}" placeholder="Add a Description..."/>
<field name="work_ids" groups="project.group_tasks_work_on_tasks">
<tree string="Task Work" editable="top">
<field name="date"/>
@ -402,9 +404,9 @@
</page>
<page string="Extra Info" attrs="{'readonly':[('state','=','done')]}">
<group col="4">
<field name="priority"/>
<field name="priority" groups="base.group_user"/>
<field name="sequence"/>
<field name="partner_id" />
<field name="partner_id"/>
<field name="state" groups="base.group_no_one"/>
</group>
</page>
@ -425,7 +427,7 @@
<field name="arch" type="xml">
<kanban default_group_by="stage_id" >
<field name="color"/>
<field name="priority"/>
<field name="priority" groups="base.group_user"/>
<field name="stage_id"/>
<field name="user_id"/>
<field name="user_email"/>

View File

@ -116,7 +116,7 @@ class project_task(osv.osv):
search_extended += '''<filter domain="[('timebox_id','=', ''' + str(time.id) + ''')]" icon="''' + icon + '''" string="''' + time.name + '''" context="{'user_invisible': True}"/>\n'''
search_extended +='''<separator orientation="vertical"/>'''
res['arch'] = res['arch'].replace('<separator name="gtdsep"/>', search_extended)
res['arch'] = tools.ustr(res['arch']).replace('<separator name="gtdsep"/>', search_extended)
return res

View File

@ -241,7 +241,7 @@ class project_issue(base_stage, osv.osv):
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('object_id.model', '=', 'crm.project.bug')]"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'version_id': fields.many2one('project.issue.version', 'Version'),
'stage_id': fields.many2one ('project.task.type', 'Stages',
'stage_id': fields.many2one ('project.task.type', 'Stage',
domain="['|', ('project_ids', '=', project_id), ('case_default', '=', True)]"),
'project_id':fields.many2one('project.project', 'Project'),
'duration': fields.float('Duration'),

View File

@ -8,13 +8,13 @@
<record model="crm.case.categ" id="bug_categ">
<field name="name">Maintenance</field>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="object_id" search="[('model','=','project.issue')]" model="ir.model"/>
<field name="object_id" search="[('model','=','project.issue')]" model="ir.model"/>
</record>
<record model="crm.case.categ" id="feature_request_categ">
<field name="name">Feature Requests</field>
<field name="section_id" ref="crm.section_sales_department"/>
<field name="object_id" search="[('model','=','project.issue')]" model="ir.model"/>
<field name="object_id" search="[('model','=','project.issue')]" model="ir.model"/>
</record>
<!-- Case type_id -->

View File

@ -55,24 +55,26 @@
<field name="arch" type="xml">
<form version="7.0">
<header>
<button name="case_open" string="Open" type="object"
states="draft,pending"/>
<button name="case_close" string="Done" type="object"
states="draft,open,pending"/>
<button name="case_pending" string="Pending" type="object"
states="draft,open"/>
<button name="case_escalate" string="Escalate" type="object"
states="draft,open,pending"/>
<button name="case_reset" string="Reset to New" type="object"
states="cancelled,done"/>
<button name="stage_previous" string="Previous Stage" type="object"
states="open,pending" icon="gtk-go-back"
attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="stage_next" string="Next Stage" type="object"
states="open,pending" icon="gtk-go-forward"
attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="case_cancel" string="Cancel" type="object"
states="draft,open,pending"/>
<span groups="base.group_user">
<button name="case_open" string="Open" type="object"
states="draft,pending"/>
<button name="case_close" string="Done" type="object"
states="draft,open,pending"/>
<button name="case_pending" string="Pending" type="object"
states="draft,open"/>
<button name="case_escalate" string="Escalate" type="object"
states="draft,open,pending"/>
<button name="case_reset" string="Reset to New" type="object"
states="cancelled,done"/>
<button name="stage_previous" string="Previous Stage" type="object"
states="open,pending" icon="gtk-go-back"
attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="stage_next" string="Next Stage" type="object"
states="open,pending" icon="gtk-go-forward"
attrs="{'invisible': [('stage_id','=', False)]}"/>
<button name="case_cancel" string="Cancel" type="object"
states="draft,open,pending"/>
</span>
<field name="stage_id" widget="statusbar"/>
</header>
<sheet string="Issue">
@ -86,7 +88,7 @@
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)"/>
<field name="email_from"/>
</group><group>
<field name="task_id" on_change="onchange_task_id(task_id)" />
<field name="task_id" on_change="onchange_task_id(task_id)"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
<field name="version_id" widget="selection"/>
<field name="priority"/>
@ -94,7 +96,7 @@
<field name="state" groups="base.group_no_one"/>
</group>
</group>
<field name="description" placeholder="Add a description..." />
<field name="description" placeholder="Add a description..."/>
<notebook groups="base.group_no_one">
<page string="Extra Info">
@ -133,8 +135,8 @@
<field name="create_date" groups="base.group_no_one"/>
<field name="name"/>
<field name="partner_id"/>
<field name="project_id" />
<field name="priority" string="Priority"/>
<field name="project_id"/>
<field name="priority" string="Priority" groups="base.group_user"/>
<field name="version_id" widget="selection"/>
<field name="user_id"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
@ -168,24 +170,24 @@
<newline/>
<group expand="0" string="Group By..." >
<filter string="Responsible" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" />
domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-partner" domain="[]"
context="{'group_by':'partner_id'}" />
context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
<filter string="Project" icon="terp-folder-violet" domain="[]"
context="{'group_by':'project_id'}" />
context="{'group_by':'project_id'}"/>
<filter string="Version" icon="terp-gtk-jump-to-rtl"
domain="[]" context="{'group_by':'version_id'}" />
domain="[]" context="{'group_by':'version_id'}"/>
<separator orientation="vertical"/>
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]"
context="{'group_by':'categ_id'}" />
context="{'group_by':'categ_id'}"/>
<filter string="Priority" icon="terp-rating-rated" domain="[]"
context="{'group_by':'priority'}" />
context="{'group_by':'priority'}"/>
<filter string="Stage" icon="terp-stage" domain="[]"
context="{'group_by':'stage_id'}" />
context="{'group_by':'stage_id'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]"
context="{'group_by':'state'}" />
<separator orientation="vertical" />
context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Month" icon="terp-go-month"
domain="[]" context="{'group_by':'create_date'}" help="Creation Month"/>
</group>
@ -217,7 +219,7 @@
<kanban default_group_by="stage_id">
<field name="color"/>
<field name="state" groups="base.group_no_one"/>
<field name="priority"/>
<field name="priority" groups="base.group_user"/>
<field name="user_email"/>
<field name="user_id"/>
<templates>

View File

@ -168,7 +168,7 @@ class project_work(osv.osv):
vals_line['name'] = '%s: %s' % (tools.ustr(task.task_id.name), tools.ustr(vals['name']) or '/')
if 'user_id' in vals:
vals_line['user_id'] = vals['user_id']
result = self.get_user_related_details(cr, uid, vals['user_id'])
result = self.get_user_related_details(cr, uid, vals.get('user_id', task.user_id.id))
for fld in ('product_id', 'general_account_id', 'journal_id', 'product_uom_id'):
if result.get(fld, False):
vals_line[fld] = result[fld]

View File

@ -75,9 +75,6 @@ class sale_configuration(osv.osv_memory):
'group_multiple_shops': fields.boolean("Manage Multiple Shops",
implied_group='stock.group_locations',
help="This allows to configure and use multiple shops."),
'module_sale_layout': fields.boolean("Notes & Subtotals per Line",
help="""Allows to format sale order lines using notes, separators, titles and subtotals.
This installs the module sale_layout."""),
'module_warning': fields.boolean("Alerts by Products or Customers",
help="""Allow to configure warnings on products and trigger them when a user wants to sale a given product or a given customer.
Example: Product: this product is deprecated, do not purchase more than 5.

View File

@ -39,7 +39,6 @@
<field name="default_picking_policy" attrs="{'invisible':[('group_invoice_deli_orders','=',False)]}"/>
<field name="group_discount_per_so_line"/>
<field name="module_sale_margin"/>
<field name="module_sale_layout"/>
<field name="module_sale_journal"/>
</group>
</group>

View File

@ -103,26 +103,28 @@
<field name="arch" type="xml">
<form string="Sales Order" version="7.0">
<header>
<button name="invoice_recreate" states="invoice_except" string="Recreate Invoice"/>
<button name="invoice_corrected" states="invoice_except" string="Ignore Exception"/>
<button name="ship_recreate" states="shipping_except" string="Recreate Delivery Order"/>
<button name="ship_corrected" states="shipping_except" string="Ignore Exception"/>
<button name="action_quotation_send" string="Send by Mail" type="object" states="draft" class="oe_highlight"/>
<button name="action_quotation_send" string="Send by Mail" type="object" states="sent"/>
<button name="manual_invoice" states="manual" string="Create Final Invoice" type="object" class="oe_highlight"/>
<button name="print_quotation" string="Send by Post" type="object" states="draft" class="oe_highlight"/>
<button name="print_quotation" string="Send by Post" type="object" states="sent"/>
<button name="action_button_confirm" states="draft" string="Confirm" type="object"/>
<button name="action_button_confirm" states="sent" string="Confirm" class="oe_highlight" type="object"/>
<button name="action_view_invoice" string="Open Invoice" type="object"
attrs="{'invisible': ['|','|',('state', '!=','progress'), ('invoiced', '=', True),('order_policy','=','picking')]}"/>
<button name="action_view_delivery" string="Open Delivery Order" type="object"
attrs="{'invisible': ['|','|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual')),('shipped','=',True)]}"/>
<button name="%(action_view_sale_advance_payment_inv)d" string="Advance Invoice" type="action" states="manual"/>
<button name="cancel" states="draft,sent" string="Cancel"/>
<button name="action_cancel" states="manual,progress" string="Cancel" type="object"/>
<button name="ship_cancel" states="shipping_except" string="Cancel"/>
<button name="invoice_cancel" states="invoice_except" string="Cancel"/>
<span groups="base.group_user">
<button name="invoice_recreate" states="invoice_except" string="Recreate Invoice"/>
<button name="invoice_corrected" states="invoice_except" string="Ignore Exception"/>
<button name="ship_recreate" states="shipping_except" string="Recreate Delivery Order"/>
<button name="ship_corrected" states="shipping_except" string="Ignore Exception"/>
<button name="action_quotation_send" string="Send by Mail" type="object" states="draft" class="oe_highlight"/>
<button name="action_quotation_send" string="Send by Mail" type="object" states="sent"/>
<button name="manual_invoice" states="manual" string="Create Final Invoice" type="object" class="oe_highlight"/>
<button name="print_quotation" string="Send by Post" type="object" states="draft" class="oe_highlight"/>
<button name="print_quotation" string="Send by Post" type="object" states="sent"/>
<button name="action_button_confirm" states="draft" string="Confirm" type="object"/>
<button name="action_button_confirm" states="sent" string="Confirm" class="oe_highlight" type="object"/>
<button name="action_view_invoice" string="Open Invoice" type="object"
attrs="{'invisible': ['|','|',('state', '!=','progress'), ('invoiced', '=', True),('order_policy','=','picking')]}"/>
<button name="action_view_delivery" string="Open Delivery Order" type="object"
attrs="{'invisible': ['|','|','|',('picking_ids','=',False),('picking_ids','=',[]), ('state', 'not in', ('progress','manual')),('shipped','=',True)]}"/>
<button name="%(action_view_sale_advance_payment_inv)d" string="Advance Invoice" type="action" states="manual"/>
<button name="cancel" states="draft,sent" string="Cancel"/>
<button name="action_cancel" states="manual,progress" string="Cancel" type="object"/>
<button name="ship_cancel" states="shipping_except" string="Cancel"/>
<button name="invoice_cancel" states="invoice_except" string="Cancel"/>
</span>
<field name="state" widget="statusbar" statusbar_visible="draft,sent,progress,invoiced,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
</header>
<sheet>
@ -133,12 +135,13 @@
</h1>
<group>
<group>
<field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" />
<field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}"/>
<field domain="[('parent_id','=',partner_id)]" name="partner_invoice_id" groups="sale.group_delivery_invoice_address"/>
<field domain="[('parent_id','=',partner_id)]" name="partner_shipping_id" groups="sale.group_delivery_invoice_address"/>
<field domain="[('type','=','sale')]" name="pricelist_id" groups="product.group_sale_pricelist" on_change="onchange_pricelist_id(pricelist_id,order_line)"/>
<field name="project_id" context="{'partner_id':partner_id, 'pricelist_id':pricelist_id, 'default_name':name}" groups="sale.group_analytic_accounting" domain="[('type','in',['view','normal','contract'])]"/>
</group><group>
</group>
<group>
<field name="date_order"/>
<field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection" groups="stock.group_locations"/>
<field name="client_order_ref"/>
@ -156,6 +159,7 @@
<group>
<field name="product_id"
context="{'partner_id':parent.partner_id, 'quantity':product_uom_qty, 'pricelist':parent.pricelist_id, 'shop':parent.shop_id, 'uom':product_uom}"
groups="base.group_user"
on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, True, parent.date_order, product_packaging, parent.fiscal_position, False, context)"/>
<field name="name" placeholder="Product/Service characteristics"/>
</group>
@ -196,7 +200,7 @@
<field name="address_allotment_id"/>
</group>
<separator string="Properties" colspan="2"/>
<field name="property_ids" colspan="4" nolabel="1" />
<field name="property_ids" colspan="4" nolabel="1"/>
<field name="notes" groups="base.group_sale_notes_subtotal" placeholder="Add a note on order line..."/>
<div groups="base.group_no_one">
<separator colspan="4" string="Invoice Lines"/>
@ -207,7 +211,7 @@
</group>
</form>
<tree string="Sales Order Lines">
<field name="sequence" />
<field name="sequence"/>
<field name="name"/>
<field name="product_uom_qty" string="Quantity"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
@ -226,15 +230,15 @@
<separator string="Notes" class="oe_clear"/>
<field name="note" placeholder="Add a global note on the sale order..."/>
</page>
<page string="Other Information">
<page string="Other Information" groups="base.group_user">
<group>
<group name="logistics">
<field name="incoterm" widget="selection"/>
<field name="incoterm" widget="selection" groups="base.group_user"/>
<field name="picking_policy" required="True"/>
<field name="order_policy" on_change="shipping_policy_change(order_policy)"/>
<field name="invoice_quantity" invisible="True"/>
</group>
<group>
<group groups="base.group_user">
<field name="user_id"/>
<field groups="base.group_no_one" name="origin"/>
</group>
@ -253,20 +257,20 @@
<separator string="Invoices"/>
<field name="invoice_ids" context="{'form_view_ref':'account.invoice_form'}">
<tree string="Invoices" colors="blue:state == 'draft';black:state in ('proforma','proforma2','open');gray:state == 'cancel'">
<field name="date_invoice" />
<field name="number" />
<field name="partner_id" />
<field name="user_id" />
<field name="date_due" />
<field name="amount_total" />
<field name="state" />
<field name="date_invoice"/>
<field name="number"/>
<field name="partner_id"/>
<field name="user_id"/>
<field name="date_due"/>
<field name="amount_total"/>
<field name="state"/>
</tree>
</field>
<separator string="Delivery Orders"/>
<field name="picking_ids" context="{'default_type': 'out'}">
<tree colors="blue:state == 'draft';grey:state == 'cancel';red:state not in ('cancel', 'done') and min_date &lt; current_date" string="Delivery Orders">
<field name="name"/>
<field name="partner_id" string="Customer" />
<field name="partner_id" string="Customer"/>
<field name="min_date"/>
<field name="state"/>
<button name="action_process" states="assigned" string="Deliver" type="object" icon="gtk-go-forward" context="{'default_type': 'out'}"/>
@ -363,7 +367,7 @@
<menuitem id="menu_sale_quotations"
action="action_order_tree5" parent="base.menu_sales"
sequence="3" />
sequence="3"/>
<record id="action_order_tree" model="ir.actions.act_window">
<field name="name">Old Quotations</field>
@ -413,9 +417,11 @@
<field name="arch" type="xml">
<form string="Sales Order Lines" version="7.0">
<header>
<button name="button_cancel" string="Cancel" type="object" icon="gtk-cancel" states="confirmed,exception"/>
<button name="%(action_view_sale_order_line_make_invoice)d" string="Create Invoice" type="action" states="done" icon="gtk-go-forward" attrs="{'invisible': [('invoiced', '=', 1)]}"/>
<button name="button_done" string="Done" type="object" states="confirmed,exception" icon="gtk-go-forward"/>
<span groups="base.group_user">
<button name="button_cancel" string="Cancel" type="object" icon="gtk-cancel" states="confirmed,exception"/>
<button name="%(action_view_sale_order_line_make_invoice)d" string="Create Invoice" type="action" states="done" icon="gtk-go-forward" attrs="{'invisible': [('invoiced', '=', 1)]}"/>
<button name="button_done" string="Done" type="object" states="confirmed,exception" icon="gtk-go-forward"/>
</span>
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,done" statusbar_colors='{"exception":"red","cancel":"red"}'/>
</header>
<sheet>
@ -432,7 +438,8 @@
<field name="product_uom_qty" readonly="1" class="oe_inline"/>
<field name="product_uom" groups="product.group_uom" class="oe_inline"/>
</div>
</group><group>
</group>
<group>
<field name="price_unit"/>
<field name="discount" groups="sale.group_discount_per_so_line"/>
<field name="price_subtotal" groups="base.group_sale_notes_subtotal"/>

View File

@ -107,7 +107,6 @@ class crm_make_sale(osv.osv_memory):
new_ids.append(new_id)
message = _("Opportunity has been <b>converted</b> to the quotation <em>%s</em>.") % (sale_order.name)
case.message_append_note(body=message)
if make.close:
case_obj.case_close(cr, uid, data)
if not new_ids:

View File

@ -6,7 +6,7 @@
<field name="name">sale.order.margin.view.form</field>
<field name="type">form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form" />
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//group[@name='sale_total']" position="inside">
<field name="margin"/>
@ -18,10 +18,10 @@
<field name="name">sale.order.line.margin.view.form</field>
<field name="type">form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form" />
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='order_line']/form//field[@name='price_unit']" position="after">
<field name="purchase_price"/>
<field name="purchase_price" groups="base.group_user"/>
</xpath>
</field>
</record>
@ -30,10 +30,10 @@
<field name="name">sale.order.line.tree.margin.view.form</field>
<field name="type">form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form" />
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='order_line']/tree//field[@name='price_unit']" position="after">
<field name="purchase_price"/>
<field name="purchase_price" groups="base.group_user"/>
</xpath>
</field>
</record>
@ -42,10 +42,10 @@
<field name="name">sale.order.margin.view.tree</field>
<field name="type">tree</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_tree" />
<field name="inherit_id" ref="sale.view_order_tree"/>
<field name="arch" type="xml">
<field name="state" position="after">
<field name="margin"/>
<field name="margin" groups="base.group_user"/>
</field>
</field>
</record>
@ -54,10 +54,10 @@
<field name="name">sale.order.margin.line.view.tree</field>
<field name="type">tree</field>
<field name="model">sale.order.line</field>
<field name="inherit_id" ref="sale.view_order_line_tree" />
<field name="inherit_id" ref="sale.view_order_line_tree"/>
<field name="arch" type="xml">
<field name="price_subtotal" position="after">
<field name="margin"/>
<field name="margin" groups="base.group_user"/>
</field>
</field>
</record>

View File

@ -668,7 +668,8 @@ class share_wizard(osv.osv_memory):
"""Creates the appropriate share group and share users, and populates
result_line_ids of wizard_data with one line for each user.
:return: the new group id (to which the shared access should be granted)
:return: a tuple composed of the new group id (to which the shared access should be granted),
the ids of the new share users that have been created and the ids of the existing share users
"""
group_id = self._create_share_group(cr, uid, wizard_data, context=context)
# First create any missing user, based on the email addresses provided
@ -739,7 +740,7 @@ class share_wizard(osv.osv_memory):
all_relations = obj0 + obj1 + obj2
self._link_or_copy_current_user_rules(cr, current_user, group_id, all_relations, context=context)
# B.
main_domain = wizard_data.domain if wizard_data.domain != '[]' else DOMAIN_ALL
main_domain = wizard_data.domain if wizard_data.domain != '[]' else str(DOMAIN_ALL)
self._create_or_combine_sharing_rule(cr, current_user, wizard_data,
group_id, model_id=model.id, domain=main_domain,
restrict=True, context=context)

View File

@ -61,8 +61,8 @@
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="arch" type="xml">
<field name="standard_price" position="replace" version="7.0">
<label string="Cost Price" for="standard_price" align="1.0"/>
<div>
<label string="Cost Price" for="standard_price" align="1.0" groups="base.group_user"/>
<div groups="base.group_user">
<field name="standard_price" attrs="{'readonly':[('cost_method','=','average')]}" nolabel="1"/>
<button name="%(action_view_change_standard_price)d" string="Update"
type="action" icon="gtk-execute" attrs="{'invisible':[('cost_method','&lt;&gt;','average')]}"/>
@ -106,12 +106,12 @@
<group string="Stock and Expected Variations">
<field name="qty_available"/>
<field name="incoming_qty"/>
<label for="virtual_available" />
<label for="virtual_available"/>
<div>
<field name="virtual_available" class="oe_inline" />
<field name="virtual_available" class="oe_inline"/>
<button name="%(action_view_change_product_quantity)d" string="Update" attrs="{'invisible': [('type', '=', 'service')]}"
type="action" icon="gtk-execute" groups="stock.group_stock_manager,stock.group_stock_user" class="oe_inline" />
type="action" icon="gtk-execute" groups="stock.group_stock_manager,stock.group_stock_user" class="oe_inline"/>
</div>
<field name="outgoing_qty"/>
</group>
@ -175,14 +175,17 @@
<li t-if="record.type.raw_value != 'service'">Stock on hand: <field name="qty_available"/> <field name="uom_id"/></li>
<li t-if="record.type.raw_value != 'service'">Stock available: <field name="virtual_available"/> <field name="uom_id"/></li>
<li>Price: <field name="lst_price"></field></li>
<li>Cost: <field name="standard_price"></field></li>
<!-- TODO the 'groups' attribute doesn't work in kanban views -->
<li groups="base.group_user">Cost: <field name="standard_price"></field></li>
</ul>
<a name="%(action_receive_move)d" type="action">
<t t-if="record.reception_count.value">Receptions(<t t-esc="record.reception_count.value"/>)</t>
</a>
<a name="%(action_deliver_move)d" type="action">
<t t-if="record.delivery_count.value">Deliveries(<t t-esc="record.delivery_count.value"/>)</t>
</a>
<div groups="base.group_user">
<a name="%(action_receive_move)d" type="action">
<t t-if="record.reception_count.value">Receptions(<t t-esc="record.reception_count.value"/>)</t>
</a>
<a name="%(action_deliver_move)d" type="action">
<t t-if="record.delivery_count.value">Deliveries(<t t-esc="record.delivery_count.value"/>)</t>
</a>
</div>
</div>
</div>
<script>

View File

@ -53,6 +53,7 @@ Partners are also sent mails with user name and password for the invitation of t
'test/survey_question_type.yml',
'test/survey_report.yml',
],
'css': ['static/src/css/survey.css'],
'installable': True,
'auto_install': False,
'certificate' : '001131639736864143245',

View File

@ -0,0 +1,37 @@
.oe_module_survey{
font-size: 12px;
border-style:dotted;
border-radius: 15px;
text-align: left;
height:145px;
width:220px;
}
.oe_survey_title{
font-size: 15px;
height: auto;
font-size: 16px;
font-weight:bold;
width: 205px;
}
.oe_survey_responsible{
height: auto;
width: 200px;
font-size: 14px;
}
.oe_survey_start_date{
height: auto;
width: 200px;
font-size: 14px;
}
.oe_survey_fill{
align:right;
padding: 1px 165px;
}
.oe_survey_rate{
font-size: 14px;
}

View File

@ -142,6 +142,17 @@ class survey(osv.osv):
'nodestroy':True,
}
return report
def fill_survey(self, cr, uid, ids, context=None):
return {
'view_type': 'form',
'view_mode': 'form',
'res_model': 'survey.question.wiz',
'type': 'ir.actions.act_window',
'target': 'new',
'context': {'survey_id': ids[0]}
}
survey()
class survey_history(osv.osv):

View File

@ -40,7 +40,7 @@
</group>
<notebook>
<page string="Survey">
<field name="page_ids" colspan="4" nolabel="1" mode="form,tree">
<field name="page_ids" colspan="4" nolabel="1" mode="tree">
<form string="Survey Page">
<field name="title"/>
<field name="sequence" groups="base.group_no_one"/>
@ -277,13 +277,53 @@
</search>
</field>
</record>
<record model="ir.ui.view" id="view_survey_kanban">
<field name="name">event.survey.kanban</field>
<field name="model">survey</field>
<field name="type">kanban</field>
<field name="arch" type="xml">
<kanban>
<field name="title"/>
<field name="date_open"/>
<templates>
<t t-name="kanban-box">
<div class="oe_module_survey">
<a class="oe_module_icon">
<div class="oe_survey_title"><t t-esc="record.title.raw_value.toString()"/></div><br/>
<div class="oe_survey_responsible">
<t t-if="record.responsible_id.raw_value">By: <field name="responsible_id"/></t>
</div><br/>
<div class="oe_survey_start_date">
Open From:
<t t-if="record.date_open.raw_value">
<t t-esc="record.date_open.raw_value.getDate()"/>
<t t-esc="record.date_open.raw_value.toString('MMM')"/>,
<t t-esc="record.date_open.raw_value.getFullYear()"/>
</t>
</div><br/>
<div class="oe_survey_rate">
Rate:
<div class="oe_survey_fill" >
<button type="object" name="fill_survey" class="">
<span>Fill</span>
</button>
</div>
</div>
</a>
</div>
</t>
</templates>
</kanban>
</field>
</record>
<record model="ir.actions.act_window" id="action_survey_form1">
<field name="name">Surveys</field>
<field name="res_model">survey</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="survey_tree"></field>
<field name="view_mode">kanban,tree,form</field>
<field name="view_id" ref="view_survey_kanban"></field>
<field name="search_view_id" ref="survey_search"/>
<field name="help">You can create survey for different purposes: recruitment interviews, employee's periodical evaluations, marketing campaigns, etc. A survey is made of pages containing questions of several types: text, multiple choices, etc. You can edit survey manually or click on the 'Edit Survey' for a WYSIWYG interface.</field>
</record>

View File

@ -1,15 +0,0 @@
OpenERP, Open Source Management Solution
Copyright © 2010-2011 OpenERP SA (<http://openerp.com>).
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public Lice
along with this program. If not, see <http://www.gnu.org/licenses/>.

View File

@ -1,26 +0,0 @@
# Arabic translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-09-04 17:32+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Arabic <ar@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "إقتراحات"
#~ msgid "Add uservoice button in header"
#~ msgstr "أضف زر خدمة uservoice في الأعلي"

View File

@ -1,26 +0,0 @@
# Bulgarian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-03-01 14:53+0000\n"
"Last-Translator: Dimitar Markov <dimitar.markov@gmail.com>\n"
"Language-Team: Bulgarian <bg@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "Обратна връзка"
#~ msgid "Add uservoice button in header"
#~ msgstr "Добавете бутон за глас на протребител в заглавката"

View File

@ -1,26 +0,0 @@
# Catalan translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-03-05 23:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Catalan <ca@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "comentaris"
#~ msgid "Add uservoice button in header"
#~ msgstr "Afegeix botó veu usuari a la capçalera"

View File

@ -1,23 +0,0 @@
# Czech translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-04-06 04:46+0000\n"
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-04-07 04:55+0000\n"
"X-Generator: Launchpad (build 15060)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "zpětná vazba"

View File

@ -1,23 +0,0 @@
# Danish translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-01-27 06:45+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Danish <da@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr ""

View File

@ -1,26 +0,0 @@
# German translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-02-21 20:29+0000\n"
"Last-Translator: Ferdinand @ Camptocamp <Unknown>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "Rückmeldung"
#~ msgid "Add uservoice button in header"
#~ msgstr "Schaltfläche Benutzerstimme im Kopf hinzufügen"

View File

@ -1,26 +0,0 @@
# Spanish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-02-15 15:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "comentarios"
#~ msgid "Add uservoice button in header"
#~ msgstr "Añadir botón vozusuario en la cabecera"

View File

@ -1,28 +0,0 @@
# Spanish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-02-18 23:25+0000\n"
"Last-Translator: Carlos Vásquez (CLEARCORP) "
"<carlos.vasquez@clearcorp.co.cr>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-19 05:43+0000\n"
"X-Generator: Launchpad (build 14814)\n"
"Language: es\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "comentarios"
#~ msgid "Add uservoice button in header"
#~ msgstr "Añadir botón vozusuario en la cabecera"

View File

@ -1,29 +0,0 @@
# Spanish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-12 16:15+0000\n"
"PO-Revision-Date: 2011-02-15 15:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-05 05:58+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: web_uservoice
#: model:ir.module.module,shortdesc:web_uservoice.module_meta_information
msgid "Add uservoice button in header"
msgstr "Añadir botón vozusuario en la cabecera"
#. module: web_uservoice
#: code:addons/web_uservoice/web/editors.py:72
#, python-format
msgid "feedback"
msgstr "comentarios"

View File

@ -1,29 +0,0 @@
# Spanish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-12 16:15+0000\n"
"PO-Revision-Date: 2011-02-15 15:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Spanish <es@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-09-05 05:58+0000\n"
"X-Generator: Launchpad (build 13830)\n"
#. module: web_uservoice
#: model:ir.module.module,shortdesc:web_uservoice.module_meta_information
msgid "Add uservoice button in header"
msgstr "Añadir botón vozusuario en la cabecera"
#. module: web_uservoice
#: code:addons/web_uservoice/web/editors.py:72
#, python-format
msgid "feedback"
msgstr "comentarios"

View File

@ -1,26 +0,0 @@
# Finnish translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-06-08 10:29+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Finnish <fi@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "palaute"
#~ msgid "Add uservoice button in header"
#~ msgstr "Lisää käyttäjän ääni nappula alkuun"

View File

@ -1,26 +0,0 @@
# French translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-02-26 09:36+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: French <fr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "retour d'expérience"
#~ msgid "Add uservoice button in header"
#~ msgstr "Ajouter un bouton \"vécu utilisateur\" dans l'entête"

View File

@ -1,26 +0,0 @@
# Galician translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-02-15 15:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Galician <gl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "Retroalimentación"
#~ msgid "Add uservoice button in header"
#~ msgstr "Engadir botón \"uservoice\" na cabeceira"

View File

@ -1,26 +0,0 @@
# Croatian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-12-08 15:15+0000\n"
"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
"Language-Team: Croatian <hr@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "Povratna informacija"
#~ msgid "Add uservoice button in header"
#~ msgstr "Dodaj gumb glasa korisnika u zaglavlje"

View File

@ -1,26 +0,0 @@
# Italian translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-02-15 15:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Italian <it@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "feedback"
#~ msgid "Add uservoice button in header"
#~ msgstr "Aggiungi bottone uservoice nell'intenstazione"

View File

@ -1,23 +0,0 @@
# Japanese translation for openobject-addons
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2012-04-29 05:14+0000\n"
"Last-Translator: Masaki Yamaya <Unknown>\n"
"Language-Team: Japanese <ja@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-04-30 04:41+0000\n"
"X-Generator: Launchpad (build 15171)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "ご意見"

View File

@ -1,26 +0,0 @@
# Dutch translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
"PO-Revision-Date: 2011-02-21 10:24+0000\n"
"Last-Translator: Douwe Wullink (Dypalio) <Unknown>\n"
"Language-Team: Dutch <nl@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-02-09 07:09+0000\n"
"X-Generator: Launchpad (build 14763)\n"
#. openerp-web
#: /home/odo/repositories/addons/trunk/web_uservoice/static/src/xml/web_uservoice.xml:6
msgid "feedback"
msgstr "terugkoppeling"
#~ msgid "Add uservoice button in header"
#~ msgstr "Uservoice knop in kop toevoegen"

Some files were not shown because too many files have changed in this diff Show More