[MERGE]:openobject-server/trunk-configuration-rework

bzr revid: ksa@tinyerp.co.in-20110419063025-zui24ha67jilse8c
This commit is contained in:
ksa (Open ERP) 2011-04-19 12:00:25 +05:30
commit 01f64ad6ed
14 changed files with 86 additions and 36 deletions

View File

@ -1617,5 +1617,30 @@
<field name="currency_id" ref="MUR"/>
<field eval="time.strftime('%Y-01-01')" name="name"/>
</record>
<record id="CFA" model="res.currency">
<!-- There are in fact 2 CFA currencies:
- XAF for the Central African CFA franc
- XOF for the West African CFA franc
As they are interchangeable, we probably only need one.
XOF appears to have "CFA" as symbol, while "XAF" is "FCFA",
so let's pick XOF as the ISO Code, to have a code-symbol match.
We can keep CFA as XML ID to show that we only have one currency,
there is no possible conflict, as no other currency currently
has CFA as ISO Code.
See http://en.wikipedia.org/wiki/CFA_franc
http://en.wikipedia.org/wiki/ISO_4217
-->
<field name="name">XOF</field>
<field name="symbol">CFA</field>
<field name="rounding">1</field>
<field name="accuracy">4</field>
<field name="company_id" ref="main_company"/>
</record>
<record id="rateCFA" model="res.currency.rate">
<field name="rate">655.957</field>
<field name="currency_id" ref="CFA"/>
<field eval="time.strftime('%Y-01-01')" name="name"/>
</record>
</data>
</openerp>

View File

@ -180,6 +180,7 @@
</search>
</field>
</record>
<!--
======================
Company
@ -201,10 +202,7 @@
<field name="rml_header1" colspan="4"/>
<field name="rml_footer1" colspan="4"/>
<field name="rml_footer2" colspan="4"/>
<field name="currency_id"/>
<button name="createReport" string="Preview Report" type="object" icon="gtk-print"/>
<separator colspan="4" string="Your Logo - Use a size of about 450x150 pixels."/>
<field colspan="4" name="logo" widget="image"/>
<field name="currency_id" colspan="2"/>
</page>
<page string="Header/Footer" groups="base.group_extended">
<field colspan="4" name="rml_header" nolabel="1"/>
@ -350,14 +348,15 @@
<record id="config_wizard_step_user" model="ir.actions.todo">
<field name="action_id" ref="action_config_user_form"/>
<field name="sequence">10</field>
<field name="restart">never</field>
<field name="type">normal</field>
<field name="state">done</field>
</record>
<record id="config_wizard_simple_view" model="ir.actions.todo">
<field name="action_id" ref="action_config_simple_view_form"/>
<field name="restart">on_trigger</field>
<field name="type">special</field>
<field name="sequence">1</field>
<field name="state">skip</field>
</record>
</data>
</openerp>

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-02-21 08:40+0000\n"
"Last-Translator: Niels Huylebroeck <Unknown>\n"
"PO-Revision-Date: 2011-04-10 19:20+0000\n"
"Last-Translator: Mustufa Rangwala (Open ERP) <mra@tinyerp.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-02-22 14:26+0000\n"
"X-Generator: Launchpad (build 12351)\n"
"X-Launchpad-Export-Date: 2011-04-11 05:42+0000\n"
"X-Generator: Launchpad (build 12735)\n"
#. module: base
#: view:ir.filters:0
@ -918,7 +918,7 @@ msgstr "Toegang verwijderen"
#. module: base
#: model:res.country,name:base.ne
msgid "Niger"
msgstr "Nigeria"
msgstr "Niger"
#. module: base
#: selection:base.language.install,lang:0

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-03-24 12:16+0000\n"
"PO-Revision-Date: 2011-04-07 04:09+0000\n"
"Last-Translator: Dorin <dhongu@gmail.com>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-03-25 06:13+0000\n"
"X-Generator: Launchpad (build 12559)\n"
"X-Launchpad-Export-Date: 2011-04-08 06:12+0000\n"
"X-Generator: Launchpad (build 12735)\n"
#. module: base
#: view:ir.filters:0
@ -47,6 +47,8 @@ msgid ""
"The second argument of the many2many field %s must be a SQL table !You used "
"%s, which is not a valid SQL table name."
msgstr ""
"Al doilea parametru a câmpului many2many %s trebuie să fie o tabelă SQL ! %s "
"utilizat nu este o tabelă SQL validă."
#. module: base
#: view:ir.values:0
@ -117,6 +119,8 @@ msgid ""
"You can not write in this document (%s) ! Be sure your user belongs to one "
"of these groups: %s."
msgstr ""
"Nu puteți scrie în acest document (%s) ! Asigurați-vă că utilizatorul "
"aparține grupului: %s."
#. module: base
#: help:ir.model.fields,domain:0
@ -125,6 +129,8 @@ msgid ""
"specified as a Python expression defining a list of triplets. For example: "
"[('color','=','red')]"
msgstr ""
"Domeniu opțional pentru a restricționa valorile pentru câmpul de relație, "
"specificat ca o listă Python. De exemplu: [('color','=','red')]"
#. module: base
#: field:res.partner,ref:0
@ -437,7 +443,7 @@ msgstr "Planificare actualizare"
#: code:addons/orm.py:838
#, python-format
msgid "Key/value '%s' not found in selection field '%s'"
msgstr ""
msgstr "Cheia/valoarea '%s' nu este găsită în selecția câmpului '%s'"
#. module: base
#: help:res.country,code:0
@ -784,7 +790,7 @@ msgstr "Categorii subordonate"
#. module: base
#: model:ir.model,name:base.model_ir_config_parameter
msgid "ir.config_parameter"
msgstr ""
msgstr "ir.config_parameter"
#. module: base
#: selection:base.language.export,format:0
@ -868,7 +874,7 @@ msgstr "Tranzitii"
#: code:addons/orm.py:4020
#, python-format
msgid "Record #%d of %s not found, cannot copy!"
msgstr ""
msgstr "Înregistrarea #%d a %s negăsită, nu se poate face copia!"
#. module: base
#: field:ir.module.module,contributors:0
@ -2150,7 +2156,7 @@ msgstr ""
#. module: base
#: model:ir.model,name:base.model_ir_module_module_dependency
msgid "Module dependency"
msgstr "Dependinţele modulului"
msgstr "Dependenţele modulului"
#. module: base
#: selection:publisher_warranty.contract.wizard,state:0
@ -2193,7 +2199,7 @@ msgstr ""
#: view:ir.module.module:0
#: field:ir.module.module,dependencies_id:0
msgid "Dependencies"
msgstr "Dependinţe"
msgstr "Dependențe"
#. module: base
#: field:multi_company.default,company_id:0

