[MERGE] merged trunk-dev-addons2

bzr revid: hmo@tinyerp.com-20100917135625-2ybzzx837veak5s3
This commit is contained in:
Harry (OpenERP) 2010-09-17 19:26:25 +05:30
commit 36ed1f7e6d
43 changed files with 345 additions and 215 deletions

View File

@ -8,13 +8,13 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Accounting Modules Configuration</attribute>
<attribute name="string">Accounting Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Configure Your Accounting System</attribute>
<attribute name="string">Configure Your Accounting Chart</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Configure your accounting system. By default, Chart of Account is matching to your country. If there are not chart of account certified for your county, you can install the generic chart of account.</attribute>
<attribute name="string">The default Chart of Accounts is matching your country selection. If no certified Chart of Accounts exists for your specified country, a generic one can be installed and will be selected by default.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
@ -66,13 +66,17 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Accounting Modules Configuration</attribute>
<attribute name="string">Accounting Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Extra Accounting Modules</attribute>
<attribute name="string">Configure Your Accounting Application</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">From this screen, you can install extra accounting modules in your accounting system. Select the modules to directly install them. If you do not think you need any of these right now, you can easily install them later.</attribute>
<attribute name="string">Add extra Accounting Addons to the ones already installed. Remember you can always install them at a later stage.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
@ -100,7 +104,7 @@
</record>
<record id="action_account_installer" model="ir.actions.act_window">
<field name="name">Accounting Modules Installation</field>
<field name="name">Accounting Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.installer.modules</field>
<field name="view_id" ref="view_account_modules_installer"/>

View File

@ -2375,11 +2375,11 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Generate Chart of Accounts from a Chart Template</attribute>
<attribute name="string">Accounting Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string"
>Generate Chart of Accounts from a Chart Template</attribute>
>Generate Your Accounting Chart from a Chart Template</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template</attribute>

View File

@ -73,6 +73,21 @@ class account_installer(osv.osv_memory):
return user.company_id.id
return False
def _get_default_charts(self, cr, uid, context={}):
module_name = False
company_id = self._default_company(cr, uid, context=context)
company = self.pool.get('res.company').browse(cr, uid, company_id)
address_id = self.pool.get('res.partner').address_get(cr, uid, [company.partner_id.id])
if address_id['default']:
address = self.pool.get('res.partner.address').browse(cr, uid, address_id['default'])
code = address.country_id.code
module_name = (code and 'l10n_' + code.lower()) or False
if module_name:
module_id = self.pool.get('ir.module.module').search(cr, uid, [('name', '=', module_name)])
if module_id:
return module_name
return 'configurable'
_defaults = {
'date_start': lambda *a: time.strftime('%Y-01-01'),
'date_stop': lambda *a: time.strftime('%Y-12-31'),
@ -80,7 +95,8 @@ class account_installer(osv.osv_memory):
'sale_tax':lambda *a:0.0,
'purchase_tax':lambda *a:0.0,
'company_id': _default_company,
'bank_accounts_id':_get_default_accounts
'bank_accounts_id':_get_default_accounts,
'charts': _get_default_charts
}
def on_change_tax(self, cr, uid, id, tax):

View File

@ -2,21 +2,21 @@
<openerp>
<data>
<record id="view_confirm_install_module_form" model="ir.ui.view">
<field name="name">Association Profile : Install extra modules</field>
<field name="name">Association Application Configuration</field>
<field name="model">profile.association.config.install_modules_wizard</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_installer"/>
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Association Profile Configuration</attribute>
<attribute name="string">Association Application Configuration</attribute>
</form>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">Install more modules. A few modules are proposed according to the Association Profile you selected. You will be able to install them based on our requirements.</attribute>
<attribute name="string">Here are specific applications related to the Association Profile you selected.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
@ -37,7 +37,7 @@
</record>
<record id="action_config_install_module" model="ir.actions.act_window">
<field name="name">Association Profile : Install Extra Modules</field>
<field name="name">Association Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">profile.association.config.install_modules_wizard</field>
<field name="view_id" ref="view_confirm_install_module_form"/>

View File

