├── biwizard ├── __init__.py ├── security │ ├── biwizard_groups.xml │ └── ir.model.access.csv ├── views │ ├── rules.xml │ ├── computedfields.xml │ ├── cubelink.xml │ ├── menu.xml │ ├── cubemodel.xml │ └── cubeunion.xml ├── models │ ├── rule.xml │ ├── ruleunion.xml │ ├── filters.xml │ ├── model.xml │ ├── computedfield.xml │ └── o2m.xml └── __manifest__.py ├── runbot_cla ├── __init__.py ├── __openerp__.py └── runbot.py ├── session_db ├── __init__.py ├── models │ ├── __init__.py │ └── session.py └── __manifest__.py ├── base_report_designer ├── openerp_sxw2rml │ ├── office.dtd │ └── __init__.py ├── plugin │ └── openerp_report_designer │ │ ├── bin │ │ ├── script │ │ │ ├── import │ │ │ ├── compile_all.py │ │ │ ├── lib │ │ │ │ ├── __init__.py │ │ │ │ ├── tools.py │ │ │ │ ├── error.py │ │ │ │ ├── logreport.py │ │ │ │ ├── tiny_socket.py │ │ │ │ └── actions.py │ │ │ ├── LoginTest.py │ │ │ ├── __init__.py │ │ │ ├── ConvertFieldsToBraces.py │ │ │ ├── About.py │ │ │ ├── NewReport.py │ │ │ ├── Expression.py │ │ │ ├── modify.py │ │ │ ├── ExportToRML.py │ │ │ └── Change.py │ │ ├── OOo_run.sh │ │ └── Makefile │ │ ├── test │ │ ├── test_fields.py │ │ └── test.txt │ │ └── README ├── static │ └── base-report-designer-plugin │ │ └── openerp_report_designer.zip ├── wizard │ ├── __init__.py │ └── base_report_design_view.xml ├── __init__.py ├── __openerp__.py ├── installer.py ├── base_report_designer.py ├── base_report_designer_installer.xml └── i18n │ ├── base_report_designer.pot │ ├── lt.po │ ├── nl_BE.po │ ├── tlh.po │ ├── da.po │ └── fa.po ├── document_fs ├── __init__.py ├── __openerp__.py └── ir_attachment.py ├── website_twitter_wall ├── static │ ├── src │ │ ├── img │ │ │ └── img_preview.png │ │ ├── xml │ │ │ ├── website_twitter_wall_tweet.xml │ │ │ ├── website_twitter_wall_customize.xml │ │ │ └── website_twitter_wall_creator.xml │ │ └── js │ │ │ └── website_twitter_wall_editor.js │ └── lib │ │ └── bootstrap-colorpicker │ │ └── src │ │ ├── img │ │ ├── alpha.png │ │ ├── hue.png │ │ ├── saturation.png │ │ ├── alpha-horizontal.png │ │ └── hue-horizontal.png │ │ └── less │ │ └── colorpicker.less ├── controllers │ └── __init__.py ├── models │ ├── __init__.py │ ├── twitter_tweet.py │ ├── twitter_agent.py │ ├── twitter_stream.py │ └── oauth.py ├── data │ └── website_twitter_wall_data.xml ├── views │ └── snippets.xml ├── security │ └── ir.model.access.csv ├── __init__.py └── __openerp__.py ├── runbot ├── __init__.py ├── migrations │ ├── 8.0.1.2 │ │ └── pre-migrate.py │ ├── 1.3 │ │ └── post-logging-build_id.py │ └── 8.0.1.1 │ │ ├── post-migration.py │ │ └── pre-migration.py ├── __openerp__.py ├── security │ ├── ir.model.access.csv │ ├── ir.rule.csv │ └── runbot_security.xml ├── static │ └── src │ │ └── js │ │ └── runbot.js ├── res_config_view.xml └── res_config.py ├── .gitignore ├── README.md └── crm_profiling ├── security └── ir.model.access.csv ├── wizard ├── __init__.py ├── open_questionnaire_view.xml └── open_questionnaire.py ├── __init__.py ├── __openerp__.py └── test └── process └── profiling.yml /biwizard/__init__.py: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /runbot_cla/__init__.py: -------------------------------------------------------------------------------- 1 | import runbot 2 | -------------------------------------------------------------------------------- /session_db/__init__.py: -------------------------------------------------------------------------------- 1 | import models 2 | -------------------------------------------------------------------------------- /base_report_designer/openerp_sxw2rml/office.dtd: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /document_fs/__init__.py: -------------------------------------------------------------------------------- 1 | import ir_attachment 2 | -------------------------------------------------------------------------------- /session_db/models/__init__.py: -------------------------------------------------------------------------------- 1 | import session 2 | -------------------------------------------------------------------------------- /website_twitter_wall/static/src/img/img_preview.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /runbot/__init__.py: -------------------------------------------------------------------------------- 1 | import runbot 2 | import res_config 3 | -------------------------------------------------------------------------------- /website_twitter_wall/static/lib/bootstrap-colorpicker/src/img/alpha.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website_twitter_wall/static/lib/bootstrap-colorpicker/src/img/hue.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website_twitter_wall/static/lib/bootstrap-colorpicker/src/img/saturation.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website_twitter_wall/static/lib/bootstrap-colorpicker/src/img/alpha-horizontal.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website_twitter_wall/static/lib/bootstrap-colorpicker/src/img/hue-horizontal.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /website_twitter_wall/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import main 3 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/import: -------------------------------------------------------------------------------- 1 | __name__="package" 2 | 3 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/OOo_run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ooffice "-accept=socket,host=localhost,port=2002;urp;" 3 | -------------------------------------------------------------------------------- /website_twitter_wall/models/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import twitter_stream 3 | import twitter_agent 4 | import twitter_tweet 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # dotfiles 2 | .* 3 | # compiled python files 4 | *.py[co] 5 | # emacs backup files 6 | *~ 7 | # runbot work files 8 | runbot/static/build 9 | runbot/static/repo 10 | runbot/static/nginx 11 | -------------------------------------------------------------------------------- /base_report_designer/static/base-report-designer-plugin/openerp_report_designer.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odoo/odoo-extra/HEAD/base_report_designer/static/base-report-designer-plugin/openerp_report_designer.zip -------------------------------------------------------------------------------- /runbot_cla/__openerp__.py: -------------------------------------------------------------------------------- 1 | { 2 | 'name': 'Runbot CLA', 3 | 'category': 'Website', 4 | 'summary': 'Runbot CLA', 5 | 'version': '1.1', 6 | 'description': "Runbot CLA", 7 | 'author': 'Odoo SA', 8 | 'depends': ['runbot'], 9 | 'data': [ ], 10 | } 11 | -------------------------------------------------------------------------------- /website_twitter_wall/static/src/xml/website_twitter_wall_tweet.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /website_twitter_wall/data/website_twitter_wall_data.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | mQP4B4GIFo0bjGW4VB1wMxNJ3 5 | XrRKiqONjENN55PMW8xxPx8XOL6eKitt53Ks8OS9oeEZD9aEBf 6 | twitter.agent 7 | 8 | -------------------------------------------------------------------------------- /runbot/migrations/8.0.1.2/pre-migrate.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | def migrate(cr, version): 5 | cr.execute("""SELECT 1 6 | FROM information_schema.columns 7 | WHERE table_name='runbot_branch' 8 | AND column_name='pull_head_name' 9 | """) 10 | if not cr.rowcount: 11 | cr.execute('ALTER TABLE "runbot_branch" ADD COLUMN "pull_head_name" varchar') 12 | -------------------------------------------------------------------------------- /biwizard/security/biwizard_groups.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BI wizard / read 6 | Read access to BI wizard 7 | 8 | 9 | BI wizard / write 10 | Write access to BI wizard 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /runbot/__openerp__.py: -------------------------------------------------------------------------------- 1 | { 2 | 'name': 'Runbot', 3 | 'category': 'Website', 4 | 'summary': 'Runbot', 5 | 'version': '1.3', 6 | 'description': "Runbot", 7 | 'author': 'Odoo SA', 8 | 'depends': ['website', 'base_setup'], 9 | 'external_dependencies': { 10 | 'python': ['matplotlib'], 11 | }, 12 | 'data': [ 13 | 'runbot.xml', 14 | 'res_config_view.xml', 15 | 'security/runbot_security.xml', 16 | 'security/ir.model.access.csv', 17 | 'security/ir.rule.csv', 18 | ], 19 | 'installable': True, 20 | } 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Odoo "Extra" Repository 2 | ======================= 3 | 4 | > Note: If you are looking for the source code of [Odoo](https://www.odoo.com/), browse [our main repository](https://github.com/odoo/odoo). 5 | 6 | 7 | Runbot 8 | ------ 9 | 10 | This repository contains the source code of Odoo testing bot [runbot.odoo.com](http://runbot.odoo.com/runbot). Please have a look in the `runbot/` directory. 11 | 12 | Unsupported addons 13 | ------------------ 14 | 15 | This repository also holds an archive of Odoo modules that are not maintained anymore by the publisher. Use them at your own risk. 16 | 17 | -------------------------------------------------------------------------------- /biwizard/views/rules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | biwizard.view.cubesrule.form 7 | x_biwizard.cubesrule 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /website_twitter_wall/views/snippets.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | Edit Cover 10 | Clear Cover 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /session_db/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | { 3 | 'name': "Store sessions in DB", 4 | 'description': """ 5 | Storing sessions in DB 6 | - workls only with workers > 0 7 | - set the session_db parameter in the odoo config file 8 | - session_db parameter value is a full postgresql connection string, like user:passwd@server/db 9 | - choose another DB than the odoo db itself, for security purpose 10 | - it also possible to use another PostgreSQL user for the same security reasons 11 | 12 | Set this module in the server wide modules 13 | """, 14 | 'category': '', 15 | 'version': '1.0', 16 | 17 | 'depends': [ 18 | ], 19 | 20 | 'data': [ 21 | ], 22 | 'demo': [ 23 | ], 24 | } 25 | -------------------------------------------------------------------------------- /runbot/migrations/1.3/post-logging-build_id.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | 3 | def migrate(cr, version): 4 | cr.execute(""" 5 | WITH bad(id) AS ( 6 | SELECT split_part(dbname, '-', 1)::integer 7 | FROM ir_logging 8 | WHERE dbname ~ '^\d+-.+' 9 | GROUP BY 1 10 | EXCEPT 11 | SELECT id 12 | FROM runbot_build 13 | ) 14 | DELETE FROM ir_logging 15 | WHERE dbname ~ (SELECT CONCAT('^(', string_agg(id::text, '|'::text), ')-.+') FROM bad); 16 | 17 | UPDATE ir_logging 18 | SET build_id = split_part(dbname, '-', 1)::integer 19 | WHERE build_id IS NULL 20 | AND dbname ~ '^\d+-.+'; 21 | """) 22 | -------------------------------------------------------------------------------- /runbot/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_runbot_repo,runbot_repo,runbot.model_runbot_repo,group_user,1,0,0,0 3 | access_runbot_branch,runbot_branch,runbot.model_runbot_branch,group_user,1,0,0,0 4 | access_runbot_build,runbot_build,runbot.model_runbot_build,group_user,1,0,0,0 5 | access_runbot_repo_admin,runbot_repo_admin,runbot.model_runbot_repo,runbot.group_runbot_admin,1,1,1,1 6 | access_runbot_branch_admin,runbot_branch_admin,runbot.model_runbot_branch,runbot.group_runbot_admin,1,1,1,1 7 | access_runbot_build_admin,runbot_build_admin,runbot.model_runbot_build,runbot.group_runbot_admin,1,1,1,1 8 | access_irlogging,log by runbot users,base.model_ir_logging,group_user,0,0,1,0 9 | -------------------------------------------------------------------------------- /document_fs/__openerp__.py: -------------------------------------------------------------------------------- 1 | { 2 | 'name': 'Document filesystem', 3 | 'version': '1.0', 4 | 'category': 'Hidden', 5 | 'description': """ 6 | Document filesystem 7 | =================== 8 | 9 | Hardlink filestore attachments to human readable path. 10 | 11 | The hardcoded layout is model///. 12 | 13 | _document_fs_sync performs the opposite synchronisation, this can be used in a 14 | cron job or be called by scripts (i.e. post-upload scripts). 15 | 16 | It can be used as a basis for remplacing of the deprecated document_ftp and 17 | document_webdav modules. 18 | 19 | """, 20 | 'author': 'OpenERP SA', 21 | 'website': 'http://www.openerp.com', 22 | 'depends': ['base'], 23 | 'data': [], 24 | 'installable': True, 25 | } 26 | -------------------------------------------------------------------------------- /website_twitter_wall/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_twitter_stream_public,twitter.stream.public,model_twitter_stream,base.group_public,1,0,0,0 3 | access_twitter_stream_user,twitter.stream.user,model_twitter_stream,base.group_user,1,1,1,1 4 | access_twitter_agent_public,twitter.agent.public,model_twitter_agent,base.group_public,1,0,0,0 5 | access_twitter_agent_user,twitter.agent.user,model_twitter_agent,base.group_user,1,1,1,1 6 | access_twitter_tweet_public,twitter.tweet.public,model_twitter_tweet,base.group_public,1,0,0,0 7 | access_twitter_tweet_user,twitter.tweet.user,model_twitter_tweet,base.group_user,1,1,1,1 8 | access_twitter_hashtag_public,twitter.hashtag.public,model_twitter_hashtag,base.group_public,1,0,0,0 9 | access_twitter_hashtag_user,twitter.hashtag.user,model_twitter_hashtag,base.group_user,1,1,1,1 -------------------------------------------------------------------------------- /runbot/security/ir.rule.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id/id,groups/id,domain_force,perm_read,perm_create,perm_write,perm_unlink 2 | rule_repo,"limited to groups",model_runbot_repo,group_user,"['|', ('group_ids', '=', False), ('group_ids', 'in', [g.id for g in user.groups_id])]",1,1,1,1 3 | rule_repo_mgmt,"manager can see all",model_runbot_repo,group_runbot_admin,"[(1, '=', 1)]",1,1,1,1 4 | rule_branch,"limited to groups",model_runbot_branch,group_user,"['|', ('repo_id.group_ids', '=', False), ('repo_id.group_ids', 'in', [g.id for g in user.groups_id])]",1,1,1,1 5 | rule_branch_mgmt,"manager can see all",model_runbot_branch,group_runbot_admin,"[(1, '=', 1)]",1,1,1,1 6 | rule_build,"limited to groups",model_runbot_build,group_user,"['|', ('repo_id.group_ids', '=', False), ('repo_id.group_ids', 'in', [g.id for g in user.groups_id])]",1,1,1,1 7 | rule_build_mgmt,"manager can see all",model_runbot_build,group_runbot_admin,"[(1, '=', 1)]",1,1,1,1 8 | -------------------------------------------------------------------------------- /runbot/static/src/js/runbot.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | "use strict"; 3 | 4 | $(function() { 5 | $('a.runbot-rebuild').click(function() { 6 | var $f = $(''), 7 | url = _.str.sprintf('/runbot/build/%s/force', $(this).data('runbot-build')) + window.location.search; 8 | $f.attr('action', url); 9 | $f.appendTo($('body')); 10 | $f.submit(); 11 | return false; 12 | }); 13 | }); 14 | $(function() { 15 | $('a.runbot-kill').click(function() { 16 | var $f = $(''), 17 | url = _.str.sprintf('/runbot/build/%s/kill', $(this).data('runbot-build')) + window.location.search; 18 | $f.attr('action', url); 19 | $f.appendTo($('body')); 20 | $f.submit(); 21 | return false; 22 | }); 23 | }); 24 | 25 | })(jQuery); 26 | -------------------------------------------------------------------------------- /crm_profiling/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | access_crm_profiling_answer_salesman,crm_profiling.answer.salesman,model_crm_profiling_answer,base.group_sale_salesman,1,1,1,0 3 | access_crm_profiling_answer_manager,crm_profiling.answer.manager,model_crm_profiling_answer,base.group_sale_manager,1,1,1,1 4 | access_crm_profiling_answer_user,crm_profiling.answer.user,model_crm_profiling_answer,base.group_user,1,0,0,0 5 | access_crm_profiling_question_salesman,crm_profiling.question.salesman,model_crm_profiling_question,base.group_sale_salesman,1,1,1,0 6 | access_crm_profiling_question_manager,crm_profiling.question.manager,model_crm_profiling_question,base.group_sale_manager,1,1,1,1 7 | access_crm_profiling_questionnarie_salesman,crm_profiling.questionnarie.salesman,model_crm_profiling_questionnaire,base.group_sale_salesman,1,1,1,0 8 | access_crm_profiling_questionnarie_manager,crm_profiling.questionnarie.manager,model_crm_profiling_questionnaire,base.group_sale_manager,1,1,1,1 9 | -------------------------------------------------------------------------------- /runbot/migrations/8.0.1.1/post-migration.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | 4 | from openerp import SUPERUSER_ID 5 | from openerp.modules.registry import RegistryManager 6 | 7 | 8 | def get_legacy_name(original_name, version): 9 | return 'legacy_%s_%s' % (version.replace('.', '_'), original_name) 10 | 11 | 12 | def m2o_to_x2m(cr, model, table, field, source_field): 13 | cr.execute('SELECT id, %(field)s ' 14 | 'FROM %(table)s ' 15 | 'WHERE %(field)s is not null' % { 16 | 'table': table, 17 | 'field': source_field, 18 | }) 19 | for row in cr.fetchall(): 20 | model.write(cr, SUPERUSER_ID, row[0], {field: [(4, row[1])]}) 21 | 22 | 23 | def migrate(cr, version): 24 | if not version: 25 | return 26 | registry = RegistryManager.get(cr.dbname) 27 | m2o_to_x2m( 28 | cr, 29 | registry['runbot.repo'], 30 | 'runbot_repo', 31 | 'dependency_ids', 32 | get_legacy_name('fallback_id', version), 33 | ) 34 | -------------------------------------------------------------------------------- /biwizard/views/computedfields.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | biwizard.view.computedfields.form 7 | x_biwizard.cubescomputedfields 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /runbot/migrations/8.0.1.1/pre-migration.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | from openerp import release 4 | import logging 5 | 6 | logger = logging.getLogger('upgrade') 7 | 8 | 9 | def get_legacy_name(original_name, version): 10 | return 'legacy_%s_%s' % (version.replace('.', '_'), original_name) 11 | 12 | 13 | def rename_columns(cr, column_spec, version): 14 | for table, renames in column_spec.iteritems(): 15 | for old, new in renames: 16 | if new is None: 17 | new = get_legacy_name(old, version) 18 | logger.info("table %s, column %s: renaming to %s", 19 | table, old, new) 20 | cr.execute('ALTER TABLE "%s" RENAME "%s" TO "%s"' 21 | % (table, old, new,)) 22 | cr.execute('DROP INDEX IF EXISTS "%s_%s_index"' 23 | % (table, old)) 24 | 25 | column_renames = { 26 | 'runbot_repo': [ 27 | ('fallback_id', None) 28 | ] 29 | } 30 | 31 | 32 | def migrate(cr, version): 33 | if not version: 34 | return 35 | rename_columns(cr, column_renames, version) 36 | -------------------------------------------------------------------------------- /website_twitter_wall/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # Odoo, Open Source Management Solution 5 | # Copyright (C) 2004-Today Odoo S.A. (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | import controllers 23 | import models 24 | -------------------------------------------------------------------------------- /runbot/security/runbot_security.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Runbot 6 | 7 | 8 | 9 | User 10 | 11 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | Manager 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /crm_profiling/wizard/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | import open_questionnaire 22 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 23 | 24 | -------------------------------------------------------------------------------- /website_twitter_wall/static/src/xml/website_twitter_wall_customize.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Your Custom Color 5 | 6 | 7 | 8 | 9 | Standard Colors 10 | 11 | 12 | 13 | 14 | 15 | Card Theme 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /crm_profiling/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | import crm_profiling 22 | import wizard 23 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 24 | 25 | -------------------------------------------------------------------------------- /base_report_designer/wizard/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | import base_report_designer_modify 23 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 24 | 25 | -------------------------------------------------------------------------------- /website_twitter_wall/models/twitter_tweet.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import logging 3 | from json import loads 4 | from urllib2 import Request, urlopen 5 | from openerp import api, fields, models 6 | 7 | _logger = logging.getLogger(__name__) 8 | 9 | 10 | class TwitterTweet(models.Model): 11 | _name = 'twitter.tweet' 12 | 13 | tweet_id = fields.Char() 14 | tweet = fields.Html() 15 | comment = fields.Html(default='') 16 | agent_id = fields.Many2one('twitter.agent') 17 | 18 | _sql_constraints = [('website_twitter_wall_tweet_unique', 'UNIQUE(tweet_id, agent_id)', 'Duplicate tweet not allowed !')] 19 | 20 | @api.model 21 | def process_tweet(self, agent_id, tweet_id): 22 | try: 23 | card_url = 'https://api.twitter.com/1/statuses/oembed.json?id=%s&omit_script=true' % (tweet_id) 24 | cardtweet = loads(urlopen(Request(card_url, None, {'Content-Type': 'application/json'})).read()) 25 | return self.create({ 26 | 'tweet_id': tweet_id, 27 | 'tweet': cardtweet.get('html', False), 28 | 'agent_id': agent_id 29 | }) 30 | except Exception as e: 31 | _logger.error(e) 32 | -------------------------------------------------------------------------------- /base_report_designer/openerp_sxw2rml/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | from openerp_sxw2rml import sxw2rml 23 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 24 | 25 | -------------------------------------------------------------------------------- /website_twitter_wall/__openerp__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | { 3 | 'name': 'Twitter Wall', 4 | 'category': 'Website', 5 | 'summary': 'Pretty Way to Display Tweets for Event', 6 | 'version': '1.0', 7 | 'description': """ 8 | Display your social media to large screen 9 | ========================================= 10 | 11 | Turn your event into an interactive experience by letting everybody post messages and photos to your Twitter wall. Connect with the crowd and build a personal relationship with attendees. 12 | 13 | * Create Live twitter walls for event 14 | * No complex moderation needed, You can display tweets just by posting or re-tweeting from twitter even using twitter's mobile app. 15 | * Customize your live view with help of various options. 16 | * Auto Storify view after event is over. 17 | """, 18 | 'author': 'Odoo S.A.', 19 | 'depends': ['website'], 20 | 'website': 'https://www.odoo.com', 21 | 'data': [ 22 | 'data/website_twitter_wall_data.xml', 23 | 'security/ir.model.access.csv', 24 | 'views/snippets.xml', 25 | 'views/website_twitter_wall_templates.xml', 26 | 'views/website_twitter_wall_views.xml', 27 | ], 28 | 'installable': True, 29 | } 30 | -------------------------------------------------------------------------------- /base_report_designer/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | import wizard 22 | import base_report_designer 23 | import installer 24 | import openerp_sxw2rml 25 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 26 | 27 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/Makefile: -------------------------------------------------------------------------------- 1 | ZIP_FILE=../../openerp_report_designer.zip 2 | 3 | all: pack uninstall install 4 | 5 | create: 6 | cat script/import \ 7 | script/lib/actions.py \ 8 | script/lib/error.py \ 9 | script/lib/functions.py \ 10 | script/lib/gui.py \ 11 | script/lib/tools.py \ 12 | script/lib/logreport.py\ 13 | script/lib/rpc.py\ 14 | script/lib/tiny_socket.py\ 15 | script/Repeatln.py \ 16 | script/Fields.py \ 17 | script/Expression.py \ 18 | script/modify.py \ 19 | script/ServerParameter.py \ 20 | script/Change.py \ 21 | script/NewReport.py \ 22 | script/LoginTest.py \ 23 | script/ModifyExistingReport.py \ 24 | script/SendToServer.py \ 25 | script/About.py \ 26 | script/ConvertBracesToField.py \ 27 | script/ConvertFieldsToBraces.py \ 28 | script/ExportToRML.py \ 29 | script/Translation.py \ 30 | script/AddAttachment.py > package/OpenERPReport.py 31 | 32 | pack: clean create 33 | zip $(ZIP_FILE) `find package/ | grep -v svn` 34 | 35 | install: 36 | sh /opt/openoffice.org3/program/unopkg add -v $(ZIP_FILE) 37 | 38 | uninstall: 39 | sh /opt/openoffice.org3/program/unopkg remove -v $(ZIP_FILE) 40 | 41 | clean: 42 | rm -f $(ZIP_FILE) 43 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/compile_all.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import compileall 25 | 26 | compileall.compile_dir('package') 27 | 28 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 29 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/lib/__init__.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2009 Tiny SPRL (). All Rights Reserved 6 | # $Id$ 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU Affero General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU Affero General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Affero General Public License 19 | # along with this program. If not, see . 20 | # 21 | ############################################################################## 22 | import actions 23 | import error 24 | import functions 25 | import gui 26 | import logreport 27 | import rpc 28 | import tiny_socket 29 | 30 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 31 | -------------------------------------------------------------------------------- /biwizard/views/cubelink.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | biwizard.view.cubeslinks.form 7 | x_biwizard.cubeslinks 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/LoginTest.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | if __name__<>"package": 25 | from ServerParameter import * 26 | from lib.gui import * 27 | 28 | class LoginTest: 29 | def __init__(self): 30 | if not loginstatus: 31 | Change(None) 32 | 33 | 34 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 35 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/test/test_fields.py: -------------------------------------------------------------------------------- 1 | # 2 | # Use this module to retrive the fields you need according to the type 3 | # of the OpenOffice operation: 4 | # * Insert a Field 5 | # * Insert a RepeatIn 6 | # 7 | 8 | import xmlrpclib 9 | import time 10 | 11 | sock = xmlrpclib.ServerProxy('http://localhost:8069/xmlrpc/object') 12 | 13 | def get(object, level=3, ending=None, ending_excl=None, recur=None, root=''): 14 | if ending is None: 15 | ending = [] 16 | if ending_excl is None: 17 | ending_excl = [] 18 | if recur is None: 19 | recur = [] 20 | res = sock.execute('terp', 3, 'admin', 'account.invoice', 'fields_get') 21 | key = res.keys() 22 | key.sort() 23 | for k in key: 24 | if (not ending or res[k]['type'] in ending) and ((not ending_excl) or not (res[k]['type'] in ending_excl)): 25 | print root+'/'+k 26 | 27 | if res[k]['type'] in recur: 28 | print root+'/'+k 29 | if (res[k]['type'] in recur) and (level>0): 30 | get(res[k]['relation'], level-1, ending, ending_excl, recur, root+'/'+k) 31 | 32 | print 'Field selection for a rields', '='*40 33 | get('account.invoice', level=0, ending_excl=['one2many','many2one','many2many','reference'], recur=['many2one']) 34 | 35 | print 36 | print 'Field selection for a repeatIn', '='*40 37 | get('account.invoice', level=0, ending=['one2many','many2many'], recur=['many2one']) 38 | 39 | 40 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 41 | -------------------------------------------------------------------------------- /runbot_cla/runbot.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | 3 | import glob 4 | import logging 5 | import re 6 | 7 | import openerp 8 | from openerp.tools import ustr 9 | 10 | _logger = logging.getLogger(__name__) 11 | 12 | class runbot_build(openerp.models.Model): 13 | _inherit = "runbot.build" 14 | 15 | def _job_05_check_cla(self, cr, uid, build, lock_path, log_path): 16 | cla_glob = glob.glob(build._path("doc/cla/*/*.md")) 17 | if cla_glob: 18 | cla = ''.join(open(f).read() for f in cla_glob) 19 | cla = ustr(cla.lower()) 20 | mo = re.search('[^ <@]+@[^ @>]+', build.author_email or '') 21 | state = "failure" 22 | if mo: 23 | email = mo.group(0).lower() 24 | if re.match('.*@(odoo|openerp|tinyerp)\.com$', email): 25 | state = "success" 26 | if cla.find(email) != -1: 27 | state = "success" 28 | _logger.info('CLA build:%s email:%s result:%s', build.dest, email, state) 29 | status = { 30 | "state": state, 31 | "target_url": "https://www.odoo.com/sign-cla", 32 | "description": "%s Odoo CLA signature check" % build.author, 33 | "context": "legal/cla" 34 | } 35 | build._log('check_cla', 'CLA %s' % state) 36 | build.repo_id._github('/repos/:owner/:repo/statuses/%s' % build.name, status, ignore_errors=True) 37 | # 0 is myself, -1 is everybody else, -2 nothing 38 | return -2 39 | -------------------------------------------------------------------------------- /biwizard/views/menu.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Cubes 7 | x_biwizard.cubes 8 | tree,form,diagram 9 | 10 | Create your first cube 11 | 12 | 13 | 14 | 15 | 16 | Cube unions 17 | x_biwizard.cubeunion 18 | tree,form 19 | 20 | Create your first cube union 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/__init__.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import Expression 25 | import lib 26 | import Fields 27 | import modify 28 | import Repeatln 29 | import ServerParameter 30 | import NewReport 31 | import LoginTest 32 | import Change 33 | import About 34 | import AddAttachment 35 | import ConvertBracesToField 36 | import ConvertFieldsToBraces 37 | import ExportToRML 38 | import SendtoServer 39 | 40 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 41 | -------------------------------------------------------------------------------- /biwizard/views/cubemodel.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | biwizard.view.cubemodel.form 7 | x_biwizard.cubesmodel 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /biwizard/models/rule.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BI wizard rules 6 | x_biwizard.cubesrule 7 | BI cubes' rules 8 | manual 9 | 10 | 11 | 12 | 13 | x_cube_id 14 | Cube 15 | 16 | x_biwizard.cubesrule 17 | many2one 18 | x_biwizard.cubes 19 | manual 20 | 21 | 22 | x_group_ids 23 | Groups 24 | 25 | x_biwizard.cubesrule 26 | many2many 27 | res.groups 28 | manual 29 | 30 | 31 | x_domain 32 | Domain 33 | 34 | x_biwizard.cubesrule 35 | text 36 | manual 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/lib/tools.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). All Rights Reserved 6 | # $Id$ 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU Affero General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU Affero General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Affero General Public License 19 | # along with this program. If not, see . 20 | # 21 | ############################################################################## 22 | import urllib 23 | 24 | def get_absolute_file_path(url): 25 | url_unquoted = urllib.unquote(url) 26 | return os.name == 'nt' and url_unquoted[1:] or url_unquoted 27 | 28 | # This function reads the content of a file and return it to the caller 29 | def read_data_from_file(filename): 30 | fp = file( filename, "rb" ) 31 | data = fp.read() 32 | fp.close() 33 | return data 34 | 35 | # This function writes the content to a file 36 | def write_data_to_file(filename, data): 37 | fp = file( filename, 'wb' ) 38 | fp.write( data ) 39 | fp.close() 40 | 41 | 42 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 43 | -------------------------------------------------------------------------------- /biwizard/models/ruleunion.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BI wizard rules 6 | x_biwizard.cubeunionrule 7 | BI cube unions' rules 8 | manual 9 | 10 | 11 | 12 | 13 | 14 | x_cubeunion_id 15 | Cube 16 | 17 | x_biwizard.cubeunionrule 18 | many2one 19 | x_biwizard.cubeunion 20 | manual 21 | 22 | 23 | x_group_ids 24 | Groups 25 | 26 | x_biwizard.cubeunionrule 27 | many2many 28 | res.groups 29 | manual 30 | 31 | 32 | x_domain 33 | Domain 34 | 35 | x_biwizard.cubeunionrule 36 | text 37 | manual 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/README: -------------------------------------------------------------------------------- 1 | About OpenERP Report Designer Plugin 2 | =================================================================== 3 | OpenERP Report Desinger Plugin is a Package of OpenOffice Writer. 4 | Using this Plugin , we can modify existing OpenERP Reports and also we can make new nice OpenERP Reports. 5 | 6 | 7 | How to Install OpenERP Report Designer Plugin into Openoffice 3.2 in Linux? 8 | ===================================================================== 9 | - In Openoffice writer, Open Extension Manager window from Tools > Extension Menu 10 | 11 | - Click on "Add" button and select path where the openerp_report_designer.zip is located. 12 | 13 | - On the completion of adding package you will get your package 14 | under 'Extension Manager' and the status of your package become 'Enabled' 15 | 16 | - Close openoffice writer. 17 | 18 | - Restart openoffice writer, Now you will find one new menu "OpenERP Report Designer" in Menubar. 19 | 20 | 21 | How to install the plugin with OpenOffice 2.4 on Windows 22 | ======================================================== 23 | 24 | If you get an error for the installation of the plugin, edit the pythonloader.py file 25 | in $(OPEN_OFFICE_DIR)\program\ and change the value of DEBUG to None. 26 | 27 | If you get an error for the uno.exe in window then just close the Quick starter 28 | Openoffice.2.4.1 Too\Option\Openoffic.org in that select the Memory 29 | in that Openoffice.org.QuickStarter 30 | if checked mark is there then just remove it.. 31 | 32 | If you are using OpenOffice 3.0 and install the Report Desinger with make all 33 | command then change path in makefile 34 | 35 | sh /opt/openoffice.org3/program/unopkg add or remove both 36 | 37 | And for previous version of Openoffice used 38 | 39 | sh /usr/lib/openoffice/program/unopkg add -v $(ZIP_FILE) 40 | 41 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/lib/error.py: -------------------------------------------------------------------------------- 1 | ########################################################################## 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################## 23 | 24 | if __name__<>"package": 25 | from gui import * 26 | class ErrorDialog: 27 | def __init__(self, sErrorMsg, sErrorHelpMsg="", sTitle="Error Message"): 28 | self.win = DBModalDialog(50, 50, 150, 90, sTitle) 29 | self.win.addFixedText("lblErrMsg", 5, 5, 190, 25, sErrorMsg) 30 | self.win.addFixedText("lblErrHelpMsg", 5, 30, 190, 25, sErrorHelpMsg) 31 | self.win.addButton('btnOK', 55,-5,40,15,'Ok' 32 | ,actionListenerProc = self.btnOkOrCancel_clicked ) 33 | self.win.doModalDialog("",None) 34 | def btnOkOrCancel_clicked( self, oActionEvent ): 35 | self.win.endExecute() 36 | 37 | 38 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 39 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/test/test.txt: -------------------------------------------------------------------------------- 1 | Test Case of OpenERP Report Desinger Plugin into OpenOffice Writer 2 | ==================================================================== 3 | 1. Connecting to the OpenERP Server 4 | -> OpenERP server ok 5 | -> OpenERP server not running 6 | -> Warning if base_report_designer not installed. 7 | 8 | 2. Creating Report 9 | -> List of objects in sorted order by name 10 | 11 | 3. Existing Report 12 | -> Exception if open non modifiable report (no sxw) 13 | -> List of exisiting report in sorted order 14 | 15 | 4. Fields to Brackets 16 | -> Find the data correctly. 17 | -> Data for things like [[ '%.2f' % o.amount ]] is completed. 18 | -> Test on normal Sale Order 19 | -> Test on normal Purchase Order 20 | 21 | 5. Modifying report 22 | -> Adding field if no initial repeatIn 23 | -> Adding fields (demo data correct) 24 | -> Adding loop 25 | -> Adding field within a loop 26 | -> Adding loop in a section 27 | -> Adding loop in a table 28 | -> Adding a loop in a table within a loop in a section 29 | -> Adding fields within a loop within a loop 30 | -> check context correct or not 31 | 32 | 6. Modifying a field 33 | -> modify a field. 34 | -> modify a loop. 35 | -> modify an expression corretly 36 | -> Display correct data in all these cases 37 | 38 | 7. Sending Report 39 | -> send in .SXW if user forgot to save as sxw 40 | -> Select with/without header 41 | -> Select between sxw/pdf 42 | -> Save as .odt and send to the server (check it is converted to sxw or warning) 43 | 44 | 8. Printing Report into OpenERP clients 45 | -> Print report 46 | -> check images appears in report correctly or not. 47 | -> check report With or Without Header. 48 | -> check SXW working or not. 49 | -> check PDF working or not 50 | 51 | 9. Print as SXW 52 | -> Check Send as attachment working or not and also check it is Attached to the right document. 53 | 54 | 10. Miscelleanous 55 | -> check the translation tag working. 56 | -> Save to RML. 57 | 58 | -------------------------------------------------------------------------------- /base_report_designer/__openerp__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | 23 | { 24 | 'name': 'OpenOffice Report Designer', 25 | 'version': '0.1', 26 | 'category': 'Reporting', 27 | 'description': """ 28 | This module is used along with OpenERP OpenOffice Plugin. 29 | ========================================================= 30 | 31 | This module adds wizards to Import/Export .sxw report that you can modify in OpenOffice. 32 | Once you have modified it you can upload the report using the same wizard. 33 | """, 34 | 'author': 'OpenERP SA', 35 | 'website': 'http://www.openerp.com', 36 | 'depends': ['base'], 37 | 'data': ['wizard/base_report_design_view.xml' , 'base_report_designer_installer.xml'], 38 | 'demo': [], 39 | 'installable': True, 40 | 'auto_install': False, 41 | 'images': ['images/base_report_designer1.jpeg','images/base_report_designer2.jpeg',], 42 | } 43 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 44 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/lib/logreport.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). All Rights Reserved 6 | # $Id$ 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU Affero General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU Affero General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Affero General Public License 19 | # along with this program. If not, see . 20 | # 21 | ############################################################################## 22 | 23 | import logging 24 | import tempfile 25 | LOG_DEBUG='debug' 26 | LOG_INFO='info' 27 | LOG_WARNING='warn' 28 | LOG_ERROR='error' 29 | LOG_CRITICAL='critical' 30 | _logger = logging.getLogger(__name__) 31 | 32 | def log_detail(self): 33 | import os 34 | logfile_name = os.path.join(tempfile.gettempdir(), "openerp_report_designer.log") 35 | hdlr = logging.FileHandler(logfile_name) 36 | formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s') 37 | hdlr.setFormatter(formatter) 38 | _logger.addHandler(hdlr) 39 | _logger.setLevel(logging.INFO) 40 | 41 | class Logger(object): 42 | def log_write(self, name, level, msg): 43 | getattr(_logger,level)(msg) 44 | 45 | def shutdown(self): 46 | logging.shutdown() 47 | 48 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 49 | -------------------------------------------------------------------------------- /biwizard/models/filters.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BI wizard filters 6 | x_biwizard.cubesfilters 7 | BI cubes' filters 8 | manual 9 | 10 | 11 | 12 | 13 | 14 | x_cube_id 15 | Cube 16 | 17 | x_biwizard.cubesfilters 18 | many2one 19 | x_biwizard.cubes 20 | manual 21 | 22 | 23 | x_name 24 | Name 25 | 26 | x_biwizard.cubesfilters 27 | char 28 | manual 29 | 30 | 31 | x_string 32 | String 33 | 34 | x_biwizard.cubesfilters 35 | char 36 | manual 37 | 38 | 39 | x_domain 40 | Domain 41 | 42 | x_biwizard.cubesfilters 43 | char 44 | manual 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /website_twitter_wall/static/src/js/website_twitter_wall_editor.js: -------------------------------------------------------------------------------- 1 | odoo.define('website_twitter_wall.editor', function (require) { 2 | "use strict"; 3 | 4 | var ajax = require('web.ajax'); 5 | var website = require('website.website'); 6 | var editor = require('website.editor'); 7 | var snippet_editor = require('website.snippets.editor'); 8 | 9 | website.if_dom_contains('.odoo-tw-walls', function() { 10 | 11 | // Storify View 12 | //---------------------------------------------- 13 | 14 | // Change cover image snippets 15 | editor.EditorBar.include({ 16 | save: function() { 17 | var res = this._super(); 18 | if ($('.odoo-tw-view-cover').length) { 19 | ajax.jsonRpc("/twitter_wall/cover/", 'call', { 20 | 'wall_id': $(".odoo-tw-walls").attr("wall_id"), 21 | 'url': $('.odoo-tw-view-cover').css('background-image').replace(/url\(|\)|"|'/g,'') 22 | }); 23 | } 24 | return res; 25 | }, 26 | }); 27 | snippet_editor.options.twitter_wall_cover = snippet_editor.Option.extend({ 28 | start: function(type, value, $li) { 29 | this._super(); 30 | this.src = this.$target.css("background-image").replace(/url\(|\)|"|'/g,'').replace(/.*none$/,''); 31 | this.$image = $(''); 32 | }, 33 | clear: function(type, value, $li) { 34 | if (type !== 'click') return; 35 | this.src = null; 36 | this.$target.css({"background-image": ''}); 37 | this.$image.removeAttr("src"); 38 | }, 39 | change: function(type, value, $li) { 40 | if (type !== 'click') return; 41 | var self = this; 42 | var _editor = new editor.MediaDialog(this.$image, this.$image[0], {only_images: true}); 43 | _editor.appendTo('body'); 44 | _editor.on('saved', self, function (event, img) { 45 | var url = self.$image.attr('src'); 46 | self.$target.css({"background-image": url ? 'url(' + url + ')' : ""}); 47 | }); 48 | }, 49 | }); 50 | }); 51 | }); -------------------------------------------------------------------------------- /crm_profiling/__openerp__.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | 23 | { 24 | 'name': 'Customer Profiling', 25 | 'version': '1.3', 26 | 'category': 'Marketing', 27 | 'description': """ 28 | This module allows users to perform segmentation within partners. 29 | ================================================================= 30 | 31 | It uses the profiles criteria from the earlier segmentation module and improve it. 32 | Thanks to the new concept of questionnaire. You can now regroup questions into a 33 | questionnaire and directly use it on a partner. 34 | 35 | It also has been merged with the earlier CRM & SRM segmentation tool because they 36 | were overlapping. 37 | 38 | **Note:** this module is not compatible with the module segmentation, since it's the same which has been renamed. 39 | """, 40 | 'author': 'OpenERP SA', 41 | 'website': 'https://www.odoo.com/page/crm', 42 | 'depends': ['base', 'crm'], 43 | 'data': ['security/ir.model.access.csv', 'wizard/open_questionnaire_view.xml', 'crm_profiling_view.xml'], 44 | 'demo': ['crm_profiling_demo.xml'], 45 | 'test': [ 46 | #'test/process/profiling.yml', #TODO:It's not debuging because problem to write data for open.questionnaire from partner section. 47 | ], 48 | 'installable': True, 49 | 'auto_install': False, 50 | 'images': ['images/profiling_questionnaires.jpeg','images/profiling_questions.jpeg'], 51 | } 52 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 53 | -------------------------------------------------------------------------------- /crm_profiling/test/process/profiling.yml: -------------------------------------------------------------------------------- 1 | - | 2 | I check segmentation which allows users to perform segmentation within partners. 3 | - 4 | I create a crm profiling question record. 5 | - 6 | !record {model: crm_profiling.question, id: crm_profiling_question_openerppartner0}: 7 | answers_ids: 8 | - name: 'no' 9 | name: OpenERP partner? 10 | - 11 | I create a crm profiling answer record. 12 | - 13 | !record {model: crm_profiling.answer, id: crm_profiling_answer_openerppartner0}: 14 | name: 'yes' 15 | question_id: crm_profiling_question_openerppartner0 16 | - 17 | I create Partner category Customers. 18 | - 19 | !record {model: res.partner.category, id: res_partner_category_customers0}: 20 | name: Customers 21 | - | 22 | I'm creating new partner "John" with his email "info@mycustomer.com". 23 | - 24 | !record {model: res.partner, id: res_partner_john0}: 25 | city: Bruxelles 26 | country_id: base.be 27 | street: Rue des Palais 51, bte 33 28 | type: default 29 | zip: '1000' 30 | email: 'info@mycustomer.com' 31 | name: John 32 | category_id: 33 | - res_partner_category_customers0 34 | 35 | - 36 | Define the answers and category to partner. 37 | - 38 | !python {model: res.partner}: | 39 | data ={'form': {'questionnaire_name': ref('res_partner_john0')}, 'ids': [ref('res_partner_john0')], 'report_type': 'pdf', 'model': 'res.partner', 'id': ref('res_partner_john0')} 40 | context['active_id'] = ref('res_partner_john0') 41 | self._questionnaire_compute(cr, uid, [ref('crm_profiling_answer_openerppartner0')], context) 42 | - | 43 | I start by creating new Questionnaire. 44 | - 45 | !record {model: crm_profiling.questionnaire, id: crm_profiling_questionnaire_basequestionnaire0}: 46 | description: First questionnaire. 47 | name: Base questionnaire 48 | questions_ids: 49 | - crm_profiling.activity_sector 50 | - crm_profiling.nb_employees 51 | - crm_profiling.partner_level 52 | - 53 | I create a segmentation record. 54 | - 55 | !record {model: crm.segmentation, id: crm_segmentation_test1}: 56 | answer_yes: 57 | - crm_profiling_answer_openerppartner0 58 | categ_id: res_partner_category_customers0 59 | name: test 60 | parent_id: crm_profiling.crm_segmentation0 61 | profiling_active: true 62 | som_interval: 0.0 63 | - | 64 | I continue the process of segmentation. 65 | - 66 | !python {model: crm.segmentation}: | 67 | self.process_continue(cr, uid, [ref('crm_segmentation_test1')], start=False) 68 | 69 | -------------------------------------------------------------------------------- /biwizard/__manifest__.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-TODAY Odoo S.A. 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | { 23 | 'name' : 'Odoo BI wizard', 24 | 'version': '1.0', 25 | 'summary': 'A small wizard to create custom BI views', 26 | 'sequence': '19', 27 | 'category': 'Tools', 28 | 'complexity': 'medium', 29 | 'description': 30 | """ 31 | Odoo BI wizard 32 | ============== 33 | 34 | Create new views for BI analysis. This module is importable through base_import_module 35 | and then usable on odoo SaaS. 36 | """, 37 | 'data': [ 38 | 'models/cube.xml', 39 | 'models/model.xml', 40 | 'models/link.xml', 41 | 'models/field.xml', 42 | 'models/computedfield.xml', 43 | 'models/rule.xml', 44 | 'models/cubeunion.xml', 45 | 'models/ruleunion.xml', 46 | 'models/filters.xml', 47 | 'models/o2m.xml', 48 | 'views/computedfields.xml', 49 | 'views/cubes.xml', 50 | 'views/rules.xml', 51 | 'views/menu.xml', 52 | 'views/cubemodel.xml', 53 | 'views/cubelink.xml', 54 | 'views/cubeunion.xml', 55 | 'security/biwizard_groups.xml', 56 | 'security/ir.model.access.csv', 57 | ], 58 | 'depends' : ['base_automation'], 59 | 'js': ['static/src/js/*.js'], 60 | 'css': ['static/src/css/*.css'], 61 | 'qweb': ['static/src/xml/*.xml'], 62 | 'installable': True, 63 | 'auto_install': False, 64 | 'application': True, 65 | } 66 | -------------------------------------------------------------------------------- /biwizard/views/cubeunion.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | biwizard.view.cubeunion.form 7 | x_biwizard.cubeunion 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | biwizard.view.cubeunion.tree 50 | x_biwizard.cubeunion 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /biwizard/security/ir.model.access.csv: -------------------------------------------------------------------------------- 1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink 2 | biwizard_reader_cubes,Reader on cubes,biwizard.x_cubes,group_biwizard_reader,1,0,0,0 3 | biwizard_writer_cubes,Manager on cubes,biwizard.x_cubes,group_biwizard_writer,1,1,1,1 4 | biwizard_all_cubes,All on cubes,biwizard.x_cubes,,0,0,0,0 5 | biwizard_reader_cubesmodel,Reader on cubes,biwizard.x_cubesmodel,group_biwizard_reader,1,0,0,0 6 | biwizard_writer_cubesmodel,Manager on cubes,biwizard.x_cubesmodel,group_biwizard_writer,1,1,1,1 7 | biwizard_all_cubesmodel,All on cubes,biwizard.x_cubesmodel,,0,0,0,0 8 | biwizard_reader_cubeslinks,Reader on cubes links,biwizard.x_cubeslinks,group_biwizard_reader,1,0,0,0 9 | biwizard_writer_cubeslinks,Manager on cubes links,biwizard.x_cubeslinks,group_biwizard_writer,1,1,1,1 10 | biwizard_all_cubeslinks,All on cubes links,biwizard.x_cubeslinks,,0,0,0,0 11 | biwizard_reader_cubesfield,Reader on cubes,biwizard.x_cubesfield,group_biwizard_reader,1,0,0,0 12 | biwizard_writer_cubesfield,Manager on cubes,biwizard.x_cubesfield,group_biwizard_writer,1,1,1,1 13 | biwizard_all_cubesfield,All on cubes,biwizard.x_cubesfield,,0,0,0,0 14 | biwizard_reader_cubescomputedfield,Reader on cubes,biwizard.x_cubescomputedfield,group_biwizard_reader,1,0,0,0 15 | biwizard_writer_cubescomputedfield,Manager on cubes,biwizard.x_cubescomputedfield,group_biwizard_writer,1,1,1,1 16 | biwizard_all_cubescomputedfield,All on cubes,biwizard.x_cubescomputedfield,,0,0,0,0 17 | biwizard_reader_cubesacl,Reader on cubes acl,biwizard.x_cubesrule,group_biwizard_reader,1,0,0,0 18 | biwizard_writer_cubesacl,Manager on cubes acl,biwizard.x_cubesrule,group_biwizard_writer,1,1,1,1 19 | biwizard_all_cubesacl,All on cubes acl,biwizard.x_cubesrule,,0,0,0,0 20 | biwizard_reader_cubeunion,Reader on cube union,biwizard.x_cubeunion,group_biwizard_reader,1,0,0,0 21 | biwizard_writer_cubeunion,Manager on cube union,biwizard.x_cubeunion,group_biwizard_writer,1,1,1,1 22 | biwizard_all_cubeunion,All on cube union,biwizard.x_cubeunion,,0,0,0,0 23 | biwizard_reader_ruleunion,Reader on cube union rules,biwizard.x_cubeunionrule,group_biwizard_reader,1,0,0,0 24 | biwizard_writer_ruleunion,Manager on cube union rules,biwizard.x_cubeunionrule,group_biwizard_writer,1,1,1,1 25 | biwizard_all_ruleunion,All on cube union rules,biwizard.x_cubeunionrule,,0,0,0,0 26 | biwizard_reader_filter,Reader on cube filter rules,biwizard.x_cubesfilters,group_biwizard_reader,1,0,0,0 27 | biwizard_writer_filter,Manager on cube filter rules,biwizard.x_cubesfilters,group_biwizard_writer,1,1,1,1 28 | biwizard_all_filter,All on cube filter rules,biwizard.x_cubesfilters,,0,0,0,0 29 | -------------------------------------------------------------------------------- /website_twitter_wall/models/twitter_agent.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from openerp import api, fields, models, _ 3 | from openerp.addons.website.models.website import slug 4 | from openerp.exceptions import UserError 5 | 6 | 7 | class TwitterAgent(models.Model): 8 | _name = 'twitter.agent' 9 | _inherit = ['website.published.mixin'] 10 | 11 | name = fields.Char(required=True, translate=True) 12 | description = fields.Text(translate=True) 13 | user_id = fields.Many2one('res.users', default=lambda self: self.env.uid) 14 | total_views = fields.Integer() 15 | state = fields.Selection([('normal', 'Normal'), ('archive', 'Archive')], default='normal') 16 | tweetus_ids = fields.Many2many('twitter.hashtag', string='Tweet Us Hashtag') 17 | image = fields.Binary(required=True) 18 | twitter_access_token = fields.Char() 19 | twitter_access_token_secret = fields.Char() 20 | auth_user = fields.Char('Authenticated User Id') 21 | stream_id = fields.Many2one('twitter.stream', default=lambda self: self.env.ref('website_twitter_wall.twitter_stream_1').id) 22 | tweet_ids = fields.One2many('twitter.tweet', 'agent_id') 23 | 24 | @api.multi 25 | @api.depends('name') 26 | def _website_url(self, name, arg): 27 | res = super(TwitterAgent, self)._website_url(name, arg) 28 | base_url = self.env['ir.config_parameter'].get_param('web.base.url') 29 | res.update({(wall.id, '%s/twitter_wall/view/%s' % (base_url, slug(wall))) for wall in self}) 30 | return res 31 | 32 | @api.multi 33 | def write(self, vals): 34 | """ Restart streaming when state is change from archive to normal """ 35 | res = super(TwitterAgent, self).write(vals) 36 | if vals.get('state') == 'archive' and not self.auth_user: 37 | raise UserError(_("You can't archive wall without verify with twitter account")) 38 | if vals.get('state') == 'normal' and self.auth_user: 39 | self.stream_id.restart() 40 | return res 41 | 42 | @api.multi 43 | def unlink(self): 44 | """ Override unlink method to restart streaming when deletion perform """ 45 | stream = None 46 | for wall in self: 47 | if wall.auth_user: 48 | stream = wall.stream_id 49 | super(TwitterAgent, self).unlink() 50 | if stream: 51 | stream.restart() 52 | 53 | 54 | class TwitterHashtag(models.Model): 55 | _name = 'twitter.hashtag' 56 | 57 | name = fields.Char(required=True) 58 | 59 | _sql_constraints = [('website_twitter_wall_hashtag_unique', 'UNIQUE(name)', 'A hashtag must be unique!')] 60 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/ConvertFieldsToBraces.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import uno 25 | import unohelper 26 | import string 27 | import re 28 | from com.sun.star.task import XJobExecutor 29 | if __name__<>"package": 30 | from lib.gui import * 31 | from LoginTest import * 32 | database="test" 33 | uid = 3 34 | 35 | class ConvertFieldsToBraces( unohelper.Base, XJobExecutor ): 36 | def __init__(self, ctx): 37 | self.ctx = ctx 38 | self.module = "openerp_report" 39 | self.version = "0.1" 40 | LoginTest() 41 | if not loginstatus and __name__=="package": 42 | exit(1) 43 | self.aReportSyntex=[] 44 | self.getFields() 45 | 46 | def getFields(self): 47 | desktop=getDesktop() 48 | doc = desktop.getCurrentComponent() 49 | 50 | oParEnum = doc.getTextFields().createEnumeration() 51 | while oParEnum.hasMoreElements(): 52 | oPar = oParEnum.nextElement() 53 | if oPar.supportsService("com.sun.star.text.TextField.DropDown"): 54 | oPar.getAnchor().Text.insertString(oPar.getAnchor(),oPar.Items[1],False) 55 | oPar.dispose() 56 | 57 | if __name__<>"package": 58 | ConvertFieldsToBraces(None) 59 | else: 60 | g_ImplementationHelper.addImplementation( ConvertFieldsToBraces, "org.openoffice.openerp.report.convertFB", ("com.sun.star.task.Job",),) 61 | 62 | 63 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 64 | -------------------------------------------------------------------------------- /runbot/res_config_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Configure Runbot 7 | runbot.config.settings 8 | 9 | 10 | 11 | 12 | or 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | Configure Runbot 46 | ir.actions.act_window 47 | runbot.config.settings 48 | form 49 | inline 50 | 51 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /biwizard/models/model.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BI wizard models 6 | x_biwizard.cubesmodel 7 | BI cubes' models 8 | manual 9 | 10 | 11 | 12 | 13 | 14 | x_cube_id 15 | Cube 16 | 17 | x_biwizard.cubesmodel 18 | many2one 19 | x_biwizard.cubes 20 | manual 21 | 22 | 23 | x_model_id 24 | Model 25 | 26 | x_biwizard.cubesmodel 27 | many2one 28 | ir.model 29 | manual 30 | 1 31 | 32 | 33 | x_name 34 | Alias 35 | 36 | x_biwizard.cubesmodel 37 | char 38 | manual 39 | 1 40 | 41 | 42 | x_magicfields 43 | Use for magic fields 44 | 45 | x_biwizard.cubesmodel 46 | boolean 47 | manual 48 | 1 49 | 50 | 51 | 52 | 53 | Set cube state to Edited 54 | 55 | 56 | if not object.x_cube_id.x_state=='draft': 57 | object.x_cube_id.write({'x_state': 'edited'}) 58 | 59 | 60 | 61 | 62 | Set cube state to edited 63 | 64 | on_create_or_write 65 | 20 66 | 67 | 68 | 69 | 70 | 71 | -------------------------------------------------------------------------------- /base_report_designer/wizard/base_report_design_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Base Report sxw 7 | base.report.sxw 8 | 9 | 10 | 11 | 12 | 13 | 19 | 20 | 21 | 22 | 23 | 24 | Base Report sxw 25 | ir.actions.act_window 26 | base.report.sxw 27 | form 28 | form 29 | new 30 | 31 | 32 | 33 | Base Report File sxw 34 | base.report.file.sxw 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | Base Report File sxw 53 | base.report.rml.save 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | -------------------------------------------------------------------------------- /runbot/res_config.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Business Applications 5 | # Copyright (C) 2004-2012 OpenERP S.A. (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | from openerp.osv import fields, osv 23 | 24 | class runbot_config_settings(osv.osv_memory): 25 | _name = 'runbot.config.settings' 26 | _inherit = 'res.config.settings' 27 | _columns = { 28 | 'default_workers': fields.integer('Total Number of Workers'), 29 | 'default_running_max': fields.integer('Maximum Number of Running Builds'), 30 | 'default_timeout': fields.integer('Default Timeout (in seconds)'), 31 | 'default_starting_port': fields.integer('Starting Port for Running Builds'), 32 | 'default_domain': fields.char('Runbot Domain'), 33 | } 34 | 35 | def get_default_parameters(self, cr, uid, fields, context=None): 36 | icp = self.pool['ir.config_parameter'] 37 | workers = icp.get_param(cr, uid, 'runbot.workers', default=6) 38 | running_max = icp.get_param(cr, uid, 'runbot.running_max', default=75) 39 | timeout = icp.get_param(cr, uid, 'runbot.timeout', default=1800) 40 | starting_port = icp.get_param(cr, uid, 'runbot.starting_port', default=2000) 41 | runbot_domain = icp.get_param(cr, uid, 'runbot.domain', default='runbot.odoo.com') 42 | return { 43 | 'default_workers': int(workers), 44 | 'default_running_max': int(running_max), 45 | 'default_timeout': int(timeout), 46 | 'default_starting_port': int(starting_port), 47 | 'default_domain': runbot_domain, 48 | } 49 | 50 | def set_default_parameters(self, cr, uid, ids, context=None): 51 | config = self.browse(cr, uid, ids[0], context) 52 | icp = self.pool['ir.config_parameter'] 53 | icp.set_param(cr, uid, 'runbot.workers', config.default_workers) 54 | icp.set_param(cr, uid, 'runbot.running_max', config.default_running_max) 55 | icp.set_param(cr, uid, 'runbot.timeout', config.default_timeout) 56 | icp.set_param(cr, uid, 'runbot.starting_port', config.default_starting_port) 57 | icp.set_param(cr, uid, 'runbot.domain', config.default_domain) 58 | 59 | 60 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 61 | -------------------------------------------------------------------------------- /base_report_designer/installer.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | from openerp.osv import fields 23 | from openerp.osv import osv 24 | import base64 25 | from openerp.tools.translate import _ 26 | 27 | class base_report_designer_installer(osv.osv_memory): 28 | _name = 'base_report_designer.installer' 29 | _inherit = 'res.config.installer' 30 | 31 | def default_get(self, cr, uid, fields, context=None): 32 | data = super(base_report_designer_installer, self).default_get(cr, uid, fields, context=context) 33 | base_url = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url') 34 | data['plugin_file'] = base_url + '/base_report_designer/static/base-report-designer-plugin/openerp_report_designer.zip' 35 | return data 36 | 37 | _columns = { 38 | 'name':fields.char('File name'), 39 | 'plugin_file':fields.char('OpenObject Report Designer Plug-in', readonly=True, help="OpenObject Report Designer plug-in file. Save as this file and install this plug-in in OpenOffice."), 40 | 'description':fields.text('Description', readonly=True) 41 | } 42 | 43 | _defaults = { 44 | 'name' : 'openerp_report_designer.zip', 45 | 'description' : """ 46 | * Save the OpenERP Report Designer plug-in. 47 | * Follow these steps to install plug-in. 48 | 1. Open Extension Manager window from Menu Bar of Openoffice writer, Open Tools > Extension Menu. 49 | 2. Click on "Add" button. 50 | 3. Select path where the openerp_report_designer.zip is located. 51 | 4. On the completion of adding package you will get your package under 'Extension Manager' and the status of your package become 'Enabled'. 52 | 5. Restart openoffice writer. 53 | * Follow the steps to configure OpenERP Report Designer plug-in in Openoffice writer. 54 | 1. Connect OpenERP Server from Menu bar , OpenERP Report Designer > Server parameter. 55 | 2. Select Server url, database and provide user name and password 56 | 3. Click "Connect". 57 | 4. if your connection success, A message appears like 'You can start creating your report in current document.'. 58 | """ 59 | } 60 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 61 | 62 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/lib/tiny_socket.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). All Rights Reserved 6 | # $Id$ 7 | # 8 | # This program is free software: you can redistribute it and/or modify 9 | # it under the terms of the GNU Affero General Public License as published by 10 | # the Free Software Foundation, either version 3 of the License, or 11 | # (at your option) any later version. 12 | # 13 | # This program is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | # GNU Affero General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Affero General Public License 19 | # along with this program. If not, see . 20 | # 21 | ############################################################################## 22 | import socket 23 | import cPickle 24 | import cStringIO 25 | import marshal 26 | 27 | class Myexception(Exception): 28 | def __init__(self, faultCode, faultString): 29 | self.faultCode = faultCode 30 | self.faultString = faultString 31 | self.args = (faultCode, faultString) 32 | 33 | class mysocket: 34 | def __init__(self, sock=None): 35 | if sock is None: 36 | self.sock = socket.socket( 37 | socket.AF_INET, socket.SOCK_STREAM) 38 | else: 39 | self.sock = sock 40 | self.sock.settimeout(120) 41 | def connect(self, host, port=False): 42 | if not port: 43 | protocol, buf = host.split('//') 44 | host, port = buf.split(':') 45 | self.sock.connect((host, int(port))) 46 | def disconnect(self): 47 | self.sock.shutdown(socket.SHUT_RDWR) 48 | self.sock.close() 49 | def mysend(self, msg, exception=False, traceback=None): 50 | 51 | msg = cPickle.dumps([msg,traceback]) 52 | size = len(msg) 53 | self.sock.send('%8d' % size) 54 | self.sock.send(exception and "1" or "0") 55 | totalsent = 0 56 | while totalsent < size: 57 | sent = self.sock.send(msg[totalsent:]) 58 | if sent == 0: 59 | raise RuntimeError, "Socket connection broken." 60 | totalsent = totalsent + sent 61 | def myreceive(self): 62 | buf='' 63 | while len(buf) < 8: 64 | chunk = self.sock.recv(8 - len(buf)) 65 | if chunk == '': 66 | raise RuntimeError, "Socket connection broken." 67 | buf += chunk 68 | size = int(buf) 69 | buf = self.sock.recv(1) 70 | if buf != "0": 71 | exception = buf 72 | else: 73 | exception = False 74 | msg = '' 75 | while len(msg) < size: 76 | chunk = self.sock.recv(size-len(msg)) 77 | if chunk == '': 78 | raise RuntimeError, "Socket connection broken." 79 | msg = msg + chunk 80 | msgio = cStringIO.StringIO(msg) 81 | unpickler = cPickle.Unpickler(msgio) 82 | unpickler.find_global = None 83 | res = unpickler.load() 84 | 85 | if isinstance(res[0],Exception): 86 | if exception: 87 | raise Myexception(str(res[0]), str(res[1])) 88 | raise res[0] 89 | else: 90 | return res[0] 91 | 92 | 93 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 94 | -------------------------------------------------------------------------------- /base_report_designer/base_report_designer.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | import base64 23 | from StringIO import StringIO 24 | 25 | from openerp.modules.module import get_module_resource 26 | import openerp.modules.registry 27 | from openerp.osv import osv 28 | from openerp_sxw2rml import sxw2rml 29 | 30 | 31 | class report_xml(osv.osv): 32 | _inherit = 'ir.actions.report.xml' 33 | 34 | def sxwtorml(self, cr, uid, file_sxw, file_type): 35 | ''' 36 | The use of this function is to get rml file from sxw file. 37 | ''' 38 | sxwval = StringIO(base64.decodestring(file_sxw)) 39 | if file_type=='sxw': 40 | fp = open(get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_oo2rml.xsl'),'rb') 41 | if file_type=='odt': 42 | fp = open(get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_odt2rml.xsl'),'rb') 43 | return {'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read()))} 44 | 45 | def upload_report(self, cr, uid, report_id, file_sxw, file_type, context=None): 46 | ''' 47 | Untested function 48 | ''' 49 | sxwval = StringIO(base64.decodestring(file_sxw)) 50 | if file_type=='sxw': 51 | fp = open(get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_oo2rml.xsl'),'rb') 52 | if file_type=='odt': 53 | fp = open(get_module_resource('base_report_designer','openerp_sxw2rml', 'normalized_odt2rml.xsl'),'rb') 54 | report = self.pool['ir.actions.report.xml'].write(cr, uid, [report_id], { 55 | 'report_sxw_content': base64.decodestring(file_sxw), 56 | 'report_rml_content': str(sxw2rml(sxwval, xsl=fp.read())), 57 | }) 58 | 59 | return True 60 | 61 | def report_get(self, cr, uid, report_id, context=None): 62 | # skip osv.fields.sanitize_binary_value() because we want the raw bytes in all cases 63 | context = dict(context or {}, bin_raw=True) 64 | report = self.browse(cr, uid, report_id, context=context) 65 | sxw_data = report.report_sxw_content 66 | rml_data = report.report_rml_content 67 | if isinstance(sxw_data, unicode): 68 | sxw_data = sxw_data.encode("iso-8859-1", "replace") 69 | if isinstance(rml_data, unicode): 70 | rml_data = rml_data.encode("iso-8859-1", "replace") 71 | return { 72 | 'file_type' : report.report_type, 73 | 'report_sxw_content': sxw_data and base64.encodestring(sxw_data) or False, 74 | 'report_rml_content': rml_data and base64.encodestring(rml_data) or False 75 | } 76 | 77 | 78 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 79 | 80 | -------------------------------------------------------------------------------- /crm_profiling/wizard/open_questionnaire_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Open Questionnaires 7 | open.questionnaire 8 | 9 | 10 | 11 | 12 | 13 | 18 | 19 | 20 | 21 | 22 | 23 | Open Questionnaire 24 | open.questionnaire 25 | form 26 | form 27 | 28 | new 29 | 30 | 31 | 32 | open.questionnaire.form 33 | open.questionnaire 34 | 35 | 36 | 37 | 38 | 43 | 44 | 45 | 46 | 47 | 48 | open.questionnaire.line.list 49 | open.questionnaire.line 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | open.questionnaire.line.form 60 | open.questionnaire.line 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 79 | 80 | 81 | 82 | -------------------------------------------------------------------------------- /base_report_designer/base_report_designer_installer.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Form View: Odoo Report Designer Installation 6 | base_report_designer.installer 7 | 8 | 9 | 10 | 11 | Odoo Report Designer Configuration 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | Odoo Report Designer 34 | 35 | 36 | 37 | 38 | 39 | Odoo Report Designer Installation 40 | ir.actions.act_window 41 | base_report_designer.installer 42 | 43 | form 44 | form 45 | new 46 | 47 | 48 | 49 | 3 50 | automatic 51 | 52 | 53 | Odoo Report Designer 54 | ir.actions.act_window 55 | base_report_designer.installer 56 | 57 | form 58 | form 59 | new 60 | {'menu':True} 61 | 62 | 63 | 64 | 65 | -------------------------------------------------------------------------------- /crm_profiling/wizard/open_questionnaire.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | ############################################################################## 3 | # 4 | # OpenERP, Open Source Management Solution 5 | # Copyright (C) 2004-2010 Tiny SPRL (). 6 | # 7 | # This program is free software: you can redistribute it and/or modify 8 | # it under the terms of the GNU Affero General Public License as 9 | # published by the Free Software Foundation, either version 3 of the 10 | # License, or (at your option) any later version. 11 | # 12 | # This program is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 | # GNU Affero General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Affero General Public License 18 | # along with this program. If not, see . 19 | # 20 | ############################################################################## 21 | 22 | from openerp.osv import fields, osv 23 | from openerp.tools.translate import _ 24 | 25 | class open_questionnaire_line(osv.osv_memory): 26 | _name = 'open.questionnaire.line' 27 | _rec_name = 'question_id' 28 | _columns = { 29 | 'question_id': fields.many2one('crm_profiling.question','Question', required=True), 30 | 'answer_id': fields.many2one('crm_profiling.answer', 'Answer'), 31 | 'wizard_id': fields.many2one('open.questionnaire', 'Questionnaire'), 32 | } 33 | 34 | 35 | class open_questionnaire(osv.osv_memory): 36 | _name = 'open.questionnaire' 37 | _columns = { 38 | 'questionnaire_id': fields.many2one('crm_profiling.questionnaire', 'Questionnaire name'), 39 | 'question_ans_ids': fields.one2many('open.questionnaire.line', 'wizard_id', 'Question / Answers'), 40 | } 41 | 42 | def default_get(self, cr, uid, fields, context=None): 43 | if context is None: context = {} 44 | res = super(open_questionnaire, self).default_get(cr, uid, fields, context=context) 45 | questionnaire_id = context.get('questionnaire_id', False) 46 | if questionnaire_id and 'question_ans_ids' in fields: 47 | query = """ 48 | select question as question_id from profile_questionnaire_quest_rel where questionnaire = %s""" 49 | cr.execute(query, (questionnaire_id,)) 50 | result = cr.dictfetchall() 51 | res.update(question_ans_ids=result) 52 | return res 53 | 54 | def questionnaire_compute(self, cr, uid, ids, context=None): 55 | """ Adds selected answers in partner form """ 56 | model = context.get('active_model') 57 | answers = [] 58 | if model == 'res.partner': 59 | data = self.browse(cr, uid, ids[0], context=context) 60 | for d in data.question_ans_ids: 61 | if d.answer_id: 62 | answers.append(d.answer_id.id) 63 | self.pool[model]._questionnaire_compute(cr, uid, answers, context=context) 64 | return {'type': 'ir.actions.act_window_close'} 65 | 66 | 67 | def build_form(self, cr, uid, ids, context=None): 68 | """ Dynamically generates form according to selected questionnaire """ 69 | models_data = self.pool.get('ir.model.data') 70 | result = models_data._get_id(cr, uid, 'crm_profiling', 'open_questionnaire_form') 71 | res_id = models_data.browse(cr, uid, result, context=context).res_id 72 | datas = self.browse(cr, uid, ids[0], context=context) 73 | context = dict(context or {}, questionnaire_id=datas.questionnaire_id.id) 74 | 75 | return { 76 | 'name': _('Questionnaire'), 77 | 'view_type': 'form', 78 | 'view_mode': 'form', 79 | 'res_model': 'open.questionnaire', 80 | 'type': 'ir.actions.act_window', 81 | 'views': [(res_id,'form')], 82 | 'target': 'new', 83 | 'context': context 84 | } 85 | 86 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 87 | 88 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/lib/actions.py: -------------------------------------------------------------------------------- 1 | ########################################################################## 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################## 23 | 24 | import uno 25 | import unohelper 26 | import os 27 | #-------------------------------------------------- 28 | # An ActionListener adapter. 29 | # This object implements com.sun.star.awt.XActionListener. 30 | # When actionPerformed is called, this will call an arbitrary 31 | # python procedure, passing it... 32 | # 1. the oActionEvent 33 | # 2. any other parameters you specified to this object's constructor (as a tuple). 34 | if __name__<>"package": 35 | os.system( "ooffice '-accept=socket,host=localhost,port=2002;urp;'" ) 36 | passwd="" 37 | database="" 38 | uid="" 39 | loginstatus=False 40 | from com.sun.star.awt import XActionListener 41 | class ActionListenerProcAdapter( unohelper.Base, XActionListener ): 42 | def __init__( self, oProcToCall, tParams=() ): 43 | self.oProcToCall = oProcToCall # a python procedure 44 | self.tParams = tParams # a tuple 45 | 46 | # oActionEvent is a com.sun.star.awt.ActionEvent struct. 47 | def actionPerformed( self, oActionEvent ): 48 | if callable( self.oProcToCall ): 49 | apply( self.oProcToCall, (oActionEvent,) + self.tParams ) 50 | 51 | #-------------------------------------------------- 52 | # An ItemListener adapter. 53 | # This object implements com.sun.star.awt.XItemListener. 54 | # When itemStateChanged is called, this will call an arbitrary 55 | # python procedure, passing it... 56 | # 1. the oItemEvent 57 | # 2. any other parameters you specified to this object's constructor (as a tuple). 58 | from com.sun.star.awt import XItemListener 59 | class ItemListenerProcAdapter( unohelper.Base, XItemListener ): 60 | def __init__( self, oProcToCall, tParams=() ): 61 | self.oProcToCall = oProcToCall # a python procedure 62 | self.tParams = tParams # a tuple 63 | 64 | # oItemEvent is a com.sun.star.awt.ItemEvent struct. 65 | def itemStateChanged( self, oItemEvent ): 66 | if callable( self.oProcToCall ): 67 | apply( self.oProcToCall, (oItemEvent,) + self.tParams ) 68 | 69 | #-------------------------------------------------- 70 | # An TextListener adapter. 71 | # This object implements com.sun.star.awt.XTextistener. 72 | # When textChanged is called, this will call an arbitrary 73 | # python procedure, passing it... 74 | # 1. the oTextEvent 75 | # 2. any other parameters you specified to this object's constructor (as a tuple). 76 | from com.sun.star.awt import XTextListener 77 | class TextListenerProcAdapter( unohelper.Base, XTextListener ): 78 | def __init__( self, oProcToCall, tParams=() ): 79 | self.oProcToCall = oProcToCall # a python procedure 80 | self.tParams = tParams # a tuple 81 | 82 | # oTextEvent is a com.sun.star.awt.TextEvent struct. 83 | def textChanged( self, oTextEvent ): 84 | if callable( self.oProcToCall ): 85 | apply( self.oProcToCall, (oTextEvent,) + self.tParams ) 86 | 87 | 88 | 89 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 90 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/About.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import uno 25 | from com.sun.star.task import XJobExecutor 26 | 27 | if __name__<>'package': 28 | from lib.gui import * 29 | 30 | class About(unohelper.Base, XJobExecutor): 31 | def __init__(self, ctx): 32 | self.ctx = ctx 33 | self.module = "openerp_report" 34 | self.version = "0.1" 35 | self.win = DBModalDialog(60, 50, 175, 115, "About Odoo Report Designer") 36 | 37 | fdBigFont = createUnoStruct("com.sun.star.awt.FontDescriptor") 38 | fdBigFont.Width = 20 39 | fdBigFont.Height = 25 40 | fdBigFont.Weight = 120 41 | fdBigFont.Family= 3 42 | 43 | oLabelTitle1 = self.win.addFixedText("lblTitle1", 1, 1, 35, 30) 44 | oLabelTitle1.Model.TextColor = 16056320 45 | oLabelTitle1.Model.FontDescriptor = fdBigFont 46 | oLabelTitle1.Model.FontRelief = 1 47 | oLabelTitle1.Text = "Open" 48 | 49 | oLabelTitle2 = self.win.addFixedText("lblTitle2", 35, 1, 30, 30) 50 | oLabelTitle2.Model.TextColor = 1 51 | oLabelTitle2.Model.FontDescriptor = fdBigFont 52 | oLabelTitle2.Model.FontRelief = 1 53 | oLabelTitle2.Text = "ERP" 54 | 55 | oLabelProdDesc = self.win.addFixedText("lblProdDesc", 1, 30, 173, 75) 56 | oLabelProdDesc.Model.TextColor = 1 57 | fdBigFont.Width = 10 58 | fdBigFont.Height = 11 59 | fdBigFont.Weight = 76 60 | oLabelProdDesc.Model.FontDescriptor = fdBigFont 61 | oLabelProdDesc.Model.Align = 1 62 | oLabelProdDesc.Model.FontRelief = 1 63 | oLabelProdDesc.Model.MultiLine = True 64 | oLabelProdDesc.Text = "This package helps you to create or modify\nreports in Odoo. Once connected to the\nserver, you can design your template of reports\nusing fields and expressions and browsing the\ncomplete structure of Odoo object database." 65 | 66 | oLabelFooter = self.win.addFixedText("lblFooter", -1, -1, 173, 25) 67 | oLabelFooter.Model.TextColor = 255 68 | #oLabelFooter.Model.BackgroundColor = 1 69 | oLabelFooter.Model.Border = 2 70 | oLabelFooter.Model.BorderColor = 255 71 | fdBigFont.Width = 8 72 | fdBigFont.Height = 9 73 | fdBigFont.Weight = 100 74 | oLabelFooter.Model.FontDescriptor = fdBigFont 75 | oLabelFooter.Model.Align = 1 76 | oLabelFooter.Model.FontRelief = 1 77 | oLabelFooter.Model.MultiLine = True 78 | sMessage = "Odoo Report Designer v1.0 \nCopyright 2007-TODAY Tiny sprl \nThis product is free software, under the GNU Affero General Public License." 79 | oLabelFooter.Text = sMessage 80 | 81 | self.win.doModalDialog("",None) 82 | 83 | if __name__<>"package" and __name__=="__main__": 84 | About(None) 85 | elif __name__=="package": 86 | g_ImplementationHelper.addImplementation( About, "org.openoffice.openerp.report.about", ("com.sun.star.task.Job",),) 87 | 88 | 89 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 90 | -------------------------------------------------------------------------------- /website_twitter_wall/models/twitter_stream.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from json import loads 3 | from thread import start_new_thread 4 | from openerp import api, fields, models, registry, SUPERUSER_ID 5 | from base_stream import Stream, StreamListener 6 | from oauth import Oauth 7 | 8 | 9 | class TwitterStream(models.Model, StreamListener): 10 | _name = 'twitter.stream' 11 | 12 | streams_objs = {} 13 | 14 | twitter_api_key = fields.Char() 15 | twitter_api_secret = fields.Char() 16 | model = fields.Char('Type of Model') 17 | agent_ids = fields.One2many('twitter.agent', 'stream_id') 18 | state = fields.Selection([('start', 'Start'), ('stop', 'Stop')], default='stop') 19 | 20 | def _register_hook(self, cr): 21 | """ Start streaming on server start """ 22 | super(TwitterStream, self)._register_hook(cr) 23 | self.start(cr) 24 | 25 | def start(self, cr): 26 | """ Start streaming """ 27 | if not hasattr(self, '_id'): 28 | stream_id = self.search(cr, SUPERUSER_ID, [], limit=1) 29 | for stream in self.browse(cr, SUPERUSER_ID, stream_id): 30 | stream.start_streaming() 31 | 32 | @api.one 33 | def start_streaming(self): 34 | if self.agent_ids: 35 | def func(stream, user_ids): 36 | return stream.filter(follow=user_ids) 37 | user_ids, last_agent = [], None 38 | for agent in self.agent_ids: 39 | if agent['auth_user'] and agent['state'] != 'archive': 40 | last_agent = agent 41 | user_ids.append(agent['auth_user']) 42 | if user_ids: 43 | auth = Oauth(self.twitter_api_key, self.twitter_api_secret) 44 | auth.set_access_token(last_agent['twitter_access_token'], last_agent['twitter_access_token_secret']) 45 | stream = Stream(auth, self) 46 | self.streams_objs[self.id] = stream 47 | start_new_thread(func, (stream, user_ids)) 48 | return True 49 | 50 | def stop(self): 51 | """ Stop streaming """ 52 | if self.streams_objs.get(self.id): 53 | self.streams_objs[self.id].disconnect() 54 | 55 | def restart(self): 56 | """ Restart streaming """ 57 | self.stop() 58 | self.start() 59 | 60 | def on_connect(self): 61 | super(TwitterStream, self).on_connect() 62 | with api.Environment.manage(): 63 | with registry(self.env.cr.dbname).cursor() as new_cr: 64 | self.env = api.Environment(new_cr, self.env.uid, self.env.context) 65 | self.state = 'start' 66 | pass 67 | 68 | def on_data(self, tweet): 69 | """ Call when tweet is come and store in twitter.tweet Model """ 70 | if 'delete' not in tweet: 71 | tweet = loads(tweet) 72 | with api.Environment.manage(): 73 | with registry(self.env.cr.dbname).cursor() as new_cr: 74 | self.env = api.Environment(new_cr, self.env.uid, self.env.context) 75 | agents = self.agent_ids.filtered(lambda o: o.auth_user == tweet['user']['id_str'] and o.state != 'archive').sorted(lambda r: r.create_date, reverse=True) 76 | if len(agents): 77 | self.env['twitter.tweet'].process_tweet(agents[0].id, tweet['retweeted_status']['id'] if tweet.get('retweeted_status') else tweet.get('id')) 78 | return True 79 | 80 | def on_error(self, status_code): 81 | super(TwitterStream, self).on_error(status_code) 82 | with api.Environment.manage(): 83 | with registry(self.env.cr.dbname).cursor() as new_cr: 84 | self.env = api.Environment(new_cr, self.env.uid, self.env.context) 85 | self.state = 'stop' 86 | return False 87 | 88 | def on_disconnect(self, notice): 89 | super(TwitterStream, self).on_disconnect(notice) 90 | with api.Environment.manage(): 91 | with registry(self.env.cr.dbname).cursor() as new_cr: 92 | self.env = api.Environment(new_cr, self.env.uid, self.env.context) 93 | self.state = 'stop' 94 | return False 95 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/NewReport.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import uno 25 | import string 26 | import unohelper 27 | import xmlrpclib 28 | 29 | from com.sun.star.task import XJobExecutor 30 | if __name__<>"package": 31 | from lib.gui import * 32 | from lib.error import ErrorDialog 33 | from lib.functions import * 34 | from lib.logreport import * 35 | from LoginTest import * 36 | from lib.rpc import * 37 | database="test" 38 | uid = 3 39 | # 40 | # 41 | # 42 | # Start OpenOffice.org, listen for connections and open testing document 43 | # 44 | # 45 | class NewReport(unohelper.Base, XJobExecutor): 46 | def __init__(self, ctx): 47 | self.ctx = ctx 48 | self.module = "openerp_report" 49 | self.version = "0.1" 50 | LoginTest() 51 | self.logobj=Logger() 52 | if not loginstatus and __name__=="package": 53 | exit(1) 54 | self.win=DBModalDialog(60, 50, 180, 115, "Open New Report") 55 | self.win.addFixedText("lblModuleSelection", 2, 2, 60, 15, "Module Selection") 56 | self.win.addComboListBox("lstModule", -2,13,176,80 , False) 57 | self.lstModule = self.win.getControl( "lstModule" ) 58 | self.aModuleName=[] 59 | desktop=getDesktop() 60 | doc = desktop.getCurrentComponent() 61 | docinfo=doc.getDocumentInfo() 62 | 63 | global passwd 64 | self.password = passwd 65 | global url 66 | self.sock=RPCSession(url) 67 | ids = self.sock.execute(database, uid, self.password, 'ir.model' , 'search',[]) 68 | fields = [ 'model','name'] 69 | res = self.sock.execute(database, uid, self.password, 'ir.model' , 'read', ids, fields) 70 | res.sort(lambda x, y: cmp(x['name'],y['name'])) 71 | 72 | for i in range(len(res)): 73 | self.lstModule.addItem(res[i]['name'],self.lstModule.getItemCount()) 74 | self.aModuleName.append(res[i]['model']) 75 | self.win.addButton('btnOK',-2 ,-5, 70,15,'Use Module in Report' ,actionListenerProc = self.btnOk_clicked ) 76 | self.win.addButton('btnCancel',-2 - 70 - 5 ,-5, 35,15,'Cancel' ,actionListenerProc = self.btnCancel_clicked ) 77 | self.win.doModalDialog("",None) 78 | 79 | def btnOk_clicked(self, oActionEvent): 80 | desktop=getDesktop() 81 | doc = desktop.getCurrentComponent() 82 | docinfo=doc.getDocumentInfo() 83 | docinfo.setUserFieldValue(3,self.aModuleName[self.lstModule.getSelectedItemPos()]) 84 | self.logobj.log_write('Module Name',LOG_INFO, ':Module use in creating a report %s using database %s' % (self.aModuleName[self.lstModule.getSelectedItemPos()], database)) 85 | self.win.endExecute() 86 | 87 | def btnCancel_clicked(self, oActionEvent): 88 | self.win.endExecute() 89 | 90 | if __name__<>"package" and __name__=="__main__": 91 | NewReport(None) 92 | elif __name__=="package": 93 | g_ImplementationHelper.addImplementation( \ 94 | NewReport, 95 | "org.openoffice.openerp.report.opennewreport", 96 | ("com.sun.star.task.Job",),) 97 | 98 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 99 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/Expression.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import uno 25 | import string 26 | import unohelper 27 | import xmlrpclib 28 | from com.sun.star.task import XJobExecutor 29 | if __name__<>"package": 30 | from lib.gui import * 31 | from lib.error import ErrorDialog 32 | from lib.functions import * 33 | database="test" 34 | uid = 3 35 | 36 | class Expression(unohelper.Base, XJobExecutor ): 37 | def __init__(self, sExpression="", sName="", bFromModify=False): 38 | LoginTest() 39 | if not loginstatus and __name__=="package": 40 | exit(1) 41 | self.win = DBModalDialog(60, 50, 180, 65, "Expression Builder") 42 | self.win.addFixedText("lblExpression",17 , 10, 35, 15, "Expression :") 43 | self.win.addEdit("txtExpression", -5, 5, 123, 15) 44 | self.win.addFixedText("lblName", 2, 30, 50, 15, "Displayed Name :") 45 | self.win.addEdit("txtName", -5, 25, 123, 15) 46 | self.win.addButton( "btnOK", -5, -5, 40, 15, "OK", actionListenerProc = self.btnOk_clicked ) 47 | self.win.addButton( "btnCancel", -5 - 40 -5, -5, 40, 15, "Cancel", actionListenerProc = self.btnCancel_clicked ) 48 | self.bModify=bFromModify 49 | if self.bModify==True: 50 | self.win.setEditText("txtExpression",sExpression) 51 | self.win.setEditText("txtName",sName) 52 | self.win.doModalDialog("",None) 53 | 54 | 55 | def btnOk_clicked(self, oActionEvent): 56 | desktop=getDesktop() 57 | doc = desktop.getCurrentComponent() 58 | text = doc.Text 59 | cursor = doc.getCurrentController().getViewCursor() 60 | if self.bModify==True: 61 | oCurObj=cursor.TextField 62 | sKey=u""+self.win.getEditText("txtName") 63 | sValue=u"[[ " + self.win.getEditText("txtExpression") + " ]]" 64 | oCurObj.Items = (sKey,sValue) 65 | oCurObj.update() 66 | self.win.endExecute() 67 | else: 68 | oInputList = doc.createInstance("com.sun.star.text.TextField.DropDown") 69 | if self.win.getEditText("txtName")!="" and self.win.getEditText("txtExpression")!="": 70 | sKey=u""+self.win.getEditText("txtName") 71 | sValue=u"[[ " + self.win.getEditText("txtExpression") + " ]]" 72 | if cursor.TextTable==None: 73 | oInputList.Items = (sKey,sValue) 74 | text.insertTextContent(cursor,oInputList,False) 75 | else: 76 | oTable = cursor.TextTable 77 | oCurCell = cursor.Cell 78 | tableText = oTable.getCellByName( oCurCell.CellName ) 79 | oInputList.Items = (sKey,sValue) 80 | tableText.insertTextContent(cursor,oInputList,False) 81 | self.win.endExecute() 82 | else: 83 | ErrorDialog("Please fill appropriate data in Name field or in Expression field.") 84 | 85 | def btnCancel_clicked(self, oActionEvent): 86 | self.win.endExecute() 87 | 88 | if __name__<>"package" and __name__=="__main__": 89 | Expression() 90 | elif __name__=="package": 91 | g_ImplementationHelper.addImplementation( Expression, "org.openoffice.openerp.report.expression", ("com.sun.star.task.Job",),) 92 | 93 | 94 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 95 | -------------------------------------------------------------------------------- /document_fs/ir_attachment.py: -------------------------------------------------------------------------------- 1 | import glob 2 | import logging 3 | import os 4 | import re 5 | 6 | from openerp.osv import osv, fields 7 | 8 | _logger = logging.getLogger(__name__) 9 | 10 | class ir_attachment(osv.Model): 11 | _name = "ir.attachment" 12 | _inherit = 'ir.attachment' 13 | 14 | def _document_fs_sanitize(self, name): 15 | if isinstance(name, unicode): 16 | name = name.encode('utf-8') 17 | name = str(name) 18 | name = name.replace('/','') 19 | name = re.sub('^[.]+', '', name) 20 | return name 21 | 22 | def _get_document_fs_path(self, cr, uid, ids, field_name, arg, context=None): 23 | r = {} 24 | for attachment in self.browse(cr, uid, ids, context=context): 25 | link_dir = self._full_path(cr, uid, 'file', 'models') 26 | res_model = self._document_fs_sanitize(attachment.res_model) 27 | res_id = self._document_fs_sanitize(attachment.res_id) 28 | datas_fname = self._document_fs_sanitize(attachment.datas_fname) 29 | r[attachment.id] = os.path.join(link_dir, res_model, res_id, datas_fname) 30 | return r 31 | 32 | _columns = { 33 | 'document_fs_path': fields.function(_get_document_fs_path, type='char', string='Fs path', readonly=1), 34 | } 35 | 36 | def _document_fs_unlink(self, cr, uid, ids, context=None): 37 | for attachment in self.browse(cr, uid, ids, context=context): 38 | if os.path.isfile(attachment.document_fs_path): 39 | os.unlink(attachment.document_fs_path) 40 | 41 | def _document_fs_link(self, cr, uid, ids, context=None): 42 | for attachment in self.browse(cr, uid, ids, context=context): 43 | src = self._full_path(cr, uid, 'file', attachment.store_fname) 44 | path = attachment.document_fs_path 45 | link_dir = os.path.dirname(path) 46 | if not os.path.isdir(link_dir): 47 | os.makedirs(link_dir) 48 | os.link(src, path) 49 | 50 | def _document_fs_sync(self, cr, uid, context=None): 51 | # WARNING files must be atomically renamed(2) if used in a cron job as 52 | # we read and unlink them 53 | if self._storage(cr, uid, context)== 'file': 54 | link_dir = self._full_path(cr, uid, 'file', 'models') 55 | l = glob.glob('%s/*/*/*' % link_dir) 56 | for path in l: 57 | if not os.path.isfile(path): 58 | continue 59 | (p, fname) = os.path.split(path) 60 | (p, res_id) = os.path.split(p) 61 | (p, res_model) = os.path.split(p) 62 | try: 63 | name = unicode(fname,'utf-8') 64 | except UnicodeError: 65 | continue 66 | if res_model in self.pool: 67 | ids = self.search(cr, uid, [('res_model','=',res_model),('res_id','=',res_id),('datas_fname','=',name)]) 68 | if ids: 69 | continue 70 | data = open(path).read().encode('base64') 71 | os.unlink(path) 72 | attachment = { 73 | 'res_model': res_model, 74 | 'res_id': res_id, 75 | 'name': name, 76 | 'datas_fname': name, 77 | 'datas': data, 78 | } 79 | self.create(cr, uid, attachment) 80 | 81 | def create(self, cr, uid, vals, context=None): 82 | attachment_id = super(ir_attachment, self).create(cr, uid, vals, context) 83 | if self._storage(cr, uid, context) == 'file': 84 | self._document_fs_link(cr, uid, [attachment_id], context=context) 85 | 86 | def write(self, cr, uid, ids, vals, context=None): 87 | if self._storage(cr, uid, context) == 'file': 88 | self._document_fs_unlink(cr, uid, ids, context=context) 89 | r = super(ir_attachment, self).write(cr, uid, ids, vals, context) 90 | if self._storage(cr, uid, context) == 'file': 91 | self._document_fs_link(cr, uid, ids, context=context) 92 | return r 93 | 94 | def unlink(self, cr, uid, ids, context=None): 95 | if self._storage(cr, uid, context) == 'file': 96 | self._document_fs_unlink(cr, uid, ids, context=context) 97 | return super(ir_attachment, self).unlink(cr, uid, ids, context) 98 | 99 | # vim:et: 100 | -------------------------------------------------------------------------------- /website_twitter_wall/static/src/xml/website_twitter_wall_creator.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | × 9 | New Twitter Wall 10 | 11 | Creating new wall... 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | Upload Image File 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | Image URL 30 | 31 | 32 | 33 | Wrong input. please enter valid image URL 34 | 35 | 36 | 37 | 38 | 39 | Name: 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | Description: 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | Tweet Us: 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /session_db/models/session.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | import psycopg2 3 | import json 4 | import logging 5 | import random 6 | import werkzeug.contrib.sessions 7 | import time 8 | 9 | import odoo 10 | from odoo import http 11 | from odoo.tools.func import lazy_property 12 | 13 | _logger = logging.getLogger(__name__) 14 | 15 | def with_cursor(func): 16 | def wrapper(self, *args, **kwargs): 17 | tries = 0 18 | while True: 19 | tries += 1 20 | try: 21 | return func(self, *args, **kwargs) 22 | except psycopg2.InterfaceError as e: 23 | _logger.info("Session in DB connection Retry %s/5" % tries) 24 | if tries>4: 25 | raise e 26 | self._open_connection() 27 | return wrapper 28 | 29 | class PGSessionStore(werkzeug.contrib.sessions.SessionStore): 30 | # FIXME This class is NOT thread-safe. Only use in worker mode 31 | def __init__(self, uri, session_class=None): 32 | super(PGSessionStore, self).__init__(session_class) 33 | self._uri = uri 34 | self._open_connection() 35 | self._setup_db() 36 | 37 | def __del__(self): 38 | self._cr.close() 39 | 40 | def _open_connection(self): 41 | cnx = odoo.sql_db.db_connect(self._uri, allow_uri=True) 42 | self._cr = cnx.cursor() 43 | self._cr.autocommit(True) 44 | 45 | @with_cursor 46 | def _setup_db(self): 47 | self._cr.execute(""" 48 | CREATE TABLE IF NOT EXISTS http_sessions ( 49 | sid varchar PRIMARY KEY, 50 | write_date timestamp without time zone NOT NULL, 51 | payload text NOT NULL 52 | ) 53 | """) 54 | 55 | @with_cursor 56 | def save(self, session): 57 | payload = json.dumps(dict(session)) 58 | self._cr.execute(""" 59 | INSERT INTO http_sessions(sid, write_date, payload) 60 | VALUES (%(sid)s, now() at time zone 'UTC', %(payload)s) 61 | ON CONFLICT (sid) 62 | DO UPDATE SET payload = %(payload)s, 63 | write_date = now() at time zone 'UTC' 64 | """, dict(sid=session.sid, payload=payload)) 65 | 66 | @with_cursor 67 | def delete(self, session): 68 | self._cr.execute("DELETE FROM http_sessions WHERE sid=%s", [session.sid]) 69 | 70 | @with_cursor 71 | def get(self, sid): 72 | self._cr.execute("UPDATE http_sessions SET write_date = now() at time zone 'UTC' WHERE sid=%s", [sid]) 73 | self._cr.execute("SELECT payload FROM http_sessions WHERE sid=%s", [sid]) 74 | try: 75 | data = json.loads(self._cr.fetchone()[0]) 76 | except Exception: 77 | return self.new() 78 | 79 | return self.session_class(data, sid, False) 80 | 81 | @with_cursor 82 | def gc(self): 83 | self._cr.execute( 84 | "DELETE FROM http_sessions WHERE now() at time zone 'UTC' - write_date > '7 days'" 85 | ) 86 | 87 | 88 | def session_gc(session_store): 89 | """ 90 | Global cleaning of sessions using either the standard way (delete session files), 91 | Or the DB way. 92 | """ 93 | if random.random() < 0.001: 94 | # we keep session one week 95 | if hasattr(session_store, 'gc'): 96 | session_store.gc() 97 | return 98 | last_week = time.time() - 60*60*24*7 99 | for fname in os.listdir(session_store.path): 100 | path = os.path.join(session_store.path, fname) 101 | try: 102 | if os.path.getmtime(path) < last_week: 103 | os.unlink(path) 104 | except OSError: 105 | pass 106 | 107 | class Root(http.Root): 108 | @lazy_property 109 | def session_store(self): 110 | """ 111 | Store sessions in DB rather than on FS if parameter permit so 112 | """ 113 | # Setup http sessions 114 | session_db = odoo.tools.config.get('session_db') 115 | if session_db: 116 | _logger.debug("Sessions in db %s" % session_db) 117 | return PGSessionStore(session_db, session_class=http.OpenERPSession) 118 | path = odoo.tools.config.session_dir 119 | _logger.debug('HTTP sessions stored in: %s', path) 120 | return werkzeug.contrib.sessions.FilesystemSessionStore(path, session_class=http.OpenERPSession) 121 | 122 | # #Monkey patch of standard methods 123 | _logger.debug("Monkey patching sessions") 124 | http.session_gc = session_gc 125 | http.root = Root() 126 | -------------------------------------------------------------------------------- /website_twitter_wall/models/oauth.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | from base64 import standard_b64encode 3 | from hashlib import sha1 4 | from hmac import new 5 | from random import randint 6 | from time import time 7 | from urllib2 import Request, quote, urlopen 8 | 9 | 10 | class Oauth(object): 11 | 12 | def __init__(self, API_key, API_secret): 13 | self.REQUEST_URL = "https://api.twitter.com/oauth/request_token" 14 | self.AUTHORIZE_URL = "https://api.twitter.com/oauth/authorize" 15 | self.ACCESS_URL = "https://api.twitter.com/oauth/access_token" 16 | 17 | self.API_key = API_key 18 | self.API_secret = API_secret 19 | self.Oauth_Token = None 20 | self.Oauth_Token_Secret = None 21 | self.parameters = {} 22 | 23 | def _get_nonce(self): 24 | NONCE = "" 25 | for i in range(32): 26 | NONCE += chr(randint(97, 122)) 27 | return NONCE 28 | 29 | def _get_timestamp(self): 30 | return str(int(time())) 31 | 32 | def _generate_header(self, URL, signature_method, oauth_version, callback_url=None, request_token=None, oauth_verifier=None, params=None, method='POST'): 33 | self.parameters = {} 34 | if params: 35 | self.parameters.update(params) 36 | if callback_url: 37 | self.parameters['oauth_callback'] = callback_url 38 | if request_token: 39 | self.parameters['oauth_token'] = request_token 40 | if oauth_verifier: 41 | self.parameters['oauth_verifier'] = oauth_verifier 42 | if self.Oauth_Token: 43 | self.parameters['oauth_token'] = self.Oauth_Token 44 | self.parameters['oauth_consumer_key'] = self.API_key 45 | self.parameters['oauth_nonce'] = self._get_nonce() 46 | self.parameters['oauth_signature_method'] = signature_method 47 | self.parameters['oauth_timestamp'] = self._get_timestamp() 48 | self.parameters['oauth_version'] = oauth_version 49 | self.parameters['oauth_signature'] = self._build_signature(URL, method) 50 | if method == 'GET': 51 | return self.to_get_header() 52 | return self.to_header() 53 | 54 | def _build_signature(self, URL, method): 55 | BASE_STRING = method + '&' + quote(URL, '') + '&' + quote(self.to_parameter_string(), '') 56 | SIGNING_KEY = quote(self.API_secret, '') + '&' + (quote(self.Oauth_Token_Secret, '') if self.Oauth_Token_Secret else '') 57 | return standard_b64encode(new(SIGNING_KEY.encode(), BASE_STRING.encode(), sha1).digest()).decode('ascii') 58 | 59 | def to_header(self, realm=''): 60 | """Serialize as a header for an HTTPAuth request.""" 61 | auth_header = 'OAuth realm="%s"' % realm 62 | # Add the oauth parameters. 63 | if self.parameters: 64 | for k, v in self.parameters.iteritems(): 65 | if k[:6] == 'oauth_': 66 | auth_header += ', %s="%s"' % (k, quote(v, '')) 67 | return auth_header 68 | 69 | def to_get_header(self): 70 | """Serialize as a header for an HTTPAuth GET request.""" 71 | auth_header = "" 72 | # Add the oauth parameters. 73 | if self.parameters: 74 | for k, v in self.parameters.iteritems(): 75 | auth_header += '&%s=%s' % (quote(k, ''), quote(v, '')) 76 | return auth_header 77 | 78 | def to_parameter_string(self): 79 | """Return a string that contains the parameters that must be signed.""" 80 | params = self.parameters 81 | try: 82 | del params['oauth_signature'] 83 | except: 84 | pass 85 | key_values = [(quote(str(k), ''), quote(str(v), '')) for k, v in params.items()] 86 | key_values.sort() 87 | return '&'.join(['%s=%s' % (k, v) for k, v in key_values]) 88 | 89 | def _string_to_dict(self, request_response): 90 | return dict(item.split("=") for item in request_response.split("&")) 91 | 92 | def _access_token(self, request_token, oauth_verifier): 93 | HEADER = self._generate_header(self.ACCESS_URL, 'HMAC-SHA1', '1.0', request_token=request_token, oauth_verifier=oauth_verifier) 94 | 95 | HTTP_REQUEST = Request(self.ACCESS_URL) 96 | HTTP_REQUEST.add_header('Authorization', HEADER) 97 | access_token_response = urlopen(HTTP_REQUEST, '').read() 98 | access_token_response = self._string_to_dict(access_token_response) 99 | return access_token_response 100 | 101 | def set_access_token(self, Oauth_Token, Oauth_Token_Secret): 102 | self.Oauth_Token = Oauth_Token 103 | self.Oauth_Token_Secret = Oauth_Token_Secret 104 | -------------------------------------------------------------------------------- /biwizard/models/computedfield.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | BI wizard computed fields 7 | x_biwizard.cubescomputedfields 8 | BI cubes' computed fields 9 | manual 10 | 11 | 12 | 13 | 14 | x_cube_id 15 | Cube 16 | 17 | x_biwizard.cubescomputedfields 18 | many2one 19 | x_biwizard.cubes 20 | manual 21 | 22 | 23 | x_name 24 | Name 25 | 26 | x_biwizard.cubescomputedfields 27 | char 28 | manual 29 | 1 30 | 31 | 32 | x_type 33 | Type 34 | 35 | x_biwizard.cubescomputedfields 36 | selection 37 | [('float', 'float'), ('integer', 'integer'), ('char','char'), ('date', 'date'), ('datetime', 'datetime'), ('many2one', 'many2one')] 38 | manual 39 | 1 40 | 41 | 42 | x_formula 43 | Formula 44 | 45 | x_biwizard.cubescomputedfields 46 | text 47 | manual 48 | 1 49 | 50 | 51 | x_searchable 52 | Searchable 53 | 54 | x_biwizard.cubescomputedfields 55 | boolean 56 | manual 57 | 58 | 59 | x_groupable 60 | Groupable 61 | 62 | x_biwizard.cubescomputedfields 63 | boolean 64 | manual 65 | 66 | 67 | x_pivot 68 | Pivot 69 | 70 | x_biwizard.cubescomputedfields 71 | selection 72 | [('row', 'row'), ('col', 'col'), ('measure', 'measure')] 73 | manual 74 | 75 | 76 | x_graph 77 | Graph 78 | 79 | x_biwizard.cubescomputedfields 80 | selection 81 | [('row', 'row'), ('measure', 'measure')] 82 | manual 83 | 84 | 85 | x_m2omodel 86 | Model 87 | 88 | x_biwizard.cubescomputedfields 89 | char 90 | manual 91 | 92 | 93 | 94 | 95 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/modify.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import re 25 | import uno 26 | import string 27 | import unohelper 28 | import xmlrpclib 29 | from com.sun.star.task import XJobExecutor 30 | if __name__<>"package": 31 | from lib.gui import * 32 | from Expression import Expression 33 | from Fields import Fields 34 | from Repeatln import RepeatIn 35 | from lib.error import * 36 | database="test" 37 | uid = 3 38 | 39 | class modify(unohelper.Base, XJobExecutor ): 40 | def __init__(self, ctx): 41 | self.ctx = ctx 42 | self.module = "openerp_report" 43 | self.version = "0.1" 44 | 45 | # Variable Declaration 46 | desktop = getDesktop() 47 | doc = desktop.getCurrentComponent() 48 | docinfo = doc.getDocumentInfo() 49 | self.oVC = doc.CurrentController.getViewCursor() 50 | if not docinfo.getUserFieldValue(0)=="": 51 | self.sMyHost= docinfo.getUserFieldValue(0) 52 | else: 53 | ErrorDialog( 54 | "Please insert user define field Field-1", 55 | "Just go to File->Properties->User Define \n" 56 | "Field-1 E.g. http://localhost:8069" 57 | ) 58 | exit(1) 59 | 60 | # Check weather Field-4 is available or not otherwise exit from application 61 | if not docinfo.getUserFieldValue(3) == "" and not docinfo.getUserFieldValue(0)=="": 62 | if self.oVC.TextField: 63 | self.oCurObj=self.oVC.TextField 64 | item = self.oCurObj.Items[0] 65 | 66 | kind, group1, group2 = self.getOperation(self.oCurObj.Items[1] ) 67 | 68 | start_group1 = group1[:group1.find(".")] 69 | stop_group1 = group1[group1.find("."):].replace(".", "/") 70 | 71 | if kind == "field": 72 | Fields( start_group1, stop_group1, item, True ) 73 | elif kind == "expression": 74 | Expression( group1, item, True ) 75 | elif kind == "repeatIn": 76 | RepeatIn( start_group1, group2, stop_group1, item, True ) 77 | else: 78 | ErrorDialog( 79 | "Please place your cursor at beginning of field that you want to modify.","" 80 | ) 81 | 82 | else: 83 | ErrorDialog( 84 | "Please insert user define field Field-1 or Field-4", 85 | "Just go to File->Properties->User Define \n" 86 | "Field-1 E.g. http://localhost:8069 \n" 87 | "OR \n" 88 | "Field-4 E.g. account.invoice" 89 | ) 90 | exit(1) 91 | 92 | def getOperation(self, str): 93 | #str = "[[ RepeatIn(objects, 'variable') ]]" #repeatIn 94 | #str = "[[ saleorder.partner_id.name ]]" # field 95 | #str = "[[ some thing complex ]]" # expression 96 | method1 = lambda x: (u'repeatIn', x.group(1), x.group(2)) 97 | method2 = lambda x: (u'field', x.group(1), None) 98 | method3 = lambda x: (u'expression', x.group(1), None) 99 | regexes = [ 100 | ('\\[\\[ *repeatIn\\( *(.+)*, *\'([a-zA-Z0-9_]+)\' *\\) *\\]\\]', method1), 101 | ('\\[\\[ *([a-zA-Z0-9_\.]+) *\\]\\]', method2), 102 | ('\\[\\[ *(.+) *\\]\\]', method3) 103 | ] 104 | for (rule,method) in regexes: 105 | res = re.match(rule, str) 106 | if res: 107 | return method(res) 108 | 109 | if __name__<>"package": 110 | modify(None) 111 | else: 112 | g_ImplementationHelper.addImplementation( modify, "org.openoffice.openerp.report.modify", ("com.sun.star.task.Job",),) 113 | 114 | 115 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 116 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/ExportToRML.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2013 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import os 25 | import uno 26 | import unohelper 27 | import string 28 | import tempfile 29 | import base64 30 | import sys 31 | 32 | reload(sys) 33 | sys.setdefaultencoding("utf8") 34 | from com.sun.star.task import XJobExecutor 35 | if __name__<>"package": 36 | from lib.gui import * 37 | from LoginTest import * 38 | from lib.error import * 39 | from lib.tools import * 40 | from lib.logreport import * 41 | from lib.rpc import * 42 | database="test" 43 | uid = 3 44 | 45 | 46 | class ExportToRML( unohelper.Base, XJobExecutor ): 47 | def __init__(self, ctx): 48 | self.ctx = ctx 49 | self.module = "openerp_report" 50 | self.version = "0.1" 51 | LoginTest() 52 | if not loginstatus and __name__=="package": 53 | exit(1) 54 | 55 | desktop=getDesktop() 56 | doc = desktop.getCurrentComponent() 57 | docinfo=doc.getDocumentInfo() 58 | global url 59 | self.sock=RPCSession(url) 60 | 61 | # Read Data from sxw file 62 | tmpsxw = tempfile.mktemp('.'+"sxw") 63 | 64 | if not doc.hasLocation(): 65 | mytype = Array(makePropertyValue("MediaType","application/vnd.sun.xml.writer"),) 66 | doc.storeAsURL("file://"+tmpsxw,mytype) 67 | data = read_data_from_file( get_absolute_file_path( doc.getURL()[7:] ) ) 68 | file_type = doc.getURL()[7:].split(".")[-1] 69 | if docinfo.getUserFieldValue(2) == "": 70 | ErrorDialog("Please Save this file on server","Use Send To Server Option in Odoo Report Menu","Error") 71 | exit(1) 72 | filename = self.GetAFileName() 73 | if not filename: 74 | exit(1) 75 | global passwd 76 | self.password = passwd 77 | try: 78 | 79 | res = self.sock.execute(database, uid, self.password, 'ir.actions.report.xml', 'sxwtorml',base64.encodestring(data),file_type) 80 | if res['report_rml_content']: 81 | write_data_to_file(get_absolute_file_path(filename), res['report_rml_content']) 82 | except Exception,e: 83 | import traceback,sys 84 | info = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback)) 85 | self.logobj.log_write('ExportToRML',LOG_ERROR, info) 86 | ErrorDialog("Cannot save the file to the hard drive.", "Exception: %s." % e, "Error" ) 87 | 88 | def GetAFileName(self): 89 | sFilePickerArgs = Array(10) 90 | oFileDialog = createUnoService("com.sun.star.ui.dialogs.FilePicker") 91 | oFileDialog.initialize(sFilePickerArgs) 92 | oFileDialog.appendFilter("Odoo Report File Save To ....","*.rml") 93 | 94 | f_path = "OpenERP-"+ os.path.basename( tempfile.mktemp("","") ) + ".rml" 95 | initPath = tempfile.gettempdir() 96 | oUcb = createUnoService("com.sun.star.ucb.SimpleFileAccess") 97 | if oUcb.exists(initPath): 98 | oFileDialog.setDisplayDirectory('file://' + ( os.name == 'nt' and '/' or '' ) + initPath ) 99 | 100 | oFileDialog.setDefaultName(f_path ) 101 | 102 | sPath = oFileDialog.execute() == 1 and oFileDialog.Files[0] or '' 103 | oFileDialog.dispose() 104 | sPath = sPath[7:] 105 | if sPath.startswith('localhost/'): 106 | slash = int(os.name == 'nt') 107 | sPath = sPath[9 + slash:] 108 | return sPath 109 | 110 | if __name__<>"package" and __name__=="__main__": 111 | ExportToRML(None) 112 | elif __name__=="package": 113 | g_ImplementationHelper.addImplementation( ExportToRML, "org.openoffice.openerp.report.exporttorml", ("com.sun.star.task.Job",),) 114 | 115 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 116 | -------------------------------------------------------------------------------- /base_report_designer/plugin/openerp_report_designer/bin/script/Change.py: -------------------------------------------------------------------------------- 1 | ######################################################################### 2 | # 3 | # Copyright (c) 2003-2004 Danny Brewer d29583@groovegarden.com 4 | # Copyright (C) 2004-2010 OpenERP SA (). 5 | # 6 | # This library is free software; you can redistribute it and/or 7 | # modify it under the terms of the GNU Lesser General Public 8 | # License as published by the Free Software Foundation; either 9 | # version 2.1 of the License, or (at your option) any later version. 10 | # 11 | # This library is distributed in the hope that it will be useful, 12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | # Lesser General Public License for more details. 15 | # 16 | # You should have received a copy of the GNU Lesser General Public 17 | # License along with this library; if not, write to the Free Software 18 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 | # 20 | # See: http://www.gnu.org/licenses/lgpl.html 21 | # 22 | ############################################################################# 23 | 24 | import uno 25 | import string 26 | import unohelper 27 | import xmlrpclib 28 | from com.sun.star.task import XJobExecutor 29 | if __name__<>"package": 30 | from lib.gui import * 31 | from lib.error import ErrorDialog 32 | from lib.functions import * 33 | from lib.logreport import * 34 | from lib.rpc import * 35 | from ServerParameter import * 36 | database="test" 37 | 38 | class Change( unohelper.Base, XJobExecutor ): 39 | def __init__(self, ctx): 40 | self.ctx = ctx 41 | self.module = "openerp_report" 42 | self.version = "0.1" 43 | desktop=getDesktop() 44 | log_detail(self) 45 | self.logobj=Logger() 46 | doc = desktop.getCurrentComponent() 47 | docinfo=doc.getDocumentInfo() 48 | self.protocol = { 49 | 'XML-RPC': 'http://', 50 | 'XML-RPC secure': 'https://', 51 | 'NET-RPC': 'socket://', 52 | } 53 | host=port=protocol='' 54 | if docinfo.getUserFieldValue(0): 55 | m = re.match('^(http[s]?://|socket://)([\w.\-]+):(\d{1,5})$', docinfo.getUserFieldValue(0) or '') 56 | host = m.group(2) 57 | port = m.group(3) 58 | protocol = m.group(1) 59 | if protocol: 60 | for (key, value) in self.protocol.iteritems(): 61 | if value==protocol: 62 | protocol=key 63 | break 64 | else: 65 | protocol='XML-RPC' 66 | self.win=DBModalDialog(60, 50, 120, 90, "Connect to Odoo Server") 67 | 68 | self.win.addFixedText("lblVariable", 38, 12, 25, 15, "Server ") 69 | self.win.addEdit("txtHost",-2,9,60,15, host or 'localhost') 70 | 71 | self.win.addFixedText("lblReportName",45 , 31, 15, 15, "Port ") 72 | self.win.addEdit("txtPort",-2,28,60,15, port or "8069") 73 | 74 | self.win.addFixedText("lblLoginName", 2, 51, 60, 15, "Protocol Connection") 75 | 76 | self.win.addComboListBox("lstProtocol", -2, 48, 60, 15, True) 77 | self.lstProtocol = self.win.getControl( "lstProtocol" ) 78 | 79 | self.win.addButton( 'btnNext', -2, -5, 30, 15, 'Next', actionListenerProc = self.btnNext_clicked ) 80 | 81 | self.win.addButton( 'btnCancel', -2 - 30 - 5 ,-5, 30, 15, 'Cancel', actionListenerProc = self.btnCancel_clicked ) 82 | 83 | for i in self.protocol.keys(): 84 | self.lstProtocol.addItem(i,self.lstProtocol.getItemCount() ) 85 | self.win.doModalDialog( "lstProtocol", protocol) 86 | 87 | def btnNext_clicked(self, oActionEvent): 88 | global url 89 | aVal='' 90 | #aVal= Fetature used 91 | try: 92 | url = self.protocol[self.win.getListBoxSelectedItem("lstProtocol")]+self.win.getEditText("txtHost")+":"+self.win.getEditText("txtPort") 93 | self.sock=RPCSession(url) 94 | desktop=getDesktop() 95 | doc = desktop.getCurrentComponent() 96 | docinfo=doc.getDocumentInfo() 97 | docinfo.setUserFieldValue(0,url) 98 | res=self.sock.listdb() 99 | self.win.endExecute() 100 | ServerParameter(aVal,url) 101 | except : 102 | import traceback,sys 103 | info = reduce(lambda x, y: x+y, traceback.format_exception(sys.exc_type, sys.exc_value, sys.exc_traceback)) 104 | self.logobj.log_write('ServerParameter', LOG_ERROR, info) 105 | ErrorDialog("Connection to server is fail. Please check your Server Parameter.", "", "Error!") 106 | self.win.endExecute() 107 | 108 | def btnCancel_clicked(self,oActionEvent): 109 | self.win.endExecute() 110 | 111 | 112 | if __name__<>"package" and __name__=="__main__": 113 | Change(None) 114 | elif __name__=="package": 115 | g_ImplementationHelper.addImplementation( Change, "org.openoffice.openerp.report.change", ("com.sun.star.task.Job",),) 116 | 117 | 118 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: 119 | -------------------------------------------------------------------------------- /website_twitter_wall/static/lib/bootstrap-colorpicker/src/less/colorpicker.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Colorpicker 3 | * http://mjolnic.github.io/bootstrap-colorpicker/ 4 | * 5 | * Originally written by (c) 2012 Stefan Petre 6 | * Licensed under the Apache License v2.0 7 | * http://www.apache.org/licenses/LICENSE-2.0.txt 8 | * 9 | */ 10 | .bgImg(@img){ 11 | background-image: url("/website_twitter_wall/static/lib/bootstrap-colorpicker/src/img/@{img}"); 12 | } 13 | .borderRadius(@size){ 14 | -webkit-border-radius: @size; 15 | -moz-border-radius: @size; 16 | border-radius: @size; 17 | } 18 | 19 | .colorpicker-saturation { 20 | width: 100px; 21 | height: 100px; 22 | .bgImg('saturation.png'); 23 | cursor: crosshair; 24 | float: left; 25 | i { 26 | display: block; 27 | height: 5px; 28 | width: 5px; 29 | border: 1px solid #000; 30 | .borderRadius(5px); 31 | position: absolute; 32 | top: 0; 33 | left: 0; 34 | margin: -4px 0 0 -4px; 35 | b { 36 | display: block; 37 | height: 5px; 38 | width: 5px; 39 | border: 1px solid #fff; 40 | .borderRadius(5px); 41 | } 42 | } 43 | } 44 | 45 | .colorpicker-hue, 46 | .colorpicker-alpha { 47 | width: 15px; 48 | height: 100px; 49 | float: left; 50 | cursor: row-resize; 51 | margin-left: 4px; 52 | margin-bottom: 4px; 53 | } 54 | .colorpicker-hue i, 55 | .colorpicker-alpha i { 56 | display: block; 57 | height: 1px; 58 | background: #000; 59 | border-top: 1px solid #fff; 60 | position: absolute; 61 | top: 0; 62 | left: 0; 63 | width: 100%; 64 | margin-top: -1px; 65 | } 66 | .colorpicker-hue { 67 | .bgImg('hue.png'); 68 | } 69 | .colorpicker-alpha { 70 | .bgImg('alpha.png'); 71 | display: none; 72 | } 73 | .colorpicker { 74 | *zoom: 1; 75 | top: 0; 76 | left: 0; 77 | padding: 4px; 78 | min-width: 130px; 79 | margin-top: 1px; 80 | .borderRadius(4px); 81 | z-index:2500; 82 | background-color: #FFFFFF !important; 83 | } 84 | .colorpicker:before, 85 | .colorpicker:after { 86 | display: table; 87 | content: ""; 88 | line-height: 0; 89 | } 90 | .colorpicker:after { 91 | clear: both; 92 | } 93 | .colorpicker:before { 94 | content: ''; 95 | display: inline-block; 96 | border-left: 7px solid transparent; 97 | border-right: 7px solid transparent; 98 | border-bottom: 7px solid #ccc; 99 | border-bottom-color: rgba(0, 0, 0, 0.2); 100 | position: absolute; 101 | top: -7px; 102 | left: 6px; 103 | } 104 | .colorpicker:after { 105 | content: ''; 106 | display: inline-block; 107 | border-left: 6px solid transparent; 108 | border-right: 6px solid transparent; 109 | border-bottom: 6px solid #ffffff; 110 | position: absolute; 111 | top: -6px; 112 | left: 7px; 113 | } 114 | .colorpicker div { 115 | position: relative; 116 | } 117 | .colorpicker.colorpicker-with-alpha { 118 | min-width: 140px; 119 | } 120 | .colorpicker.colorpicker-with-alpha .colorpicker-alpha { 121 | display: block; 122 | } 123 | .colorpicker-color { 124 | height: 10px; 125 | margin-top: 5px; 126 | clear: both; 127 | .bgImg('alpha.png'); 128 | background-position: 0 100%; 129 | } 130 | .colorpicker-color div { 131 | height: 10px; 132 | } 133 | .colorpicker-element .input-group-addon i, 134 | .colorpicker-element .add-on i { 135 | display: inline-block; 136 | cursor: pointer; 137 | height: 16px; 138 | vertical-align: text-top; 139 | width: 16px; 140 | } 141 | .colorpicker.colorpicker-inline { 142 | position: relative; 143 | display: inline-block; 144 | float: none; 145 | z-index: auto; 146 | } 147 | .colorpicker.colorpicker-horizontal { 148 | width: 110px; 149 | min-width: 110px; 150 | height: auto; 151 | } 152 | .colorpicker.colorpicker-horizontal .colorpicker-saturation{ 153 | margin-bottom: 4px; 154 | } 155 | .colorpicker.colorpicker-horizontal .colorpicker-color { 156 | width: 100px; 157 | } 158 | .colorpicker.colorpicker-horizontal .colorpicker-hue, 159 | .colorpicker.colorpicker-horizontal .colorpicker-alpha { 160 | width: 100px; 161 | height: 15px; 162 | float: left; 163 | cursor: col-resize; 164 | margin-left: 0px; 165 | margin-bottom: 4px; 166 | } 167 | .colorpicker.colorpicker-horizontal .colorpicker-hue i, 168 | .colorpicker.colorpicker-horizontal .colorpicker-alpha i { 169 | display: block; 170 | height: 15px; 171 | background: #ffffff; 172 | position: absolute; 173 | top: 0; 174 | left: 0; 175 | width: 1px; 176 | border: none; 177 | margin-top: 0px; 178 | } 179 | .colorpicker.colorpicker-horizontal .colorpicker-hue { 180 | .bgImg('hue-horizontal.png'); 181 | } 182 | .colorpicker.colorpicker-horizontal .colorpicker-alpha { 183 | .bgImg('alpha-horizontal.png'); 184 | } 185 | 186 | .colorpicker.colorpicker-hidden{ 187 | display:none; 188 | } 189 | 190 | .colorpicker.colorpicker-visible{ 191 | display:block; 192 | } 193 | .colorpicker-inline.colorpicker-visible{ 194 | display:inline-block; 195 | } 196 | 197 | .colorpicker-right:before { 198 | left: auto; 199 | right: 6px; 200 | } 201 | .colorpicker-right:after { 202 | left: auto; 203 | right: 7px; 204 | } 205 | -------------------------------------------------------------------------------- /base_report_designer/i18n/base_report_designer.pot: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * base_report_designer 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 7.0alpha\n" 8 | "Report-Msgid-Bugs-To: \n" 9 | "POT-Creation-Date: 2012-12-21 17:05+0000\n" 10 | "PO-Revision-Date: 2012-12-21 17:05+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: \n" 16 | "Plural-Forms: \n" 17 | 18 | #. module: base_report_designer 19 | #: model:ir.model,name:base_report_designer.model_base_report_sxw 20 | msgid "base.report.sxw" 21 | msgstr "" 22 | 23 | #. module: base_report_designer 24 | #: view:base_report_designer.installer:0 25 | msgid "OpenERP Report Designer Configuration" 26 | msgstr "" 27 | 28 | #. module: base_report_designer 29 | #: view:base_report_designer.installer:0 30 | msgid "This plug-in allows you to create/modify OpenERP Reports into OpenOffice Writer." 31 | msgstr "" 32 | 33 | #. module: base_report_designer 34 | #: view:base.report.sxw:0 35 | msgid "Upload the modified report" 36 | msgstr "" 37 | 38 | #. module: base_report_designer 39 | #: view:base.report.file.sxw:0 40 | msgid "The .SXW report" 41 | msgstr "" 42 | 43 | #. module: base_report_designer 44 | #: model:ir.model,name:base_report_designer.model_base_report_designer_installer 45 | msgid "base_report_designer.installer" 46 | msgstr "" 47 | 48 | #. module: base_report_designer 49 | #: model:ir.model,name:base_report_designer.model_base_report_rml_save 50 | msgid "base.report.rml.save" 51 | msgstr "" 52 | 53 | #. module: base_report_designer 54 | #: view:base_report_designer.installer:0 55 | msgid "Configure" 56 | msgstr "" 57 | 58 | #. module: base_report_designer 59 | #: view:base_report_designer.installer:0 60 | msgid "title" 61 | msgstr "" 62 | 63 | #. module: base_report_designer 64 | #: field:base.report.file.sxw,report_id:0 65 | #: field:base.report.sxw,report_id:0 66 | msgid "Report" 67 | msgstr "" 68 | 69 | #. module: base_report_designer 70 | #: view:base.report.rml.save:0 71 | msgid "The RML Report" 72 | msgstr "" 73 | 74 | #. module: base_report_designer 75 | #: model:ir.ui.menu,name:base_report_designer.menu_action_report_designer_wizard 76 | msgid "Report Designer" 77 | msgstr "" 78 | 79 | #. module: base_report_designer 80 | #: field:base_report_designer.installer,name:0 81 | msgid "File name" 82 | msgstr "" 83 | 84 | #. module: base_report_designer 85 | #: view:base.report.file.sxw:0 86 | #: view:base.report.sxw:0 87 | msgid "Get a report" 88 | msgstr "" 89 | 90 | #. module: base_report_designer 91 | #: view:base_report_designer.installer:0 92 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_wizard 93 | msgid "OpenERP Report Designer" 94 | msgstr "" 95 | 96 | #. module: base_report_designer 97 | #: view:base.report.sxw:0 98 | msgid "Continue" 99 | msgstr "" 100 | 101 | #. module: base_report_designer 102 | #: field:base.report.rml.save,file_rml:0 103 | msgid "Save As" 104 | msgstr "" 105 | 106 | #. module: base_report_designer 107 | #: help:base_report_designer.installer,plugin_file:0 108 | msgid "OpenObject Report Designer plug-in file. Save as this file and install this plug-in in OpenOffice." 109 | msgstr "" 110 | 111 | #. module: base_report_designer 112 | #: view:base.report.rml.save:0 113 | msgid "Save RML FIle" 114 | msgstr "" 115 | 116 | #. module: base_report_designer 117 | #: field:base.report.file.sxw,file_sxw:0 118 | #: field:base.report.file.sxw,file_sxw_upload:0 119 | msgid "Your .SXW file" 120 | msgstr "" 121 | 122 | #. module: base_report_designer 123 | #: view:base_report_designer.installer:0 124 | msgid "Installation and Configuration Steps" 125 | msgstr "" 126 | 127 | #. module: base_report_designer 128 | #: field:base_report_designer.installer,description:0 129 | msgid "Description" 130 | msgstr "" 131 | 132 | #. module: base_report_designer 133 | #: view:base.report.file.sxw:0 134 | msgid "This is the template of your requested report.\n" 135 | "Save it as a .SXW file and open it with OpenOffice.\n" 136 | "Don't forget to install the OpenERP SA OpenOffice package to modify it.\n" 137 | "Once it is modified, re-upload it in OpenERP using this wizard." 138 | msgstr "" 139 | 140 | #. module: base_report_designer 141 | #: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw 142 | msgid "Base Report sxw" 143 | msgstr "" 144 | 145 | #. module: base_report_designer 146 | #: model:ir.model,name:base_report_designer.model_base_report_file_sxw 147 | msgid "base.report.file.sxw" 148 | msgstr "" 149 | 150 | #. module: base_report_designer 151 | #: field:base_report_designer.installer,plugin_file:0 152 | msgid "OpenObject Report Designer Plug-in" 153 | msgstr "" 154 | 155 | #. module: base_report_designer 156 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_installer 157 | msgid "OpenERP Report Designer Installation" 158 | msgstr "" 159 | 160 | #. module: base_report_designer 161 | #: view:base.report.sxw:0 162 | msgid "Cancel" 163 | msgstr "" 164 | 165 | #. module: base_report_designer 166 | #: view:base.report.sxw:0 167 | msgid "or" 168 | msgstr "" 169 | 170 | #. module: base_report_designer 171 | #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml 172 | msgid "ir.actions.report.xml" 173 | msgstr "" 174 | 175 | #. module: base_report_designer 176 | #: view:base.report.sxw:0 177 | msgid "Select your report" 178 | msgstr "" 179 | 180 | -------------------------------------------------------------------------------- /base_report_designer/i18n/lt.po: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * base_report_designer 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 5.0.4\n" 8 | "Report-Msgid-Bugs-To: support@openerp.com\n" 9 | "POT-Creation-Date: 2012-12-21 17:05+0000\n" 10 | "PO-Revision-Date: 2009-02-03 06:26+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "X-Launchpad-Export-Date: 2014-04-22 07:02+0000\n" 17 | "X-Generator: Launchpad (build 16985)\n" 18 | 19 | #. module: base_report_designer 20 | #: model:ir.model,name:base_report_designer.model_base_report_sxw 21 | msgid "base.report.sxw" 22 | msgstr "" 23 | 24 | #. module: base_report_designer 25 | #: view:base_report_designer.installer:0 26 | msgid "OpenERP Report Designer Configuration" 27 | msgstr "" 28 | 29 | #. module: base_report_designer 30 | #: view:base_report_designer.installer:0 31 | msgid "" 32 | "This plug-in allows you to create/modify OpenERP Reports into OpenOffice " 33 | "Writer." 34 | msgstr "" 35 | 36 | #. module: base_report_designer 37 | #: view:base.report.sxw:0 38 | msgid "Upload the modified report" 39 | msgstr "" 40 | 41 | #. module: base_report_designer 42 | #: view:base.report.file.sxw:0 43 | msgid "The .SXW report" 44 | msgstr "" 45 | 46 | #. module: base_report_designer 47 | #: model:ir.model,name:base_report_designer.model_base_report_designer_installer 48 | msgid "base_report_designer.installer" 49 | msgstr "" 50 | 51 | #. module: base_report_designer 52 | #: model:ir.model,name:base_report_designer.model_base_report_rml_save 53 | msgid "base.report.rml.save" 54 | msgstr "" 55 | 56 | #. module: base_report_designer 57 | #: view:base_report_designer.installer:0 58 | msgid "Configure" 59 | msgstr "" 60 | 61 | #. module: base_report_designer 62 | #: view:base_report_designer.installer:0 63 | msgid "title" 64 | msgstr "" 65 | 66 | #. module: base_report_designer 67 | #: field:base.report.file.sxw,report_id:0 68 | #: field:base.report.sxw,report_id:0 69 | msgid "Report" 70 | msgstr "" 71 | 72 | #. module: base_report_designer 73 | #: view:base.report.rml.save:0 74 | msgid "The RML Report" 75 | msgstr "" 76 | 77 | #. module: base_report_designer 78 | #: model:ir.ui.menu,name:base_report_designer.menu_action_report_designer_wizard 79 | msgid "Report Designer" 80 | msgstr "" 81 | 82 | #. module: base_report_designer 83 | #: field:base_report_designer.installer,name:0 84 | msgid "File name" 85 | msgstr "" 86 | 87 | #. module: base_report_designer 88 | #: view:base.report.file.sxw:0 89 | #: view:base.report.sxw:0 90 | msgid "Get a report" 91 | msgstr "" 92 | 93 | #. module: base_report_designer 94 | #: view:base_report_designer.installer:0 95 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_wizard 96 | msgid "OpenERP Report Designer" 97 | msgstr "" 98 | 99 | #. module: base_report_designer 100 | #: view:base.report.sxw:0 101 | msgid "Continue" 102 | msgstr "" 103 | 104 | #. module: base_report_designer 105 | #: field:base.report.rml.save,file_rml:0 106 | msgid "Save As" 107 | msgstr "" 108 | 109 | #. module: base_report_designer 110 | #: help:base_report_designer.installer,plugin_file:0 111 | msgid "" 112 | "OpenObject Report Designer plug-in file. Save as this file and install this " 113 | "plug-in in OpenOffice." 114 | msgstr "" 115 | 116 | #. module: base_report_designer 117 | #: view:base.report.rml.save:0 118 | msgid "Save RML FIle" 119 | msgstr "" 120 | 121 | #. module: base_report_designer 122 | #: field:base.report.file.sxw,file_sxw:0 123 | #: field:base.report.file.sxw,file_sxw_upload:0 124 | msgid "Your .SXW file" 125 | msgstr "" 126 | 127 | #. module: base_report_designer 128 | #: view:base_report_designer.installer:0 129 | msgid "Installation and Configuration Steps" 130 | msgstr "" 131 | 132 | #. module: base_report_designer 133 | #: field:base_report_designer.installer,description:0 134 | msgid "Description" 135 | msgstr "" 136 | 137 | #. module: base_report_designer 138 | #: view:base.report.file.sxw:0 139 | msgid "" 140 | "This is the template of your requested report.\n" 141 | "Save it as a .SXW file and open it with OpenOffice.\n" 142 | "Don't forget to install the OpenERP SA OpenOffice package to modify it.\n" 143 | "Once it is modified, re-upload it in OpenERP using this wizard." 144 | msgstr "" 145 | 146 | #. module: base_report_designer 147 | #: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw 148 | msgid "Base Report sxw" 149 | msgstr "" 150 | 151 | #. module: base_report_designer 152 | #: model:ir.model,name:base_report_designer.model_base_report_file_sxw 153 | msgid "base.report.file.sxw" 154 | msgstr "" 155 | 156 | #. module: base_report_designer 157 | #: field:base_report_designer.installer,plugin_file:0 158 | msgid "OpenObject Report Designer Plug-in" 159 | msgstr "" 160 | 161 | #. module: base_report_designer 162 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_installer 163 | msgid "OpenERP Report Designer Installation" 164 | msgstr "" 165 | 166 | #. module: base_report_designer 167 | #: view:base.report.sxw:0 168 | msgid "Cancel" 169 | msgstr "" 170 | 171 | #. module: base_report_designer 172 | #: view:base.report.sxw:0 173 | msgid "or" 174 | msgstr "" 175 | 176 | #. module: base_report_designer 177 | #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml 178 | msgid "ir.actions.report.xml" 179 | msgstr "" 180 | 181 | #. module: base_report_designer 182 | #: view:base.report.sxw:0 183 | msgid "Select your report" 184 | msgstr "" 185 | -------------------------------------------------------------------------------- /base_report_designer/i18n/nl_BE.po: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * base_report_designer 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 5.0.0\n" 8 | "Report-Msgid-Bugs-To: support@openerp.com\n" 9 | "POT-Creation-Date: 2012-12-21 17:05+0000\n" 10 | "PO-Revision-Date: 2009-04-24 15:40+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "X-Launchpad-Export-Date: 2014-04-22 07:02+0000\n" 17 | "X-Generator: Launchpad (build 16985)\n" 18 | 19 | #. module: base_report_designer 20 | #: model:ir.model,name:base_report_designer.model_base_report_sxw 21 | msgid "base.report.sxw" 22 | msgstr "" 23 | 24 | #. module: base_report_designer 25 | #: view:base_report_designer.installer:0 26 | msgid "OpenERP Report Designer Configuration" 27 | msgstr "" 28 | 29 | #. module: base_report_designer 30 | #: view:base_report_designer.installer:0 31 | msgid "" 32 | "This plug-in allows you to create/modify OpenERP Reports into OpenOffice " 33 | "Writer." 34 | msgstr "" 35 | 36 | #. module: base_report_designer 37 | #: view:base.report.sxw:0 38 | msgid "Upload the modified report" 39 | msgstr "" 40 | 41 | #. module: base_report_designer 42 | #: view:base.report.file.sxw:0 43 | msgid "The .SXW report" 44 | msgstr "" 45 | 46 | #. module: base_report_designer 47 | #: model:ir.model,name:base_report_designer.model_base_report_designer_installer 48 | msgid "base_report_designer.installer" 49 | msgstr "" 50 | 51 | #. module: base_report_designer 52 | #: model:ir.model,name:base_report_designer.model_base_report_rml_save 53 | msgid "base.report.rml.save" 54 | msgstr "" 55 | 56 | #. module: base_report_designer 57 | #: view:base_report_designer.installer:0 58 | msgid "Configure" 59 | msgstr "" 60 | 61 | #. module: base_report_designer 62 | #: view:base_report_designer.installer:0 63 | msgid "title" 64 | msgstr "" 65 | 66 | #. module: base_report_designer 67 | #: field:base.report.file.sxw,report_id:0 68 | #: field:base.report.sxw,report_id:0 69 | msgid "Report" 70 | msgstr "" 71 | 72 | #. module: base_report_designer 73 | #: view:base.report.rml.save:0 74 | msgid "The RML Report" 75 | msgstr "" 76 | 77 | #. module: base_report_designer 78 | #: model:ir.ui.menu,name:base_report_designer.menu_action_report_designer_wizard 79 | msgid "Report Designer" 80 | msgstr "" 81 | 82 | #. module: base_report_designer 83 | #: field:base_report_designer.installer,name:0 84 | msgid "File name" 85 | msgstr "" 86 | 87 | #. module: base_report_designer 88 | #: view:base.report.file.sxw:0 89 | #: view:base.report.sxw:0 90 | msgid "Get a report" 91 | msgstr "" 92 | 93 | #. module: base_report_designer 94 | #: view:base_report_designer.installer:0 95 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_wizard 96 | msgid "OpenERP Report Designer" 97 | msgstr "" 98 | 99 | #. module: base_report_designer 100 | #: view:base.report.sxw:0 101 | msgid "Continue" 102 | msgstr "" 103 | 104 | #. module: base_report_designer 105 | #: field:base.report.rml.save,file_rml:0 106 | msgid "Save As" 107 | msgstr "" 108 | 109 | #. module: base_report_designer 110 | #: help:base_report_designer.installer,plugin_file:0 111 | msgid "" 112 | "OpenObject Report Designer plug-in file. Save as this file and install this " 113 | "plug-in in OpenOffice." 114 | msgstr "" 115 | 116 | #. module: base_report_designer 117 | #: view:base.report.rml.save:0 118 | msgid "Save RML FIle" 119 | msgstr "" 120 | 121 | #. module: base_report_designer 122 | #: field:base.report.file.sxw,file_sxw:0 123 | #: field:base.report.file.sxw,file_sxw_upload:0 124 | msgid "Your .SXW file" 125 | msgstr "" 126 | 127 | #. module: base_report_designer 128 | #: view:base_report_designer.installer:0 129 | msgid "Installation and Configuration Steps" 130 | msgstr "" 131 | 132 | #. module: base_report_designer 133 | #: field:base_report_designer.installer,description:0 134 | msgid "Description" 135 | msgstr "" 136 | 137 | #. module: base_report_designer 138 | #: view:base.report.file.sxw:0 139 | msgid "" 140 | "This is the template of your requested report.\n" 141 | "Save it as a .SXW file and open it with OpenOffice.\n" 142 | "Don't forget to install the OpenERP SA OpenOffice package to modify it.\n" 143 | "Once it is modified, re-upload it in OpenERP using this wizard." 144 | msgstr "" 145 | 146 | #. module: base_report_designer 147 | #: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw 148 | msgid "Base Report sxw" 149 | msgstr "" 150 | 151 | #. module: base_report_designer 152 | #: model:ir.model,name:base_report_designer.model_base_report_file_sxw 153 | msgid "base.report.file.sxw" 154 | msgstr "" 155 | 156 | #. module: base_report_designer 157 | #: field:base_report_designer.installer,plugin_file:0 158 | msgid "OpenObject Report Designer Plug-in" 159 | msgstr "" 160 | 161 | #. module: base_report_designer 162 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_installer 163 | msgid "OpenERP Report Designer Installation" 164 | msgstr "" 165 | 166 | #. module: base_report_designer 167 | #: view:base.report.sxw:0 168 | msgid "Cancel" 169 | msgstr "" 170 | 171 | #. module: base_report_designer 172 | #: view:base.report.sxw:0 173 | msgid "or" 174 | msgstr "" 175 | 176 | #. module: base_report_designer 177 | #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml 178 | msgid "ir.actions.report.xml" 179 | msgstr "" 180 | 181 | #. module: base_report_designer 182 | #: view:base.report.sxw:0 183 | msgid "Select your report" 184 | msgstr "" 185 | -------------------------------------------------------------------------------- /base_report_designer/i18n/tlh.po: -------------------------------------------------------------------------------- 1 | # Translation of OpenERP Server. 2 | # This file contains the translation of the following modules: 3 | # * base_report_designer 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: OpenERP Server 6.0dev_rc3\n" 8 | "Report-Msgid-Bugs-To: support@openerp.com\n" 9 | "POT-Creation-Date: 2012-12-21 17:05+0000\n" 10 | "PO-Revision-Date: 2009-02-03 06:26+0000\n" 11 | "Last-Translator: <>\n" 12 | "Language-Team: \n" 13 | "MIME-Version: 1.0\n" 14 | "Content-Type: text/plain; charset=UTF-8\n" 15 | "Content-Transfer-Encoding: 8bit\n" 16 | "X-Launchpad-Export-Date: 2014-04-22 07:02+0000\n" 17 | "X-Generator: Launchpad (build 16985)\n" 18 | 19 | #. module: base_report_designer 20 | #: model:ir.model,name:base_report_designer.model_base_report_sxw 21 | msgid "base.report.sxw" 22 | msgstr "" 23 | 24 | #. module: base_report_designer 25 | #: view:base_report_designer.installer:0 26 | msgid "OpenERP Report Designer Configuration" 27 | msgstr "" 28 | 29 | #. module: base_report_designer 30 | #: view:base_report_designer.installer:0 31 | msgid "" 32 | "This plug-in allows you to create/modify OpenERP Reports into OpenOffice " 33 | "Writer." 34 | msgstr "" 35 | 36 | #. module: base_report_designer 37 | #: view:base.report.sxw:0 38 | msgid "Upload the modified report" 39 | msgstr "" 40 | 41 | #. module: base_report_designer 42 | #: view:base.report.file.sxw:0 43 | msgid "The .SXW report" 44 | msgstr "" 45 | 46 | #. module: base_report_designer 47 | #: model:ir.model,name:base_report_designer.model_base_report_designer_installer 48 | msgid "base_report_designer.installer" 49 | msgstr "" 50 | 51 | #. module: base_report_designer 52 | #: model:ir.model,name:base_report_designer.model_base_report_rml_save 53 | msgid "base.report.rml.save" 54 | msgstr "" 55 | 56 | #. module: base_report_designer 57 | #: view:base_report_designer.installer:0 58 | msgid "Configure" 59 | msgstr "" 60 | 61 | #. module: base_report_designer 62 | #: view:base_report_designer.installer:0 63 | msgid "title" 64 | msgstr "" 65 | 66 | #. module: base_report_designer 67 | #: field:base.report.file.sxw,report_id:0 68 | #: field:base.report.sxw,report_id:0 69 | msgid "Report" 70 | msgstr "" 71 | 72 | #. module: base_report_designer 73 | #: view:base.report.rml.save:0 74 | msgid "The RML Report" 75 | msgstr "" 76 | 77 | #. module: base_report_designer 78 | #: model:ir.ui.menu,name:base_report_designer.menu_action_report_designer_wizard 79 | msgid "Report Designer" 80 | msgstr "" 81 | 82 | #. module: base_report_designer 83 | #: field:base_report_designer.installer,name:0 84 | msgid "File name" 85 | msgstr "" 86 | 87 | #. module: base_report_designer 88 | #: view:base.report.file.sxw:0 89 | #: view:base.report.sxw:0 90 | msgid "Get a report" 91 | msgstr "" 92 | 93 | #. module: base_report_designer 94 | #: view:base_report_designer.installer:0 95 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_wizard 96 | msgid "OpenERP Report Designer" 97 | msgstr "" 98 | 99 | #. module: base_report_designer 100 | #: view:base.report.sxw:0 101 | msgid "Continue" 102 | msgstr "" 103 | 104 | #. module: base_report_designer 105 | #: field:base.report.rml.save,file_rml:0 106 | msgid "Save As" 107 | msgstr "" 108 | 109 | #. module: base_report_designer 110 | #: help:base_report_designer.installer,plugin_file:0 111 | msgid "" 112 | "OpenObject Report Designer plug-in file. Save as this file and install this " 113 | "plug-in in OpenOffice." 114 | msgstr "" 115 | 116 | #. module: base_report_designer 117 | #: view:base.report.rml.save:0 118 | msgid "Save RML FIle" 119 | msgstr "" 120 | 121 | #. module: base_report_designer 122 | #: field:base.report.file.sxw,file_sxw:0 123 | #: field:base.report.file.sxw,file_sxw_upload:0 124 | msgid "Your .SXW file" 125 | msgstr "" 126 | 127 | #. module: base_report_designer 128 | #: view:base_report_designer.installer:0 129 | msgid "Installation and Configuration Steps" 130 | msgstr "" 131 | 132 | #. module: base_report_designer 133 | #: field:base_report_designer.installer,description:0 134 | msgid "Description" 135 | msgstr "" 136 | 137 | #. module: base_report_designer 138 | #: view:base.report.file.sxw:0 139 | msgid "" 140 | "This is the template of your requested report.\n" 141 | "Save it as a .SXW file and open it with OpenOffice.\n" 142 | "Don't forget to install the OpenERP SA OpenOffice package to modify it.\n" 143 | "Once it is modified, re-upload it in OpenERP using this wizard." 144 | msgstr "" 145 | 146 | #. module: base_report_designer 147 | #: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw 148 | msgid "Base Report sxw" 149 | msgstr "" 150 | 151 | #. module: base_report_designer 152 | #: model:ir.model,name:base_report_designer.model_base_report_file_sxw 153 | msgid "base.report.file.sxw" 154 | msgstr "" 155 | 156 | #. module: base_report_designer 157 | #: field:base_report_designer.installer,plugin_file:0 158 | msgid "OpenObject Report Designer Plug-in" 159 | msgstr "" 160 | 161 | #. module: base_report_designer 162 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_installer 163 | msgid "OpenERP Report Designer Installation" 164 | msgstr "" 165 | 166 | #. module: base_report_designer 167 | #: view:base.report.sxw:0 168 | msgid "Cancel" 169 | msgstr "" 170 | 171 | #. module: base_report_designer 172 | #: view:base.report.sxw:0 173 | msgid "or" 174 | msgstr "" 175 | 176 | #. module: base_report_designer 177 | #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml 178 | msgid "ir.actions.report.xml" 179 | msgstr "" 180 | 181 | #. module: base_report_designer 182 | #: view:base.report.sxw:0 183 | msgid "Select your report" 184 | msgstr "" 185 | -------------------------------------------------------------------------------- /biwizard/models/o2m.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | x_models_ids 6 | Models 7 | 8 | x_biwizard.cubes 9 | one2many 10 | x_biwizard.cubesmodel 11 | x_cube_id 12 | manual 13 | 14 | 15 | x_links_ids 16 | Links 17 | 18 | x_biwizard.cubes 19 | one2many 20 | x_biwizard.cubeslinks 21 | x_cube_id 22 | manual 23 | 24 | 25 | x_fields_ids 26 | Fields 27 | 28 | x_biwizard.cubes 29 | one2many 30 | x_biwizard.cubesfields 31 | x_cube_id 32 | manual 33 | 34 | 35 | x_computedfields_ids 36 | Computed fields 37 | 38 | x_biwizard.cubes 39 | one2many 40 | x_biwizard.cubescomputedfields 41 | x_cube_id 42 | manual 43 | 44 | 45 | x_rule_ids 46 | Record rules 47 | 48 | x_biwizard.cubes 49 | one2many 50 | x_biwizard.cubesrule 51 | x_cube_id 52 | manual 53 | 54 | 55 | x_filter_ids 56 | Filters 57 | 58 | x_biwizard.cubes 59 | one2many 60 | x_biwizard.cubesfilters 61 | x_cube_id 62 | manual 63 | 64 | 65 | 66 | 67 | x_cubemodel_link_ids 68 | Cube model links 69 | 70 | x_biwizard.cubesmodel 71 | one2many 72 | x_biwizard.cubeslinks 73 | x_cubemodel1_id 74 | manual 75 | 76 | 77 | x_cubemodel_link_to_ids 78 | Cube model links 79 | 80 | x_biwizard.cubesmodel 81 | one2many 82 | x_biwizard.cubeslinks 83 | x_cubemodel2_id 84 | manual 85 | 86 | 87 | x_cubemodel_field_ids 88 | Fields 89 | 90 | x_biwizard.cubesmodel 91 | one2many 92 | x_biwizard.cubesfields 93 | x_cubemodel_id 94 | manual 95 | 96 | 97 | 98 | 99 | x_cubemodel_ids 100 | Cube model 101 | 102 | ir.model 103 | one2many 104 | x_biwizard.cubesmodel 105 | x_model_id 106 | manual 107 | 108 | 109 | 110 | 111 | x_rule_ids 112 | Record rules 113 | 114 | x_biwizard.cubeunion 115 | one2many 116 | x_biwizard.cubeunionrule 117 | x_cubeunion_id 118 | manual 119 | 120 | 121 | -------------------------------------------------------------------------------- /base_report_designer/i18n/da.po: -------------------------------------------------------------------------------- 1 | # Danish translation for openobject-addons 2 | # Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 3 | # This file is distributed under the same license as the openobject-addons package. 4 | # FIRST AUTHOR , 2012. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: openobject-addons\n" 9 | "Report-Msgid-Bugs-To: FULL NAME \n" 10 | "POT-Creation-Date: 2012-12-21 17:05+0000\n" 11 | "PO-Revision-Date: 2012-01-27 08:38+0000\n" 12 | "Last-Translator: FULL NAME \n" 13 | "Language-Team: Danish \n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "X-Launchpad-Export-Date: 2014-04-22 07:02+0000\n" 18 | "X-Generator: Launchpad (build 16985)\n" 19 | 20 | #. module: base_report_designer 21 | #: model:ir.model,name:base_report_designer.model_base_report_sxw 22 | msgid "base.report.sxw" 23 | msgstr "" 24 | 25 | #. module: base_report_designer 26 | #: view:base_report_designer.installer:0 27 | msgid "OpenERP Report Designer Configuration" 28 | msgstr "" 29 | 30 | #. module: base_report_designer 31 | #: view:base_report_designer.installer:0 32 | msgid "" 33 | "This plug-in allows you to create/modify OpenERP Reports into OpenOffice " 34 | "Writer." 35 | msgstr "" 36 | 37 | #. module: base_report_designer 38 | #: view:base.report.sxw:0 39 | msgid "Upload the modified report" 40 | msgstr "" 41 | 42 | #. module: base_report_designer 43 | #: view:base.report.file.sxw:0 44 | msgid "The .SXW report" 45 | msgstr "" 46 | 47 | #. module: base_report_designer 48 | #: model:ir.model,name:base_report_designer.model_base_report_designer_installer 49 | msgid "base_report_designer.installer" 50 | msgstr "" 51 | 52 | #. module: base_report_designer 53 | #: model:ir.model,name:base_report_designer.model_base_report_rml_save 54 | msgid "base.report.rml.save" 55 | msgstr "" 56 | 57 | #. module: base_report_designer 58 | #: view:base_report_designer.installer:0 59 | msgid "Configure" 60 | msgstr "" 61 | 62 | #. module: base_report_designer 63 | #: view:base_report_designer.installer:0 64 | msgid "title" 65 | msgstr "" 66 | 67 | #. module: base_report_designer 68 | #: field:base.report.file.sxw,report_id:0 69 | #: field:base.report.sxw,report_id:0 70 | msgid "Report" 71 | msgstr "" 72 | 73 | #. module: base_report_designer 74 | #: view:base.report.rml.save:0 75 | msgid "The RML Report" 76 | msgstr "" 77 | 78 | #. module: base_report_designer 79 | #: model:ir.ui.menu,name:base_report_designer.menu_action_report_designer_wizard 80 | msgid "Report Designer" 81 | msgstr "" 82 | 83 | #. module: base_report_designer 84 | #: field:base_report_designer.installer,name:0 85 | msgid "File name" 86 | msgstr "" 87 | 88 | #. module: base_report_designer 89 | #: view:base.report.file.sxw:0 90 | #: view:base.report.sxw:0 91 | msgid "Get a report" 92 | msgstr "" 93 | 94 | #. module: base_report_designer 95 | #: view:base_report_designer.installer:0 96 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_wizard 97 | msgid "OpenERP Report Designer" 98 | msgstr "" 99 | 100 | #. module: base_report_designer 101 | #: view:base.report.sxw:0 102 | msgid "Continue" 103 | msgstr "" 104 | 105 | #. module: base_report_designer 106 | #: field:base.report.rml.save,file_rml:0 107 | msgid "Save As" 108 | msgstr "" 109 | 110 | #. module: base_report_designer 111 | #: help:base_report_designer.installer,plugin_file:0 112 | msgid "" 113 | "OpenObject Report Designer plug-in file. Save as this file and install this " 114 | "plug-in in OpenOffice." 115 | msgstr "" 116 | 117 | #. module: base_report_designer 118 | #: view:base.report.rml.save:0 119 | msgid "Save RML FIle" 120 | msgstr "" 121 | 122 | #. module: base_report_designer 123 | #: field:base.report.file.sxw,file_sxw:0 124 | #: field:base.report.file.sxw,file_sxw_upload:0 125 | msgid "Your .SXW file" 126 | msgstr "" 127 | 128 | #. module: base_report_designer 129 | #: view:base_report_designer.installer:0 130 | msgid "Installation and Configuration Steps" 131 | msgstr "" 132 | 133 | #. module: base_report_designer 134 | #: field:base_report_designer.installer,description:0 135 | msgid "Description" 136 | msgstr "" 137 | 138 | #. module: base_report_designer 139 | #: view:base.report.file.sxw:0 140 | msgid "" 141 | "This is the template of your requested report.\n" 142 | "Save it as a .SXW file and open it with OpenOffice.\n" 143 | "Don't forget to install the OpenERP SA OpenOffice package to modify it.\n" 144 | "Once it is modified, re-upload it in OpenERP using this wizard." 145 | msgstr "" 146 | 147 | #. module: base_report_designer 148 | #: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw 149 | msgid "Base Report sxw" 150 | msgstr "" 151 | 152 | #. module: base_report_designer 153 | #: model:ir.model,name:base_report_designer.model_base_report_file_sxw 154 | msgid "base.report.file.sxw" 155 | msgstr "" 156 | 157 | #. module: base_report_designer 158 | #: field:base_report_designer.installer,plugin_file:0 159 | msgid "OpenObject Report Designer Plug-in" 160 | msgstr "" 161 | 162 | #. module: base_report_designer 163 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_installer 164 | msgid "OpenERP Report Designer Installation" 165 | msgstr "" 166 | 167 | #. module: base_report_designer 168 | #: view:base.report.sxw:0 169 | msgid "Cancel" 170 | msgstr "" 171 | 172 | #. module: base_report_designer 173 | #: view:base.report.sxw:0 174 | msgid "or" 175 | msgstr "" 176 | 177 | #. module: base_report_designer 178 | #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml 179 | msgid "ir.actions.report.xml" 180 | msgstr "" 181 | 182 | #. module: base_report_designer 183 | #: view:base.report.sxw:0 184 | msgid "Select your report" 185 | msgstr "" 186 | -------------------------------------------------------------------------------- /base_report_designer/i18n/fa.po: -------------------------------------------------------------------------------- 1 | # Persian translation for openobject-addons 2 | # Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 3 | # This file is distributed under the same license as the openobject-addons package. 4 | # FIRST AUTHOR , 2011. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: openobject-addons\n" 9 | "Report-Msgid-Bugs-To: FULL NAME \n" 10 | "POT-Creation-Date: 2012-12-21 17:05+0000\n" 11 | "PO-Revision-Date: 2011-12-19 09:45+0000\n" 12 | "Last-Translator: FULL NAME \n" 13 | "Language-Team: Persian \n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "X-Launchpad-Export-Date: 2014-04-22 07:02+0000\n" 18 | "X-Generator: Launchpad (build 16985)\n" 19 | 20 | #. module: base_report_designer 21 | #: model:ir.model,name:base_report_designer.model_base_report_sxw 22 | msgid "base.report.sxw" 23 | msgstr "" 24 | 25 | #. module: base_report_designer 26 | #: view:base_report_designer.installer:0 27 | msgid "OpenERP Report Designer Configuration" 28 | msgstr "" 29 | 30 | #. module: base_report_designer 31 | #: view:base_report_designer.installer:0 32 | msgid "" 33 | "This plug-in allows you to create/modify OpenERP Reports into OpenOffice " 34 | "Writer." 35 | msgstr "" 36 | 37 | #. module: base_report_designer 38 | #: view:base.report.sxw:0 39 | msgid "Upload the modified report" 40 | msgstr "" 41 | 42 | #. module: base_report_designer 43 | #: view:base.report.file.sxw:0 44 | msgid "The .SXW report" 45 | msgstr "" 46 | 47 | #. module: base_report_designer 48 | #: model:ir.model,name:base_report_designer.model_base_report_designer_installer 49 | msgid "base_report_designer.installer" 50 | msgstr "" 51 | 52 | #. module: base_report_designer 53 | #: model:ir.model,name:base_report_designer.model_base_report_rml_save 54 | msgid "base.report.rml.save" 55 | msgstr "" 56 | 57 | #. module: base_report_designer 58 | #: view:base_report_designer.installer:0 59 | msgid "Configure" 60 | msgstr "" 61 | 62 | #. module: base_report_designer 63 | #: view:base_report_designer.installer:0 64 | msgid "title" 65 | msgstr "" 66 | 67 | #. module: base_report_designer 68 | #: field:base.report.file.sxw,report_id:0 69 | #: field:base.report.sxw,report_id:0 70 | msgid "Report" 71 | msgstr "" 72 | 73 | #. module: base_report_designer 74 | #: view:base.report.rml.save:0 75 | msgid "The RML Report" 76 | msgstr "" 77 | 78 | #. module: base_report_designer 79 | #: model:ir.ui.menu,name:base_report_designer.menu_action_report_designer_wizard 80 | msgid "Report Designer" 81 | msgstr "" 82 | 83 | #. module: base_report_designer 84 | #: field:base_report_designer.installer,name:0 85 | msgid "File name" 86 | msgstr "" 87 | 88 | #. module: base_report_designer 89 | #: view:base.report.file.sxw:0 90 | #: view:base.report.sxw:0 91 | msgid "Get a report" 92 | msgstr "" 93 | 94 | #. module: base_report_designer 95 | #: view:base_report_designer.installer:0 96 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_wizard 97 | msgid "OpenERP Report Designer" 98 | msgstr "" 99 | 100 | #. module: base_report_designer 101 | #: view:base.report.sxw:0 102 | msgid "Continue" 103 | msgstr "" 104 | 105 | #. module: base_report_designer 106 | #: field:base.report.rml.save,file_rml:0 107 | msgid "Save As" 108 | msgstr "" 109 | 110 | #. module: base_report_designer 111 | #: help:base_report_designer.installer,plugin_file:0 112 | msgid "" 113 | "OpenObject Report Designer plug-in file. Save as this file and install this " 114 | "plug-in in OpenOffice." 115 | msgstr "" 116 | 117 | #. module: base_report_designer 118 | #: view:base.report.rml.save:0 119 | msgid "Save RML FIle" 120 | msgstr "" 121 | 122 | #. module: base_report_designer 123 | #: field:base.report.file.sxw,file_sxw:0 124 | #: field:base.report.file.sxw,file_sxw_upload:0 125 | msgid "Your .SXW file" 126 | msgstr "" 127 | 128 | #. module: base_report_designer 129 | #: view:base_report_designer.installer:0 130 | msgid "Installation and Configuration Steps" 131 | msgstr "" 132 | 133 | #. module: base_report_designer 134 | #: field:base_report_designer.installer,description:0 135 | msgid "Description" 136 | msgstr "" 137 | 138 | #. module: base_report_designer 139 | #: view:base.report.file.sxw:0 140 | msgid "" 141 | "This is the template of your requested report.\n" 142 | "Save it as a .SXW file and open it with OpenOffice.\n" 143 | "Don't forget to install the OpenERP SA OpenOffice package to modify it.\n" 144 | "Once it is modified, re-upload it in OpenERP using this wizard." 145 | msgstr "" 146 | 147 | #. module: base_report_designer 148 | #: model:ir.actions.act_window,name:base_report_designer.action_view_base_report_sxw 149 | msgid "Base Report sxw" 150 | msgstr "" 151 | 152 | #. module: base_report_designer 153 | #: model:ir.model,name:base_report_designer.model_base_report_file_sxw 154 | msgid "base.report.file.sxw" 155 | msgstr "" 156 | 157 | #. module: base_report_designer 158 | #: field:base_report_designer.installer,plugin_file:0 159 | msgid "OpenObject Report Designer Plug-in" 160 | msgstr "" 161 | 162 | #. module: base_report_designer 163 | #: model:ir.actions.act_window,name:base_report_designer.action_report_designer_installer 164 | msgid "OpenERP Report Designer Installation" 165 | msgstr "" 166 | 167 | #. module: base_report_designer 168 | #: view:base.report.sxw:0 169 | msgid "Cancel" 170 | msgstr "" 171 | 172 | #. module: base_report_designer 173 | #: view:base.report.sxw:0 174 | msgid "or" 175 | msgstr "" 176 | 177 | #. module: base_report_designer 178 | #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml 179 | msgid "ir.actions.report.xml" 180 | msgstr "" 181 | 182 | #. module: base_report_designer 183 | #: view:base.report.sxw:0 184 | msgid "Select your report" 185 | msgstr "" 186 | --------------------------------------------------------------------------------
Create your first cube
Create your first cube union
Wrong input. please enter valid image URL