View File

@ -1878,7 +1878,7 @@
<tree editable="bottom" string="Config Wizard Steps">
<field name="sequence"/>
<field name="action_id"/>
<field name="restart"/>
<field name="type"/>
<field name="state" readonly="1"/>
<button name="action_launch" states="open" string="Launch" type="object" icon="gtk-execute" help="Launch Configuration Wizard"/>
<button name="action_open" states="cancel,skip,done"
@ -1896,7 +1896,7 @@
<form editable="bottom" string="Config Wizard Steps">
<group colspan="4" col="6">
<field name="action_id"/>
<field name="restart"/>
<field name="type"/>
<field name="sequence"/>
</group>
<separator string="Groups" colspan="4"/>
@ -1918,10 +1918,11 @@
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Actions">
<filter string="To Do" name="todo" icon="terp-camera_test" domain=" ['|',('state','=','open'),'&amp;',('state','=','skip'),('restart','=','on_trigger')]" help="Todo State Or (Skip State And ontrigger Restart)"/>
<filter string="To Do" name="todo" icon="terp-camera_test" domain=" [('state','=','open')]" help="Wizards to be Launched"/>
<separator orientation="vertical"/>
<field name="action_id"/>
<field name="state"/>
<field name="restart"/>
<field name="type"/>
</search>
</field>
</record>

View File

@ -815,14 +815,14 @@ class ir_actions_todo(osv.osv):
'sequence': fields.integer('Sequence'),
'state': fields.selection(TODO_STATES, string='State', required=True),
'name':fields.char('Name', size=64),
'restart': fields.selection([('on_trigger','On Trigger'),('always','Always'),('never','Never')],'Restart',required=True),
'type': fields.selection([('special','Special'),('normal','Normal'),('normal_recurring','Normal Recurring')],'Type',required=True),
'groups_id':fields.many2many('res.groups', 'res_groups_action_rel', 'uid', 'gid', 'Groups'),
'note':fields.text('Text', translate=True),
}
_defaults={
'state': 'open',
'sequence': 10,
'restart': 'on_trigger',
'type': 'special',
}
_order="sequence,name,id"
@ -832,8 +832,8 @@ class ir_actions_todo(osv.osv):
context = {}
wizard_id = ids and ids[0] or False
wizard = self.browse(cr, uid, wizard_id, context=context)
res = self.pool.get('ir.actions.act_window').read(cr, uid, wizard.action_id.id, ['name', 'view_type', 'view_mode', 'res_model', 'context', 'views', 'type'], context=context)
res.update({'target':'new', 'nodestroy': True})
res = self.pool.get('ir.actions.act_window').read(cr, uid, wizard.action_id.id, ['name', 'view_type', 'view_mode', 'res_model', 'context', 'views', 'type','target'], context=context)
res.update({'nodestroy': True})
return res
def action_open(self, cr, uid, ids, context=None):

