[MERGE] merged trunk.
bzr revid: vmt@openerp.com-20121105090123-difc1iksbnb28mtv
This commit is contained in:
commit
7169f91bc3
|
@ -86,14 +86,12 @@ The kernel of OpenERP, needed for all installation.
|
|||
'security/base_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
'security/ir.model.access-1.csv', # res.partner.address is deprecated; it is still there for backward compability only and will be removed in next version
|
||||
'res/res_widget_view.xml',
|
||||
'res/res_widget_data.xml',
|
||||
],
|
||||
'demo': [
|
||||
'base_demo.xml',
|
||||
'res/res_partner_demo.xml',
|
||||
'res/res_partner_demo.yml',
|
||||
'res/res_widget_demo.xml',
|
||||
'res/res_partner_image_demo.xml',
|
||||
],
|
||||
'test': [
|
||||
'test/base_test.xml',
|
||||
|
|
|
@ -7,14 +7,14 @@ msgstr ""
|
|||
"Project-Id-Version: OpenERP Server 6.0.0-rc1\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:44+0000\n"
|
||||
"PO-Revision-Date: 2011-01-18 05:32+0000\n"
|
||||
"PO-Revision-Date: 2012-11-05 00:42+0000\n"
|
||||
"Last-Translator: Cristian Salamea (Gnuthink) <ovnicraft@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: 2012-10-20 05:06+0000\n"
|
||||
"X-Generator: Launchpad (build 16165)\n"
|
||||
"X-Launchpad-Export-Date: 2012-11-05 04:40+0000\n"
|
||||
"X-Generator: Launchpad (build 16232)\n"
|
||||
|
||||
#. module: base
|
||||
#: model:res.country,name:base.sh
|
||||
|
@ -655,6 +655,26 @@ msgid ""
|
|||
" Accounting/Reporting/Generic Reporting/Partners/Follow-ups Sent\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Modulo para automatizar cartas para facturas no pagadas, con recordatorios "
|
||||
"multi-nivel\n"
|
||||
"==========================================================================\n"
|
||||
"\n"
|
||||
"Pueden definirse múltiples niveles de recordatorios a través del menú:\n"
|
||||
" Contabilidad/Configuración/Varios/Seguimientos\n"
|
||||
"\n"
|
||||
"Una vez definidos, pueden imprimirse automáticamente recordatorios cada día, "
|
||||
"simplemente haciendo clic en el menú: \n"
|
||||
" Contabilidad/Procesamiento periódico/Facturación/Enviar seguimientos\n"
|
||||
"\n"
|
||||
"Se generará un PDF con todas las cartas de acuerdo con los diferentes \n"
|
||||
"niveles de recordatorio definidos. Se pueden definir diferentes políticas\n"
|
||||
"para las distintas compañías . También se puede enviar correo al cliente.\n"
|
||||
"\n"
|
||||
"Debe denotarse que si se quiere revisar el nivel de seguimiento de una "
|
||||
"empresa/cuenta determinada, se puede realizar en el menú:\n"
|
||||
" Contabilidad/Informes/Informes genéricos/Empresas/Seguimientos enviados\n"
|
||||
"\n"
|
||||
|
||||
#. module: base
|
||||
#: field:res.country,name:0
|
||||
|
|
|
@ -142,13 +142,13 @@ class report_xml(osv.osv):
|
|||
|
||||
}
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.report.xml',
|
||||
'multi': lambda *a: False,
|
||||
'auto': lambda *a: True,
|
||||
'header': lambda *a: True,
|
||||
'report_sxw_content': lambda *a: False,
|
||||
'report_type': lambda *a: 'pdf',
|
||||
'attachment': lambda *a: False,
|
||||
'type': 'ir.actions.report.xml',
|
||||
'multi': False,
|
||||
'auto': True,
|
||||
'header': True,
|
||||
'report_sxw_content': False,
|
||||
'report_type': 'pdf',
|
||||
'attachment': False,
|
||||
}
|
||||
|
||||
report_xml()
|
||||
|
@ -251,14 +251,14 @@ class act_window(osv.osv):
|
|||
}
|
||||
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.act_window',
|
||||
'view_type': lambda *a: 'form',
|
||||
'view_mode': lambda *a: 'tree,form',
|
||||
'context': lambda *a: '{}',
|
||||
'limit': lambda *a: 80,
|
||||
'target': lambda *a: 'current',
|
||||
'auto_refresh': lambda *a: 0,
|
||||
'auto_search':lambda *a: True,
|
||||
'type': 'ir.actions.act_window',
|
||||
'view_type': 'form',
|
||||
'view_mode': 'tree,form',
|
||||
'context': '{}',
|
||||
'limit': 80,
|
||||
'target': 'current',
|
||||
'auto_refresh': 0,
|
||||
'auto_search':True,
|
||||
'multi': False,
|
||||
}
|
||||
|
||||
|
@ -298,7 +298,7 @@ class act_window_view(osv.osv):
|
|||
help="If set to true, the action will not be displayed on the right toolbar of a form view."),
|
||||
}
|
||||
_defaults = {
|
||||
'multi': lambda *a: False,
|
||||
'multi': False,
|
||||
}
|
||||
def _auto_init(self, cr, context=None):
|
||||
super(act_window_view, self)._auto_init(cr, context)
|
||||
|
@ -322,8 +322,8 @@ class act_wizard(osv.osv):
|
|||
'model': fields.char('Object', size=64),
|
||||
}
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.wizard',
|
||||
'multi': lambda *a: False,
|
||||
'type': 'ir.actions.wizard',
|
||||
'multi': False,
|
||||
}
|
||||
act_wizard()
|
||||
|
||||
|
@ -344,8 +344,8 @@ class act_url(osv.osv):
|
|||
)
|
||||
}
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.act_url',
|
||||
'target': lambda *a: 'new'
|
||||
'type': 'ir.actions.act_url',
|
||||
'target': 'new'
|
||||
}
|
||||
act_url()
|
||||
|
||||
|
@ -388,7 +388,7 @@ class server_object_lines(osv.osv):
|
|||
], 'Type', required=True, size=32, change_default=True),
|
||||
}
|
||||
_defaults = {
|
||||
'type': lambda *a: 'equation',
|
||||
'type': 'equation',
|
||||
}
|
||||
server_object_lines()
|
||||
|
||||
|
@ -490,11 +490,11 @@ class actions_server(osv.osv):
|
|||
'copy_object': fields.reference('Copy Of', selection=_select_objects, size=256),
|
||||
}
|
||||
_defaults = {
|
||||
'state': lambda *a: 'dummy',
|
||||
'condition': lambda *a: 'True',
|
||||
'type': lambda *a: 'ir.actions.server',
|
||||
'sequence': lambda *a: 5,
|
||||
'code': lambda *a: """# You can use the following variables:
|
||||
'state': 'dummy',
|
||||
'condition': 'True',
|
||||
'type': 'ir.actions.server',
|
||||
'sequence': 5,
|
||||
'code': """# You can use the following variables:
|
||||
# - self: ORM model of the record on which the action is triggered
|
||||
# - object: browse_record of the record on which the action is triggered if there is one, otherwise None
|
||||
# - pool: ORM model pool (i.e. self.pool)
|
||||
|
@ -747,7 +747,7 @@ class act_window_close(osv.osv):
|
|||
_inherit = 'ir.actions.actions'
|
||||
_table = 'ir_actions'
|
||||
_defaults = {
|
||||
'type': lambda *a: 'ir.actions.act_window_close',
|
||||
'type': 'ir.actions.act_window_close',
|
||||
}
|
||||
act_window_close()
|
||||
|
||||
|
|
|
@ -80,13 +80,13 @@ class ir_cron(osv.osv):
|
|||
|
||||
_defaults = {
|
||||
'nextcall' : lambda *a: time.strftime(DEFAULT_SERVER_DATETIME_FORMAT),
|
||||
'priority' : lambda *a: 5,
|
||||
'priority' : 5,
|
||||
'user_id' : lambda obj,cr,uid,context: uid,
|
||||
'interval_number' : lambda *a: 1,
|
||||
'interval_type' : lambda *a: 'months',
|
||||
'numbercall' : lambda *a: 1,
|
||||
'active' : lambda *a: 1,
|
||||
'doall' : lambda *a: 1
|
||||
'interval_number' : 1,
|
||||
'interval_type' : 'months',
|
||||
'numbercall' : 1,
|
||||
'active' : 1,
|
||||
'doall' : 1
|
||||
}
|
||||
|
||||
def _check_args(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -197,7 +197,7 @@ class ir_mail_server(osv.osv):
|
|||
logpiper = WriteToLogger(_logger)
|
||||
smtplib.stderr = logpiper
|
||||
smtplib.stdout = logpiper
|
||||
return super(ir_mail_server, self).__init__(*args,**kwargs)
|
||||
super(ir_mail_server, self).__init__(*args,**kwargs)
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
return [(a["id"], "(%s)" % (a['name'])) for a in self.read(cr, uid, ids, ['name'], context=context)]
|
||||
|
|
|
@ -106,7 +106,7 @@ class ir_model(osv.osv):
|
|||
}
|
||||
|
||||
_defaults = {
|
||||
'model': lambda *a: 'x_',
|
||||
'model': 'x_',
|
||||
'state': lambda self,cr,uid,ctx=None: (ctx and ctx.get('manual',False)) and 'manual' or 'base',
|
||||
}
|
||||
|
||||
|
|
|
@ -300,7 +300,7 @@ class view_sc(osv.osv):
|
|||
|
||||
_order = 'sequence,name'
|
||||
_defaults = {
|
||||
'resource': lambda *a: 'ir.ui.menu',
|
||||
'resource': 'ir.ui.menu',
|
||||
'user_id': lambda obj, cr, uid, context: uid,
|
||||
}
|
||||
_sql_constraints = [
|
||||
|
|
|
@ -172,6 +172,7 @@
|
|||
<field name="author"/>
|
||||
<field name="installed_version"/>
|
||||
<field name="state"/>
|
||||
<field name="category_id" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -46,12 +46,12 @@ class base_module_upgrade(osv.osv_memory):
|
|||
|
||||
ids = self.get_module_list(cr, uid, context=context)
|
||||
if not ids:
|
||||
res['arch'] = '''<form string="Apply Schedule Upgrade" version="7.0">
|
||||
<header>
|
||||
<button name="config" string="Start configuration" type="object" icon="gtk-ok"/>
|
||||
<button special="cancel" string="Close" icon="gtk-cancel"/>
|
||||
</header>
|
||||
<separator string="Apply Schedule Upgrade" colspan="4"/>
|
||||
res['arch'] = '''<form string="Upgrade Completed" version="7.0">
|
||||
<separator string="Upgrade Completed" colspan="4"/>
|
||||
<footer>
|
||||
<button name="config" string="Start Configuration" type="object" class="oe_highlight"/> or
|
||||
<button special="cancel" string="Close" class="oe_link"/>
|
||||
</footer>
|
||||
</form>'''
|
||||
|
||||
return res
|
||||
|
|
|
@ -31,7 +31,6 @@ import res_company
|
|||
import res_users
|
||||
import res_request
|
||||
import res_lang
|
||||
import res_widget
|
||||
import ir_property
|
||||
|
||||
import report
|
||||
|
|
|
@ -155,7 +155,7 @@ class res_partner_bank(osv.osv):
|
|||
cursor, user, 'country_id', context=context),
|
||||
'state_id': lambda obj, cursor, user, context: obj._default_value(
|
||||
cursor, user, 'state_id', context=context),
|
||||
'name': lambda *args: '/'
|
||||
'name': '/'
|
||||
}
|
||||
|
||||
def fields_get(self, cr, uid, fields=None, context=None):
|
||||
|
|
|
@ -51,8 +51,8 @@ class multi_company_default(osv.osv):
|
|||
}
|
||||
|
||||
_defaults = {
|
||||
'expression': lambda *a: 'True',
|
||||
'sequence': lambda *a: 100,
|
||||
'expression': 'True',
|
||||
'sequence': 100,
|
||||
}
|
||||
|
||||
def copy(self, cr, uid, id, default=None, context=None):
|
||||
|
@ -235,7 +235,7 @@ class res_company(osv.osv):
|
|||
self.cache_restart(cr)
|
||||
return super(res_company, self).create(cr, uid, vals, context=context)
|
||||
obj_partner = self.pool.get('res.partner')
|
||||
partner_id = obj_partner.create(cr, uid, {'name': vals['name'], 'is_company':True}, context=context)
|
||||
partner_id = obj_partner.create(cr, uid, {'name': vals['name'], 'is_company':True, 'image': vals.get('logo', False)}, context=context)
|
||||
vals.update({'partner_id': partner_id})
|
||||
self.cache_restart(cr)
|
||||
company_id = super(res_company, self).create(cr, uid, vals, context=context)
|
||||
|
|
|
@ -69,7 +69,7 @@ class res_currency(osv.osv):
|
|||
'position': fields.selection([('after','After Amount'),('before','Before Amount')], 'Symbol Position', help="Determines where the currency symbol should be placed after or before the amount.")
|
||||
}
|
||||
_defaults = {
|
||||
'active': lambda *a: 1,
|
||||
'active': 1,
|
||||
'position' : 'after',
|
||||
'rounding': 0.01,
|
||||
'accuracy': 4,
|
||||
|
|
|
@ -143,14 +143,14 @@ class lang(osv.osv):
|
|||
'thousands_sep':fields.char('Thousands Separator',size=64),
|
||||
}
|
||||
_defaults = {
|
||||
'active': lambda *a: 1,
|
||||
'translatable': lambda *a: 0,
|
||||
'direction': lambda *a: 'ltr',
|
||||
'active': 1,
|
||||
'translatable': 0,
|
||||
'direction': 'ltr',
|
||||
'date_format':_get_default_date_format,
|
||||
'time_format':_get_default_time_format,
|
||||
'grouping':lambda *a: '[]',
|
||||
'decimal_point':lambda *a: '.',
|
||||
'thousands_sep':lambda *a: ',',
|
||||
'grouping': '[]',
|
||||
'decimal_point': '.',
|
||||
'thousands_sep': ',',
|
||||
}
|
||||
_sql_constraints = [
|
||||
('name_uniq', 'unique (name)', 'The name of the language must be unique !'),
|
||||
|
|
|
@ -135,7 +135,7 @@ class res_partner_category(osv.osv):
|
|||
(osv.osv._check_recursion, 'Error ! You can not create recursive categories.', ['parent_id'])
|
||||
]
|
||||
_defaults = {
|
||||
'active': lambda *a: 1,
|
||||
'active': 1,
|
||||
}
|
||||
_parent_store = True
|
||||
_parent_order = 'name'
|
||||
|
@ -213,7 +213,7 @@ class res_partner(osv.osv, format_address):
|
|||
'employee': fields.boolean('Employee', help="Check this box if this contact is an Employee."),
|
||||
'function': fields.char('Job Position', size=128),
|
||||
'type': fields.selection([('default', 'Default'), ('invoice', 'Invoice'),
|
||||
('delivery', 'Delivery'), ('contact', 'Contact'),
|
||||
('delivery', 'Shipping'), ('contact', 'Contact'),
|
||||
('other', 'Other')], 'Address Type',
|
||||
help="Used to select automatically the right address according to the context in sales and purchases documents."),
|
||||
'street': fields.char('Street', size=128),
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -77,10 +77,10 @@ class res_request(osv.osv):
|
|||
'history': fields.one2many('res.request.history','req_id', 'History')
|
||||
}
|
||||
_defaults = {
|
||||
'act_from': lambda obj,cr,uid,context={}: uid,
|
||||
'state': lambda obj,cr,uid,context={}: 'draft',
|
||||
'active': lambda obj,cr,uid,context={}: True,
|
||||
'priority': lambda obj,cr,uid,context={}: '1',
|
||||
'act_from': lambda obj,cr,uid,context=None: uid,
|
||||
'state': 'draft',
|
||||
'active': True,
|
||||
'priority': '1',
|
||||
}
|
||||
_order = 'priority desc, trigger_date, create_date desc'
|
||||
_table = 'res_request'
|
||||
|
@ -94,7 +94,7 @@ class res_request_link(osv.osv):
|
|||
'priority': fields.integer('Priority'),
|
||||
}
|
||||
_defaults = {
|
||||
'priority': lambda *a: 5,
|
||||
'priority': 5,
|
||||
}
|
||||
_order = 'priority'
|
||||
res_request_link()
|
||||
|
@ -110,9 +110,9 @@ class res_request_history(osv.osv):
|
|||
'date_sent': fields.datetime('Date sent', states={'waiting':[('readonly',True)]}, required=True)
|
||||
}
|
||||
_defaults = {
|
||||
'name': lambda *a: 'NoName',
|
||||
'act_from': lambda obj,cr,uid,context={}: uid,
|
||||
'act_to': lambda obj,cr,uid,context={}: uid,
|
||||
'name': 'NoName',
|
||||
'act_from': lambda obj,cr,uid,context=None: uid,
|
||||
'act_to': lambda obj,cr,uid,context=None: uid,
|
||||
'date_sent': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
|
||||
}
|
||||
res_request_history()
|
||||
|
|
|
@ -122,7 +122,6 @@ class res_users(osv.osv):
|
|||
}
|
||||
_name = "res.users"
|
||||
_description = 'Users'
|
||||
_order = 'login'
|
||||
|
||||
def _set_new_password(self, cr, uid, id, name, value, args, context=None):
|
||||
if value is False:
|
||||
|
|
|
@ -1,89 +0,0 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
from osv import fields,osv
|
||||
|
||||
|
||||
class res_widget(osv.osv):
|
||||
_name = "res.widget"
|
||||
_rec_name = "title"
|
||||
_columns = {
|
||||
'title' : fields.char('Title', size=64, required=True, translate=True),
|
||||
'content': fields.text('Content', required=True),
|
||||
}
|
||||
|
||||
res_widget()
|
||||
|
||||
|
||||
class res_widget_user(osv.osv):
|
||||
_name="res.widget.user"
|
||||
_rec_name="user_id"
|
||||
_order = "sequence"
|
||||
_columns = {
|
||||
'sequence': fields.integer('Sequence'),
|
||||
'user_id': fields.many2one('res.users','User', select=1, ondelete='cascade'),
|
||||
'widget_id': fields.many2one('res.widget','Widget',required=True, ondelete='cascade'),
|
||||
}
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
existing = self.search(cr, uid, [('user_id', '=', vals.get('user_id')), ('widget_id', '=', vals.get('widget_id'))], context=context)
|
||||
if existing:
|
||||
res = existing[0]
|
||||
else:
|
||||
res = super(res_widget_user, self).create(cr, uid, vals, context=context)
|
||||
return res
|
||||
|
||||
res_widget_user()
|
||||
|
||||
class res_widget_wizard(osv.osv_memory):
|
||||
_name = "res.widget.wizard"
|
||||
_description = "Add a widget for User"
|
||||
|
||||
def widgets_list_get(self, cr, uid,context=None):
|
||||
widget_obj=self.pool.get('res.widget')
|
||||
ids=widget_obj.search(cr, uid,[],context=context)
|
||||
if not len(ids):
|
||||
return []
|
||||
reads = widget_obj.read(cr, uid, ids, ['title'], context=context)
|
||||
res = []
|
||||
for record in reads:
|
||||
res.append((record['id'], record['title']))
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
'widgets_list': fields.selection(widgets_list_get,string='Widget',required=True),
|
||||
}
|
||||
|
||||
def action_get(self, cr, uid, context=None):
|
||||
return self.pool.get('ir.actions.act_window').for_xml_id(
|
||||
cr, uid, 'base', 'action_res_widget_wizard', context=context)
|
||||
|
||||
def res_widget_add(self, cr, uid, ids, context=None):
|
||||
widget_id = self.read(cr, uid, ids, context=context)[0]
|
||||
if widget_id.has_key('widgets_list') and widget_id['widgets_list']:
|
||||
self.pool.get('res.widget.user').create(
|
||||
cr, uid, {'user_id':uid, 'widget_id':widget_id['widgets_list']}, context=context)
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
res_widget_wizard()
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,78 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="openerp_favorites_twitter_widget" model="res.widget">
|
||||
<field name="title">OpenERP Tweets</field>
|
||||
<field name="content"><![CDATA[
|
||||
<script type="text/javascript" src="http://widgets.twimg.com/j/2/widget.js"></script>
|
||||
<script type="text/javascript">
|
||||
if (typeof(TWTR) !== 'undefined') {
|
||||
new TWTR.Widget({
|
||||
version: 2,
|
||||
type: 'faves',
|
||||
rpp: 10,
|
||||
interval: 6000,
|
||||
title: '',
|
||||
subject: '',
|
||||
width: 'auto',
|
||||
height: 300,
|
||||
theme: {
|
||||
shell: {
|
||||
background: '#F0EEEE',
|
||||
color: '#444444'
|
||||
},
|
||||
tweets: {
|
||||
background: '#F0EEEE',
|
||||
color: '#444444',
|
||||
links: '#9A0404'
|
||||
}
|
||||
},
|
||||
features: {
|
||||
scrollbar: true,
|
||||
loop: false,
|
||||
live: true,
|
||||
hashtags: true,
|
||||
timestamp: true,
|
||||
avatars: true,
|
||||
behavior: 'all'
|
||||
}
|
||||
}).render().setUser('openerp').start();
|
||||
}
|
||||
</script>]]> </field>
|
||||
</record>
|
||||
|
||||
<record id="events_widget" model="res.widget">
|
||||
<field name="title">Events</field>
|
||||
<field name="content"><![CDATA[<script src="http://widgets.twimg.com/j/2/widget.js"></script>
|
||||
<div style="width:195px; text-align:center;" ><iframe src="http://www.eventbrite.com/calendar-widget?eid=852573069" frameborder="0" height="626" width="220" marginheight="0" marginwidth="0" scrolling="no" ></iframe><div style="font-family:Helvetica, Arial; font-size:10px; padding:5px 0 5px; margin:2px; width:195px; text-align:center;" ><a style="color:#ddd; text-decoration:none;" target="_blank" href="http://www.eventbrite.com/features?ref=ecal" >Online Ticketing</a><span style="color:#ddd;" > powered by </span><a style="color:#ddd; text-decoration:none;" target="_blank" href="http://www.eventbrite.com?ref=ecal" >Eventbrite</a></div>]]></field>
|
||||
</record>
|
||||
|
||||
<record id="facebook_widget" model="res.widget">
|
||||
<field name="title">Facebook</field>
|
||||
<field name="content"><![CDATA[<script src="http://widgets.twimg.com/j/2/widget.js"></script>
|
||||
<iframe src="http://www.facebook.com/plugins/activity.php?site=www.facebook.com/OpenERP&width=399&height=300&header=true&colorscheme=light&recommendations=true" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:399px; height:300px;" allowTransparency="true"></iframe>]]></field>
|
||||
</record>
|
||||
|
||||
<record id="note_widget" model="res.widget">
|
||||
<field name="title">Notes</field>
|
||||
<field name="content"><![CDATA[<script src="http://widgets.twimg.com/j/2/widget.js"></script>
|
||||
<script src="http://www.gmodules.com/ig/ifr?url=http://www.google.com/ig/modules/sticky.xml&up_title=Note&up_bgcolor=white&up_textcolor=Black&up_stickydata=&synd=open&w=399&h=200&title=Notes&lang=all&country=ALL&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>]]></field>
|
||||
</record>
|
||||
|
||||
<record id="google_maps_widget" model="res.widget">
|
||||
<field name="title">Google Maps</field>
|
||||
<field name="content"><![CDATA[<script src="http://widgets.twimg.com/j/2/widget.js"></script>
|
||||
<script src="http://www.gmodules.com/ig/ifr?url=http://www.google.com/uds/modules/elements/localsearch/localsearch.xml&up_location=Ramillies&up_largeMapMode=1&up_kml=1&up_traffic=&up_locationCacheString=&up_locationCacheLat=&up_locationCacheLng=&up_mapType=m&up_idleZoom=11&up_transitionQuery=&up_rawquery=&up_selectedtext=&synd=open&w=399&h=350&title=Map&lang=all&country=ALL&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>]]></field>
|
||||
</record>
|
||||
|
||||
<record id="currency_converter_widget" model="res.widget">
|
||||
<field name="title">Currency Converter</field>
|
||||
<field name="content"><![CDATA[<script src="http://widgets.twimg.com/j/2/widget.js"></script>
|
||||
<script src="http://www.gmodules.com/ig/ifr?url=http://www.pixelmedia.nl/gmodules/ucc.xml&up_fromcur=USD&up_tocur=EUR&synd=open&w=399&h=110&title=Currency+Converter&lang=all&country=ALL&border=%23ffffff%7C3px%2C1px+solid+%23999999&output=js"></script>]]></field>
|
||||
</record>
|
||||
|
||||
<record id="openerp_favorites" model="res.widget.user">
|
||||
<field name="widget_id" ref="openerp_favorites_twitter_widget"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
</data>
|
||||
</openerp>
|
|
@ -1,101 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="view_res_widget_search" model="ir.ui.view">
|
||||
<field name="name">res.widget.search</field>
|
||||
<field name="model">res.widget</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Widget">
|
||||
<field name="title" string="Widget"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="res_widget_form" model="ir.ui.view">
|
||||
<field name="name">res.widget.form</field>
|
||||
<field name="model">res.widget</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Widgets" version="7.0">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="title"/>
|
||||
<field name="content"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="res_widget_tree" model="ir.ui.view">
|
||||
<field name="name">res.widget.tree</field>
|
||||
<field name="model">res.widget</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Widgets">
|
||||
<field name="title"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="res_widget_act_window" model="ir.actions.act_window">
|
||||
<field name="name">Homepage Widgets</field>
|
||||
<field name="res_model">res.widget</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_res_widget_search"/>
|
||||
</record>
|
||||
<menuitem action="res_widget_act_window" id="menu_res_widget_act_window" parent="base.next_id_2" />
|
||||
|
||||
<record id="res_widget_user_tree" model="ir.ui.view">
|
||||
<field name="name">res.widget.user.tree</field>
|
||||
<field name="model">res.widget.user</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="User Widgets">
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="user_id"/>
|
||||
<field name="widget_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="res_widget_user_form" model="ir.ui.view">
|
||||
<field name="name">res.widget.user.form</field>
|
||||
<field name="model">res.widget.user</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="User Widgets" version="7.0">
|
||||
<sheet>
|
||||
<group col="4">
|
||||
<field name="widget_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="res_widget_user_act_window" model="ir.actions.act_window">
|
||||
<field name="name">Widgets per User</field>
|
||||
<field name="res_model">res.widget.user</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
<menuitem action="res_widget_user_act_window" id="menu_res_widget_user_act_window" parent="base.next_id_2"/>
|
||||
|
||||
<record id="view_res_widget_wizard" model="ir.ui.view">
|
||||
<field name="name">Homepage Widgets Management</field>
|
||||
<field name="model">res.widget.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Widget Wizard" col="4" version="7.0">
|
||||
<header>
|
||||
<button name="res_widget_add" string="Add" type="object" class="oe_highlight"/>
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel" />
|
||||
</header>
|
||||
<group>
|
||||
<field name="widgets_list"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<act_window name="Homepage Widgets Management"
|
||||
res_model="res.widget.wizard" src_model="res.widget.user"
|
||||
view_mode="form" target="new" key2="client_action_multi"
|
||||
id="action_res_widget_wizard"/>
|
||||
</data>
|
||||
</openerp>
|
|
@ -46,12 +46,6 @@
|
|||
<field name="groups_id" eval="[(6,0, [ref('group_system'), ref('group_erp_manager')])]"/>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="res_widget_user_rule">
|
||||
<field name="name">res.widget.user rule</field>
|
||||
<field name="model_id" ref="model_res_widget_user"/>
|
||||
<field name="domain_force">['|', ('user_id','=',user.id),('user_id','=',False)]</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.rule" id="res_partner_rule">
|
||||
<field name="name">res.partner company</field>
|
||||
<field name="model_id" ref="model_res_partner"/>
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_res_widget_user_all","res_widget_user all","model_res_widget_user",,1,1,1,1
|
||||
"access_res_widget_user_group_user","res_widget_user group_user","model_res_widget_user","group_user",1,1,1,1
|
||||
"access_ir_attachment_all","ir_attachment all","model_ir_attachment",,1,0,0,0
|
||||
"access_ir_attachment_group_user","ir_attachment group_user","model_ir_attachment","group_user",1,1,1,1
|
||||
"access_ir_cron_group_cron","ir_cron group_cron","model_ir_cron","group_system",1,1,1,1
|
||||
|
@ -115,8 +113,6 @@
|
|||
"access_ir_filter all","ir_filters all","model_ir_filters",,1,0,0,0
|
||||
"access_ir_filter employee","ir_filters employee","model_ir_filters","group_user",1,1,1,1
|
||||
"access_ir_filters","ir_filters_all","model_ir_filters",,1,1,1,1
|
||||
"access_res_widget","res.widget","model_res_widget","group_erp_manager",1,1,1,1
|
||||
"access_res_widget_user","res.widget.user","model_res_widget",,1,0,0,0
|
||||
"access_ir_config_parameter","ir_config_parameter","model_ir_config_parameter",,1,0,0,0
|
||||
"access_ir_mail_server_all","ir_mail_server","model_ir_mail_server",,1,0,0,0
|
||||
"access_ir_actions_client","ir_actions_client all","model_ir_actions_client",,1,0,0,0
|
||||
|
|
|
|
@ -2292,7 +2292,9 @@ class BaseModel(object):
|
|||
if view_type == 'tree' or not action[2].get('multi')]
|
||||
resprint = [clean(print_) for print_ in resprint
|
||||
if view_type == 'tree' or not print_[2].get('multi')]
|
||||
resrelate = map(lambda x: x[2], resrelate)
|
||||
#When multi="True" set it will display only in More of the list view
|
||||
resrelate = [clean(action) for action in resrelate
|
||||
if (action[2].get('multi') and view_type == 'tree') or (not action[2].get('multi') and view_type == 'form')]
|
||||
|
||||
for x in itertools.chain(resprint, resaction, resrelate):
|
||||
x['string'] = x['name']
|
||||
|
|
Loading…
Reference in New Issue