@ -29,7 +29,6 @@ class base_contact_installer(osv.osv_memory):
_columns = {
'name': fields.char('Name', size=64),
'migrate': fields.boolean('Migrate', help="If you select this, all addresses will be migrated."),
'nomigrate': fields.boolean('NoMigrate', help="If you select this, all addresses will not be migrated."),
}
def execute(self, cr, uid, ids, context=None):
@ -54,15 +53,12 @@ class base_contact_installer(osv.osv_memory):
END;
$contactjob$ LANGUAGE plpgsql;
CREATE TRIGGER contactjob AFTER INSERT ON res_partner_contact FOR EACH ROW EXECUTE PROCEDURE add_to_job();""")
cr.commit()
cr.execute("INSERT into res_partner_contact (name, title, email, first_name, website) (SELECT coalesce(name, 'Noname'), title, email, function , to_char(id, '99999999') from res_partner_address)")
cr.commit()
cr.execute("DROP TRIGGER IF EXISTS contactjob on res_partner_contact")
cr.execute("DROP LANGUAGE IF EXISTS plpgsql CASCADE;")
cr.execute("DROP FUNCTION IF EXISTS add_to_job()")
cr.commit()
base_contact_installer()

View File

@ -31,9 +31,7 @@
<label string="Otherwise these details will not be visible from address/contact." colspan="4"/>
<label string="Do you want to migrate your Address data in Contact Data?" colspan="4" />
<group colspan="6">
<label string="Migrate:" colspan="1"/>
<field name="migrate" string="Yes" colspan="1"/>
<field name="nomigrate" string="No" colspan="1"/>
<field name="migrate" string="Migrate" colspan="1"/>
</group>
</group>
</group>
@ -54,6 +52,7 @@
<record id="base_contact_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_base_contact_installer"/>
<field name="sequence">3</field>
<field name="state">skip</field>
</record>
</data>

View File

@ -8,38 +8,41 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Install OpenERP Modules</attribute>
<attribute name="string">Install Applications</attribute>
</form>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">Select applications you want to install. If you don't think you need any of these right now, you can easily install them later.</attribute>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Select the Applications you want your system to cover. If you are not sure about your exact needs at this stage, you can easily install them later.</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
<attribute name='rowspan'>15</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Install</attribute>
</xpath>
<separator string="title" position="attributes">
<attribute name="string">Install Generic Modules</attribute>
<attribute name="string">Install Applications</attribute>
</separator>
<group colspan="8">
<field name="crm" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/> <field name="sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="project" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/> <field name="knowledge" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="stock" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/> <field name="mrp" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="account" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/> <field name="purchase" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="hr" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/> <field name="point_of_sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="marketing" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/> <field name="profile_tools" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="report_designer" groups="base.group_extended" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<separator string="Install Specific Business Modules" colspan="4"/>
<field name="association" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="auction" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="product_expiry" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction)"/>
<field name="crm" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/> <field name="sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<field name="project" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/> <field name="knowledge" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<field name="stock" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/> <field name="mrp" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<field name="account" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/> <field name="purchase" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<field name="hr" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/> <field name="point_of_sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<field name="marketing" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/> <field name="profile_tools" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<field name="report_designer" groups="base.group_extended" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<separator string="Install Specific Industry Sector Applications" colspan="4"/>
<field name="association" attrs="{'readonly':['|',('auction','=',True),('product_expiry','=',True)]}" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<field name="auction" attrs="{'readonly':['|',('association','=',True),('product_expiry','=',True)]}" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
<field name="product_expiry" attrs="{'readonly':['|',('association','=',True),('auction','=',True)]}" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,profile_tools,report_designer,association,auction,product_expiry)"/>
</group>
</data>
</field>
</record>
<record id="action_base_setup_installer" model="ir.actions.act_window">
<field name="name">Base Setup Modules Installation</field>
<field name="name">Install Applications</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">base.setup.installer</field>
<field name="view_id" ref="view_base_setup_installer"/>

View File

@ -1,20 +1,20 @@
<openerp>
<data>
<record id="view_base_setup_company" model="ir.ui.view">
<field name="name">Setup company information</field>
<field name="name">Company Configuration</field>
<field name="model">base.setup.company</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_view_base"/>
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Main Company Setup</attribute>
<attribute name="string">Company Configuration</attribute>
</form>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Information of your company will be used to customize your documents like Invoices, Sale Orders and many more.</attribute>
<attribute name="string">Your company information will be used to personalize documents issued with OpenERP such as invoices, sales orders and much more.</attribute>
</xpath>
<xpath expr='//separator[@string="title"]' position='attributes'>
<attribute name='string'>Configure Your Company</attribute>
<attribute name='string'>Configure Your Company Information</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>25</attribute>
@ -55,7 +55,7 @@
</record>
<record id="action_base_setup_company" model="ir.actions.act_window">
<field name="name">Setup company information</field>
<field name="name">Company Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">base.setup.company</field>
<field name="view_id" ref="view_base_setup_company"/>

View File

@ -66,13 +66,12 @@ class base_setup_installer(osv.osv_memory):
"automatic picking lists generation and more."),
'marketing':fields.boolean('Marketing',
help="Helps you manage your marketing campaigns step by step."),
'profile_tools':fields.boolean('Miscellaneous Tools',
'profile_tools':fields.boolean('Extra Tools',
help="Lets you install various interesting but non-essential tools "
"like Survey, Lunch and Ideas box."),
'report_designer':fields.boolean('Advanced Reporting',
help="Lets you install various tools to simplify and enhance "
"OpenERP's report creation."),
'thunderbird' :fields.boolean('Thunderbird'),
# Vertical modules
'product_expiry':fields.boolean('Food Industry',
help="Installs a preselected set of OpenERP applications "
@ -108,11 +107,13 @@ class base_setup_installer(osv.osv_memory):
return ['account_voucher']
return None
def onchange_moduleselection(self, cr, uid, ids, *args):
def onchange_moduleselection(self, cr, uid, ids, *args, **kargs):
value = {}
# Calculate progress
closed, total = self.get_current_progress(cr, uid)
progress = round(100. * closed / (total + len(filter(None, args))))
value.update({'progress':progress})
if progress < 10.:
progress = 10.
return {'value':{'progress':progress}}
return {'value':value}
base_setup_installer()

View File

@ -84,6 +84,7 @@ Create dashboard for CRM that includes:
'wizard/crm_partner_to_opportunity_view.xml',
'wizard/crm_send_email_view.xml',
'wizard/crm_add_note_view.xml',
'wizard/crm_forward_to_partner_view.xml',
'wizard/crm_merge_opportunities_view.xml',

View File

@ -499,10 +499,14 @@ class crm_case_section(osv.osv):
_name = "crm.case.section"
_description = "Sales Teams"
_order = "parent_id, name"
_order = "complete_name"
def get_full_name(self, cr, uid, ids, field_name, arg, context={}):
return dict(self.name_get(cr, uid, ids, context))
_columns = {
'name': fields.char('Sales Team', size=64, required=True, translate=True),
'complete_name': fields.function(get_full_name, method=True, type='char', size=256, readonly=True, store=True),
'code': fields.char('Code', size=8),
'active': fields.boolean('Active', help="If the active field is set to "\
"true, it will allow you to hide the sales team without removing it."),

View File

@ -96,7 +96,8 @@ this if you want the rule to send an email to the partner."),
res_count = True
if action.trg_max_history:
res_count = False
if len(obj.message_ids) <= action.trg_max_history:
history_ids = filter(lambda x: x.history, obj.message_ids)
if len(history_ids) <= action.trg_max_history:
res_count = True
ok = ok and res_count
return ok
@ -120,7 +121,11 @@ this if you want the rule to send an email to the partner."),
write['email_cc'] = obj.email_cc+','+obj.act_email_cc
else:
write['email_cc'] = obj.act_email_cc
# Put state change by rule in communication history
if hasattr(obj, 'state') and action.act_state:
model_obj._history(cr, uid, [obj], _(action.act_state))
model_obj.write(cr, uid, [obj.id], write, context)
emails = []

View File

@ -8,15 +8,15 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">CRM Modules Configuration</attribute>
<attribute name="string">CRM Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Configure Your CRM System</attribute>
<attribute name="string">Configure Your CRM Application</attribute>
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">You can enhance OpenERP's basic CRM support with a few additional OpenERP applications</attribute>
<attribute name="string">Enhance your CRM basic Application with additional Addons.</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>13</attribute>
@ -49,7 +49,7 @@
</record>
<record id="action_crm_installer" model="ir.actions.act_window">
<field name="name">CRM Modules Installation</field>
<field name="name">CRM Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">crm.installer</field>
<field name="view_id" ref="view_crm_installer"/>

View File

@ -174,6 +174,7 @@
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="Communication history">
<field name="display_text" string="History Information"/>
<field name="history" invisible="1"/>
<button
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
name="%(crm.action_crm_send_mail)d"
@ -209,11 +210,15 @@
</notebook>
</form>
</field>
<button colspan="2" string="Send New Email"
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.lead'}"
icon="terp-mail-message-new" type="action" />
<button colspan="2" string="Forward"
<button string="Forward"
name="%(crm_lead_forward_to_partner_act)d"
icon="terp-mail-forward" type="action" />
</page>

View File

@ -130,6 +130,7 @@
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="Communication history">
<field name="display_text" string="History Information"/>
<field name="history" invisible="1"/>
<button
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
name="%(crm.action_crm_send_mail)d"
@ -165,11 +166,15 @@
</notebook>
</form>
</field>
<button colspan="2" string="Send New Email"
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.lead'}"
icon="terp-mail-message-new" type="action" />
<button colspan="2" string="Forward"
<button string="Forward"
name="%(crm_lead_forward_to_partner_act)d"
icon="terp-mail-forward" type="action" />
</page>

View File

@ -532,6 +532,7 @@
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="Communication history">
<field name="display_text" string="History Information"/>
<field name="history" invisible="1"/>
<button
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
name="%(crm.action_crm_send_mail)d"
@ -567,11 +568,15 @@
</notebook>
</form>
</field>
<button colspan="2" string="Send New Email"
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.case.custom'}"
icon="terp-mail-message-new" type="action" />
<button colspan="2" string="Forward to Partner"
<button string="Forward to Partner"
name="%(crm_lead_forward_to_partner_act)d"
icon="terp-mail-forward" type="action" />
</page>

View File

@ -21,6 +21,7 @@
import crm_send_email
import crm_forward_to_partner
import crm_add_note
import crm_lead_to_partner
import crm_lead_to_opportunity

View File

@ -0,0 +1,62 @@
from crm import crm
from osv import fields, osv
from tools.translate import _
import base64
AVAILABLE_STATES = crm.AVAILABLE_STATES + [('unchanged', 'Unchanged')]
class crm_add_note(osv.osv_memory):
"""Adds a new note to the case."""
_name = 'crm.add.note'
_description = "Add New Note"
_columns = {
'body': fields.text('Note Body', required=True),
'state': fields.selection(AVAILABLE_STATES, string='Set New State To',
required=True),
'attachment_ids' : fields.one2many('crm.send.mail.attachment', 'wizard_id'),
}
def action_add(self, cr, uid, ids, context=None):
if not context:
context = {}
if not context.get('active_model'):
raise osv.except_osv(_('Error'), _('Can not add note!'))
model = context.get('active_model')
case_pool = self.pool.get(model)
for obj in self.browse(cr, uid, ids, context=context):
case_list = case_pool.browse(cr, uid, context['active_ids'],
context=context)
case = case_list[0]
user_obj = self.pool.get('res.users')
user_name = user_obj.browse(cr, uid, [uid], context=context)[0].name
attach = [
(x.name, base64.decodestring(x.binary)) for x in obj.attachment_ids
]
case_pool.history(cr, uid, [case], _("Note"), history=False,
details=obj.body, email_from=user_name, attach=attach)
if obj.state == 'unchanged':
pass
elif obj.state == 'done':
case_pool.case_close(cr, uid, [case.id])
elif obj.state == 'draft':
case_pool.case_reset(cr, uid, [case.id])
elif obj.state in ['cancel', 'open', 'pending']:
act = 'case_' + obj.state
getattr(case_pool, act)(cr, uid, [case.id])
return {}
def default_get(self, cr, uid, fields, context=None):
"""
This function gets default values
"""
return {'state': u'unchanged'}
crm_add_note()

View File

@ -0,0 +1,53 @@
<?xml version="1.0"?>
<openerp>
<data>
<!-- Add New Note view -->
<record model="ir.ui.view" id="crm_add_new_note_view">
<field name="name">crm.new.add.note.form</field>
<field name="model">crm.add.note</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Add Note" col="4">
<separator string="Add Note" colspan="6"/>
<notebook colspan="6">
<page string="Note">
<field name="body" nolabel="1" colspan="4" default_focus="1"/>
</page>
<page string="Attachments">
<field name="attachment_ids" colspan="4" nolabel="1">
<form string="Attachment">
<field name="binary" filename="name" />
<field name="name" />
</form>
<tree string="Attachments">
<field name="name" />
</tree>
</field>
</page>
</notebook>
<separator string="" colspan="6"/>
<group colspan="6" col="4" >
<field name="state" />
<button string="_Cancel" icon="gtk-cancel" special="cancel" />
<button name="action_add" type="object" string="_Add" icon="gtk-ok" />
</group>
</form>
</field>
</record>
<!-- Add New Note action -->
<record model="ir.actions.act_window" id="action_crm_add_note">
<field name="name">Add Note</field>
<field name="res_model">crm.add.note</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="crm_add_new_note_view"/>
<field name="target">new</field>
</record>
</data>
</openerp>

View File

@ -28,6 +28,10 @@ import itertools
import tools
import re
AVAILABLE_STATES = crm.AVAILABLE_STATES + [('unchanged', 'Unchanged')]
class crm_send_new_email_attachment(osv.osv_memory):
_name = 'crm.send.mail.attachment'
@ -51,7 +55,7 @@ class crm_send_new_email(osv.osv_memory):
'email_cc' : fields.char('CC', size=512, help="These addresses will receive a copy of this email. To modify the permanent CC list, edit the global CC field of this case"),
'subject': fields.char('Subject', size=512, required=True),
'body': fields.text('Message Body', required=True),
'state': fields.selection(crm.AVAILABLE_STATES, string='Set New State To', required=True),
'state': fields.selection(AVAILABLE_STATES, string='Set New State To', required=True),
'attachment_ids' : fields.one2many('crm.send.mail.attachment', 'wizard_id'),
}

View File

@ -205,10 +205,14 @@
</notebook>
</form>
</field>
<button colspan="4" string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.claim'}"
icon="terp-mail-message-new" type="action" />
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.claim'}"
icon="terp-mail-message-new" type="action" />
</page>
<page string="Extra Info" groups="base.group_extended">
<field name="id" select="1"/>

View File

@ -161,6 +161,7 @@
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="Communication history">
<field name="display_text" string="History Information"/>
<field name="history" invisible="1"/>
<button
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
name="%(crm.action_crm_send_mail)d"
@ -196,7 +197,11 @@
</notebook>
</form>
</field>
<button colspan="4" string="Send New Email"
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.fundraising'}"
icon="terp-mail-message-new" type="action" />

View File

@ -98,6 +98,7 @@
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="Communication history">
<field name="display_text" string="History Information"/>
<field name="history" invisible="1"/>
<button
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
name="%(crm.action_crm_send_mail)d"
@ -133,7 +134,11 @@
</notebook>
</form>
</field>
<button colspan="4" string="Send New Email"
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'crm.helpdesk'}"
icon="terp-mail-message-new" type="action" />

View File

@ -8,10 +8,10 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Auto Configure</attribute>
<attribute name="string">Knowledge Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Resource Directory Configuration </attribute>
<attribute name="string">Configure Resource Directory</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Choose the following Resouces to auto directory configuration.</attribute>

View File

@ -15,10 +15,10 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">FTP Server Configuration</attribute>
<attribute name="string">Knowledge Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">FTP Server Configuration</attribute>
<attribute name="string">Configure FTP Server</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Choose the address for the Document Management System's FTP server.</attribute>
@ -30,7 +30,7 @@
<group string="res_config_contents" position="replace">
<field name="host"/>
</group>
<xpath expr="//button[@name='action_skip']" position="replace"/>
<xpath expr="//button[@name='action_skip']" position="replace"/>
</data>
</field>
</record>

View File

@ -373,6 +373,7 @@
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="Communication history">
<field name="display_text" string="History Information"/>
<field name="history" invisible="1"/>
<button
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
name="%(crm.action_crm_send_mail)d"
@ -408,7 +409,11 @@
</notebook>
</form>
</field>
<button colspan="4" string="Send New Email"
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'event.registration'}"
icon="terp-mail-message-new" type="action" />

View File

@ -10,16 +10,16 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Human Resources Modules Configuration</attribute>
<attribute name="string">Human Resources Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Select Human Resources Modules To Install</attribute>
<attribute name="string">Configure Your Human Resources Application</attribute>
</separator>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">You can enhance the base HR addon by installing few HR-related applications.</attribute>
<attribute name="string">You can enhance the base HR Application by installing few HR-related modules.</attribute>
</xpath>
<group colspan="8">
<field name="hr_holidays"/>
@ -40,7 +40,7 @@
</record>
<record id="action_hr_installer" model="ir.actions.act_window">
<field name="name">Human Resources Modules Installation</field>
<field name="name">Human Resources Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">hr.installer</field>
<field name="view_id" ref="view_hr_installer"/>

View File

@ -150,6 +150,7 @@
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="Communication history">
<field name="display_text" string="History Information"/>
<field name="history" invisible="1"/>
<button
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
name="%(crm.action_crm_send_mail)d"
@ -185,13 +186,14 @@
</notebook>
</form>
</field>
<button colspan="2" string="Send New Email"
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'hr.applicant'}"
icon="terp-mail-message-new" type="action" />
<button colspan="2" string="Forward"
name="%(crm.crm_lead_forward_to_partner_act)d"
icon="terp-mail-forward" type="action" />
</page>
<page string="Notes">
<field name="description" nolabel="1" colspan="4"/>

View File

@ -8,19 +8,19 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Knowledge Modules Configuration</attribute>
<attribute name="string">Knowledge Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string"
>Knowledge Management</attribute>
>Configure Your Knowledge Application</attribute>
</separator>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">You can select various OpenERP applications which will help you and your employees to store and share information.</attribute>
<attribute name="string">Share information within the company with these specific Addons.</attribute>
</xpath>
<group colspan="8" position="replace">
<group colspan="4">
@ -40,7 +40,7 @@
</record>
<record id="action_knowledge_installer" model="ir.actions.act_window">
<field name="name">Knowledge Modules Installation</field>
<field name="name">Knowledge Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">knowledge.installer</field>
<field name="view_id" ref="view_knowledge_installer"/>

View File

@ -122,6 +122,10 @@ class mailgate_thread(osv.osv):
obj = self.pool.get('mailgate.message')
for case in cases:
attachments = []
for att in attach:
attachments.append(att_obj.create(cr, uid, {'name': att[0], 'datas': base64.encodestring(att[1])}))
partner_id = hasattr(case, 'partner_id') and (case.partner_id and case.partner_id.id or False) or False
if not partner_id and case._name == 'res.partner':
partner_id = case.id
@ -132,13 +136,12 @@ class mailgate_thread(osv.osv):
'partner_id': partner_id,
'res_id': case.id,
'date': time.strftime('%Y-%m-%d %H:%M:%S'),
'message_id': message_id,
'message_id': message_id,
'description': details or (hasattr(case, 'description') and case.description or False),
'attachment_ids': [(6, 0, attachments)]
}
attachments = []
if history:
for att in attach:
attachments.append(att_obj.create(cr, uid, {'name': att[0], 'datas': base64.encodestring(att[1])}))
if history:
for param in (email, email_cc, email_bcc):
if isinstance(param, list):
param = ", ".join(param)

View File

@ -12,14 +12,14 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Marketing Modules Configuration</attribute>
<attribute name="string">Marketing Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Select Marketing Modules to Install</attribute>
<attribute name="string">Configure Your Marketing Application</attribute>
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">OpenERP provides tools to automate your leads process, design marketing campaigns and profile efficiently your customers.</attribute>
<attribute name="string">OpenERP provides Addons to better manage your sales and marketing processes. Select the ones you would be interested in.</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>13</attribute>
@ -39,7 +39,7 @@
</record>
<record id="action_marketing_installer" model="ir.actions.act_window">
<field name="name">Marketing Modules Installation</field>
<field name="name">Marketing Applications Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">marketing.installer</field>
<field name="view_id" ref="view_marketing_installer"/>

View File

@ -8,15 +8,15 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">MRP Modules Configuration</attribute>
<attribute name="string">MRP Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Manufacturing Resource Planning</attribute>
<attribute name="string">Configure Your Manufacturing Resource Planning Application</attribute>
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">After having installed the core manufacturing application, you can extend it depending on the needs of your MRP's organization</attribute>
<attribute name="string">Add more functionalities to the core Manufacturing Application with the following addons.</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
@ -36,7 +36,7 @@
</record>
<record id="action_mrp_installer" model="ir.actions.act_window">
<field name="name">MRP Modules Installation</field>
<field name="name">MRP Applications Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">mrp.installer</field>
<field name="view_id" ref="view_mrp_installer"/>

View File

@ -40,7 +40,7 @@ class outlook_installer(osv.osv_memory):
_columns = {
'name':fields.char('File name', size=34),
'doc_name':fields.char('File name', size=64),
'outlook':fields.boolean('Outlook Module ', help="Allows you to select an object that youd like to add to your email and its attachments."),
'outlook':fields.boolean('Outlook Plug-in ', help="Allows you to select an object that youd like to add to your email and its attachments."),
'plugin_file':fields.binary('Outlook Plug-in', readonly=True, help="outlook plug-in file. Save as this file and install this plug-in in outlook."),
'doc_file':fields.binary('Installation Manual', help="The documentation file :- how to install Outlook Plug-in.", readonly=True),
'description':fields.text('Description', readonly=True)

View File

@ -12,13 +12,19 @@
<attribute name="string">Outlook Plug-In Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Outlook</attribute>
<attribute name="string">Outlook Plug-In</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This plug-in allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
<xpath expr="//button[@string='Install Modules']" position="replace">
<button colspan="1" icon="gtk-close" special="cancel" string="_Close" invisible="not context.get('menu',False)"/>
<button name="action_next" icon="gtk-go-forward"
type="object" string="Configure" colspan="1" invisible="context.get('menu',False)"/>
</xpath>
<xpath expr="//button[@string='Skip']" position="replace">
<button name="action_skip" icon="gtk-jump-to" special="cancel"
type="object" string="Skip" colspan="1" invisible="context.get('menu',False)"/>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
@ -43,7 +49,7 @@
</record>
<record id="action_outlook_installer" model="ir.actions.act_window">
<field name="name">Outlook Module Installation</field>
<field name="name">Outlook Plug-In Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">outlook.installer</field>
<field name="view_id" ref="view_outlook_installer"/>
@ -57,53 +63,15 @@
<field name="sequence">4</field>
</record>
<!-- Configuration wizard. -->
<record id="view_outlook_wizard" model="ir.ui.view">
<field name="name">outlook.wizard</field>
<field name="model">outlook.installer</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string= "Outlook Plug-In Configuration">
<group colspan="4">
<separator string="Configure Outlook Module" colspan="4"/>
<group colspan="4" col="10">
<group colspan="2">
<image name="gtk-dialog-info"/>
<newline/>
<label align="0.0" string="This Module allows you to select an object that you would like to add to your email and its attachments from MS Outlook. You can select a partner, a task, a project, an analytical account, or any other object and Archived selected mail in mailgate.messages with attachments" width="200"/>
</group>
<group colspan="8">
<field name="outlook" invisible="1"/>
<field name="name" invisible="1"/>
<field name="doc_name" invisible="1"/>
<newline/>
<field name="plugin_file" filename="name"/>
<newline/>
<field name="doc_file" filename="doc_name"/>
<newline/>
<separator string="Outlook plugin installation note." colspan="4"/>
<field name="description" nolabel="1" colspan="8"/>
</group>
</group>
</group>
<separator string="" colspan="4"/>
<group colspan="4">
<label align="0.0" string="" colspan="3"/>
<button colspan="1" icon="gtk-close" special="cancel" string="_Close"/>
</group>
</form>
</field>
</record>
<record id="action_outlook_wizard" model="ir.actions.act_window">
<field name="name">Outlook Module Installation</field>
<field name="name">Outlook Plug-In Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">outlook.installer</field>
<field name="view_id" ref="view_outlook_wizard"/>
<field name="view_id" ref="view_outlook_installer"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
<field name="context">{'menu':True}</field>
</record>
<menuitem id="base.menu_base_config_mail"
@ -118,7 +86,7 @@
<menuitem id="menu_base_config_plugins_outlook"
action="action_outlook_wizard"
name="Outlook"
name="Outlook Plug-In"
parent="base.menu_base_config_plugins"
sequence="10" />
</data>

View File

@ -8,18 +8,18 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Tools Modules Configuration</attribute>
<attribute name="string">Extra Tools Configuration</attribute>
</form>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<separator string="title" position="attributes">
<attribute name="string">Tools</attribute>
<attribute name="string">Configure Extra Tools</attribute>
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">Here are applications which, while they do not directly contribute to your business, can help you to improve your organization.</attribute>
<attribute name="string">Here are applications that can help you improve your organization without being key in its management.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
@ -36,7 +36,7 @@
</record>
<record id="action_misc_tools_installer" model="ir.actions.act_window">
<field name="name">Tools Modules Installation</field>
<field name="name">Tools Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">misc_tools.installer</field>
<field name="view_id" ref="view_misc_tools_installer"/>

View File

@ -9,10 +9,10 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Project Modules Configuration</attribute>
<attribute name="string">Project Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Project Management</attribute>
<attribute name="string">Configure Your Project Management Application</attribute>
</separator>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
@ -40,7 +40,7 @@
</record>
<record id="action_project_installer" model="ir.actions.act_window">
<field name="name">Project Modules Installation</field>
<field name="name">Project Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">project.installer</field>
<field name="view_id" ref="view_project_installer"/>

View File

@ -80,6 +80,7 @@
<field name="message_ids" colspan="4" nolabel="1" mode="tree,form">
<tree string="Communication history">
<field name="display_text" string="History Information"/>
<field name="history" invisible="1"/>
<button
string="Reply" attrs="{'invisible': [('history', '!=', True)]}"
name="%(crm.action_crm_send_mail)d"
@ -116,7 +117,11 @@
</form>
</field>
<separator colspan="4"/>
<button colspan="4" string="Send New Email"
<button string="Add New Note"
name="%(crm.action_crm_add_note)d"
context="{'model': 'crm.lead' }"
icon="terp-document-new" type="action" />
<button string="Send New Email"
name="%(crm.action_crm_send_mail)d"
context="{'mail':'new', 'model': 'project.issue'}"
icon="terp-mail-message-new" type="action" />

View File

@ -2,25 +2,25 @@
<openerp>
<data>
<record id="view_purchase_install_module_form" model="ir.ui.view">
<field name="name">Purchase Requisition</field>
<field name="name">Purchases Application Configuration</field>
<field name="model">purchase.installer</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_installer"/>
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string"> Purchase Modules Configuration</attribute>
<attribute name="string">Purchases Application Configuration</attribute>
</form>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<separator string="title" position="attributes">
<attribute name="string"
>Configure Your Purchase System</attribute>
>Configure Your Purchases Management Application</attribute>
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">In this page, you can extend your purchase system with purchase requisition facility and analytic distribution of purchase orders.</attribute>
<attribute name="string">Extend your Purchases Management Application with purchase requisition facility and analytic distribution of purchase orders.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
@ -34,7 +34,7 @@
</record>
<record id="action_purchase_install_module" model="ir.actions.act_window">
<field name="name">Purchase Profile : Install Extra Modules</field>
<field name="name">Purchases Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">purchase.installer</field>
<field name="view_id" ref="view_purchase_install_module_form"/>

View File

@ -8,14 +8,14 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Report Modules Configuration</attribute>
<attribute name="string">Reporting Tools Configuration</attribute>
</form>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<separator string="title" position="attributes">
<attribute name="string"
>Reporting Tools</attribute>
>Configure Reporting Tools</attribute>
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
@ -35,7 +35,7 @@
</record>
<record id="action_report_designer_installer" model="ir.actions.act_window">
<field name="name">Report Modules Installation</field>
<field name="name">Reporting Tools Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">report_designer.installer</field>
<field name="view_id" ref="view_report_designer_installer"/>

View File

@ -8,15 +8,15 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Sale Modules Configuration</attribute>
<attribute name="string">Sales Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Sales Management</attribute>
<attribute name="string">Configure Your Sales Management Application</attribute>
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">After having installed the core sales application, you can extend it depending on the needs of your sale's organization.</attribute>
<attribute name="string">Add more functionalities to the core Sales Application with the following addons.</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
@ -36,7 +36,7 @@
</record>
<record id="action_sale_installer" model="ir.actions.act_window">
<field name="name">Sale Management Modules Installation</field>
<field name="name">Sales Application Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">sale.installer</field>
<field name="view_id" ref="view_sale_installer"/>

View File

@ -524,7 +524,7 @@ to your configuration: from the sales order, from the pickings, etc.
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Sales Configuration</attribute>
<attribute name="string">Sales Application Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string"
@ -545,6 +545,7 @@ to your configuration: from the sales order, from the pickings, etc.
<field name="step"/>
</group>
<xpath expr='//button[@name="action_skip"]' position='replace'/>
</data>
</field>
</record>

View File

@ -41,7 +41,7 @@ class thunderbird_installer(osv.osv_memory):
_columns = {
'name':fields.char('File name', size=34),
'pdf_name':fields.char('File name', size=64),
'thunderbird':fields.boolean('Thunderbird Module ', help="Allows you to select an object that youd like to add to your email and its attachments."),
'thunderbird':fields.boolean('Thunderbird Plug-in', help="Allows you to select an object that youd like to add to your email and its attachments."),
'plugin_file':fields.binary('Thunderbird Plug-in', readonly=True, help="Thunderbird plug-in file. Save as this file and install this plug-in in thunderbird."),
'pdf_file':fields.binary('Installation Manual', help="The documentation file :- how to install Thunderbird Plug-in.", readonly=True),
'description':fields.text('Description', readonly=True)

View File

@ -12,14 +12,20 @@
<attribute name="string">Thunderbird Plug-In Configuration</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Thunderbird</attribute>
<attribute name="string">Thunderbird Plug-In</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This plug-in allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one.</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
<xpath expr="//button[@string='Install Modules']" position="replace">
<button colspan="1" icon="gtk-close" special="cancel" string="_Close" invisible="not context.get('menu',False)"/>
<button name="action_next" icon="gtk-go-forward"
type="object" string="Configure" colspan="1" invisible="context.get('menu',False)"/>
</xpath>
<xpath expr="//button[@string='Skip']" position="replace">
<button name="action_skip" icon="gtk-jump-to" special="cancel"
type="object" string="Skip" colspan="1" invisible="context.get('menu',False)"/>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
<attribute name='rowspan'>15</attribute>
@ -44,7 +50,7 @@
</record>
<record id="action_thunderbird_installer" model="ir.actions.act_window">
<field name="name">Thunderbird Module Installation</field>
<field name="name">Thunderbird Plug-In Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">thunderbird.installer</field>
<field name="view_id" ref="view_thunderbird_installer"/>
@ -58,59 +64,21 @@
<field name="sequence">3</field>
</record>
<!-- Configuration wizard. -->
<record id="view_thunderbird_wizard" model="ir.ui.view">
<field name="name">thunderbird.wizard</field>
<field name="model">thunderbird.installer</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string= "Thunderbird Installation">
<group colspan="4">
<separator string="Configure Thunderbird Module" colspan="4"/>
<group colspan="4" col="10">
<group colspan="2">
<image name="gtk-dialog-info"/>
<newline/>
<label align="0.0" string="This module allows you to archive an e-mail on one or more objects of OpenERP. You can attach an email to a partner, a task, an analytic account or any other object. You can also create a new object like a lead, a phone call, claim and many more." width="200"/>
</group>
<group colspan="8">
<field name="thunderbird" invisible="1"/>
<field name="name" invisible="1"/>
<field name="pdf_name" invisible="1"/>
<newline/>
<field name="plugin_file" filename="name"/>
<newline/>
<field name="pdf_file" filename="pdf_name"/>
<newline/>
<separator string="Installation and Configuration Steps" colspan="4"/>
<field name="description" nolabel="1" colspan="8"/>
</group>
</group>
</group>
<separator string="" colspan="4"/>
<group colspan="4">
<label align="0.0" string="" colspan="3"/>
<button colspan="1" icon="gtk-close" special="cancel" string="_Close"/>
</group>
</form>
</field>
</record>
<record id="action_thunderbird_wizard" model="ir.actions.act_window">
<field name="name">Thunderbird Module Installation</field>
<field name="name">Thunderbird Plug-In Configuration</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">thunderbird.installer</field>
<field name="view_id" ref="view_thunderbird_wizard"/>
<field name="view_id" ref="view_thunderbird_installer"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
<field name="context">{'menu':True}</field>
</record>
<menuitem id="base.menu_base_config_mail" name="Mail" parent="base.menu_base_config" sequence="10"/>
<menuitem id="base.menu_base_config_plugins" name="Plugins" parent="base.menu_base_config_mail" sequence="10" />
<menuitem id="menu_base_config_plugins_thunderbird" action="action_thunderbird_wizard" name="Thunderbird" parent="base.menu_base_config_plugins" sequence="10" />
<menuitem id="menu_base_config_plugins_thunderbird" action="action_thunderbird_wizard" name="Thunderbird Plug-In" parent="base.menu_base_config_plugins" sequence="10" />
</data>
</openerp>