View File

@ -243,11 +243,10 @@ class ir_ui_menu(osv.osv):
'web_icon_data': False,
'web_icon_hover_data': False,
}
if not menu.parent_id:
if menu.web_icon_hover:
res[menu.id]['web_icon_hover_data'] = self.read_image(menu.web_icon_hover)
if menu.web_icon:
res[menu.id]['web_icon_data'] = self.read_image(menu.web_icon)
if menu.web_icon_hover:
res[menu.id]['web_icon_hover_data'] = self.read_image(menu.web_icon_hover)
if menu.web_icon:
res[menu.id]['web_icon_data'] = self.read_image(menu.web_icon)
return res
_columns = {

View File

@ -27,7 +27,7 @@ class base_module_configuration(osv.osv_memory):
_name = "base.module.configuration"
def start(self, cr, uid, ids, context=None):
todo_ids = self.pool.get('ir.actions.todo').search(cr, uid, ['|', '|', ('restart','=','always'), ('state', '=', 'open'), '&', ('state', '=', 'skip'), ('restart', '=', 'on_trigger')])
todo_ids = self.pool.get('ir.actions.todo').search(cr, uid, ['|', '|', ('type','=','normal_recurring'), ('state', '=', 'open'), '&', ('state', '=', 'skip'), ('type', '=', 'special')])
if not todo_ids:
# When there is no wizard todo it will display message
data_obj = self.pool.get('ir.model.data')

View File

@ -75,7 +75,6 @@ class multi_company_default(osv.osv):
multi_company_default()
class res_company(osv.osv):
_name = "res.company"
_description = 'Companies'
@ -145,6 +144,26 @@ class res_company(osv.osv):
return []
ids = self.search(cr, uid, [('parent_id','child_of',[company])])
return ids
# For Report
def createReport(cr, uid, report, ids, name=False):
files = []
for id in ids:
try:
service = netsvc.LocalService(report)
(result, format) = service.create(cr, uid, [id], {}, {})
if not name:
report_file = '/tmp/reports'+ str(id) + '.pdf'
else:
report_file = name
fp = open(report_file,'wb+')
fp.write(result);
fp.close();
files += [report_file]
except Exception,e:
continue
return files
def _get_partner_hierarchy(self, cr, uid, company_id, context={}):
if company_id:

View File

@ -66,6 +66,7 @@ class res_config_configurable(osv.osv_memory):
def _next_action(self, cr, uid, context=None):
todos = self.pool.get('ir.actions.todo')
self.__logger.info('getting next %s', todos)
# Don't forget to change the domain in search view, if this condition is changed
active_todos = todos.search(cr, uid, [('state','=','open')],
limit=1)
if active_todos:
@ -120,7 +121,7 @@ class res_config_configurable(osv.osv_memory):
def start(self, cr, uid, ids, context=None):
ids2 = self.pool.get('ir.actions.todo').search(cr, uid, [], context=context)
for todo in self.pool.get('ir.actions.todo').browse(cr, uid, ids2, context=context):
if (todo.restart=='always'):
if (todo.type=='normal_recurring'):
todo.write({'state':'open'})
return self.next(cr, uid, ids, context)

View File

@ -2172,6 +2172,7 @@ class orm(orm_template):
if fget[groupby]['type'] in ('date', 'datetime'):
flist = "to_char(%s,'yyyy-mm') as %s " % (qualified_groupby_field, groupby)
groupby = "to_char(%s,'yyyy-mm')" % (qualified_groupby_field)
qualified_groupby_field = groupby
else:
flist = qualified_groupby_field
else:

View File

@ -1,4 +1,3 @@
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
##############################################################################
#

0
openerp/tools/graph.py Normal file → Executable file
View File

0
openerp/tools/which.py Normal file → Executable file
View File