Atik Agewan(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-hr-recruitment-yml-aag into
lp:openobject-addons.
Requested reviews:
Ujjvala Collins (OpenERP) (uco-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-hr-recruitment-yml-aag/+merge/85316
Hello,
Hr_recruitment: Improve some Test cases.
Thanks,
Atik
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-hr-recruitment-yml-aag/+merge/85316
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-hr-recruitment-yml-aag.
=== modified file 'account/__openerp__.py'
=== modified file 'account/account.py'
--- account/account.py 2011-12-11 09:14:42 +0000
+++ account/account.py 2011-12-12 11:30:09 +0000
@@ -3485,7 +3485,25 @@
default_account_id = obj_acc.create(cr, uid, vals, context=context)
#create the bank journal
+<<<<<<< TREE
vals_journal = self._prepare_bank_journal(cr, uid, line, current_num, default_account_id, company_id, context=context)
+=======
+ vals_journal = {
+ 'name': vals['name'],
+ 'code': _('BNK') + str(current_num),
+ 'type': line.account_type == 'cash' and 'cash' or 'bank',
+ 'company_id': company_id,
+ 'analytic_journal_id': False,
+ 'currency': False,
+ }
+ if line.currency_id:
+ vals_journal['view_id'] = view_id_cur
+ vals_journal['currency'] = line.currency_id.id
+ else:
+ vals_journal['view_id'] = view_id_cash
+ vals_journal['default_credit_account_id'] = acc_cash_id
+ vals_journal['default_debit_account_id'] = acc_cash_id
+>>>>>>> MERGE-SOURCE
obj_journal.create(cr, uid, vals_journal)
current_num += 1
return True
=== modified file 'account/account_bank_statement.py'
--- account/account_bank_statement.py 2011-12-11 10:18:45 +0000
+++ account/account_bank_statement.py 2011-12-12 11:30:09 +0000
@@ -34,6 +34,11 @@
for line in vals['line_ids']:
seq += 1
line[2]['sequence'] = seq
+<<<<<<< TREE
+=======
+ new_line_ids += tuple(line)
+ vals['line_ids'] = new_line_ids
+>>>>>>> MERGE-SOURCE
return super(account_bank_statement, self).create(cr, uid, vals, context=context)
def write(self, cr, uid, ids, vals, context=None):
=== modified file 'account/account_view.xml'
=== modified file 'account_analytic_analysis/__openerp__.py'
--- account_analytic_analysis/__openerp__.py 2011-12-11 21:25:10 +0000
+++ account_analytic_analysis/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -46,6 +46,7 @@
],
'demo_xml' : [],
'installable': True,
+ 'application': True,
'active' : False,
'certificate': '0042927202589',
}
=== modified file 'association/__openerp__.py'
--- association/__openerp__.py 2011-12-11 21:25:10 +0000
+++ association/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -37,6 +37,7 @@
'demo_xml': [],
'installable': True,
'active': False,
+ 'application': True,
'certificate': '0078696047261',
'images': ['images/association1.jpeg'],
}
=== modified file 'crm/board_crm_view.xml'
--- crm/board_crm_view.xml 2011-12-11 11:28:50 +0000
+++ crm/board_crm_view.xml 2011-12-12 11:30:09 +0000
@@ -101,8 +101,16 @@
<form string="Sales Dashboard">
<board style="2-1">
<column>
+<<<<<<< TREE
<action string="My Opportunities"
name="%(act_my_oppor)d" creatable="true"/>
+=======
+ <action string="My Open Opportunities"
+ name="%(act_my_oppor)d" creatable="true"/>
+ <action
+ string="My Meetings"
+ name="%(act_my_meetings)d" creatable="true"/>
+>>>>>>> MERGE-SOURCE
</column>
<column>
<action string="My Planned Revenues by Stage"
=== modified file 'crm/crm_lead.py'
=== modified file 'crm/crm_lead_menu.xml'
=== modified file 'crm/crm_meeting_view.xml'
--- crm/crm_meeting_view.xml 2011-12-11 20:12:37 +0000
+++ crm/crm_meeting_view.xml 2011-12-12 11:30:09 +0000
@@ -280,6 +280,7 @@
<field name="arch" type="xml">
<search string="Search Meetings">
<group>
+<<<<<<< TREE
<field name="name" string="Meeting / Partner"
filter_domain="['|', ('name','ilike',self), ('partner_id','ilike', self)]"/>
<field name="user_id" groups="base.group_extended">
@@ -288,6 +289,16 @@
help="My Meetings" />
</field>
<field name="section_id" widget="selection" groups="base.group_extended">
+=======
+ <field name="name" string="Meeting / Partner"
+ domain="[('name','ilike',self), ('partner_id','ilike', self)]"/>
+ <field name="user_id" groups="base.group_extended">
+ <filter icon="terp-personal" groups="base.group_extended"
+ domain="[('user_id','=',uid)]"
+ help="My Meetings" />
+ </field>
+ <field name="section_id" widget="selection" groups="base.group_extended">
+>>>>>>> MERGE-SOURCE
<filter icon="terp-personal+" groups="base.group_extended"
domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sales Team(s)" />
=== modified file 'crm/wizard/crm_opportunity_to_phonecall.py'
=== modified file 'crm_claim/__openerp__.py'
--- crm_claim/__openerp__.py 2011-12-11 21:25:10 +0000
+++ crm_claim/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -52,6 +52,7 @@
'test/ui/claim_demo.yml'
],
'installable': True,
+ 'application': True,
'active': False,
'certificate' : '00612027414703404749',
'images': ['images/claim_categories.jpeg','images/claim_stages.jpeg','images/claims.jpeg'],
=== modified file 'crm_fundraising/__openerp__.py'
--- crm_fundraising/__openerp__.py 2011-12-11 21:25:10 +0000
+++ crm_fundraising/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -53,6 +53,7 @@
],
'test': ['test/process/fund-rising.yml'],
'installable': True,
+ 'application': True,
'active': False,
'certificate' : '00871545204231528989',
'images': ['images/fundraising_analysis.jpeg','images/fundraising_categories.jpeg','images/funds.jpeg'],
=== modified file 'crm_helpdesk/__openerp__.py'
--- crm_helpdesk/__openerp__.py 2011-12-11 21:25:10 +0000
+++ crm_helpdesk/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -51,6 +51,7 @@
],
'test': ['test/process/help-desk.yml'],
'installable': True,
+ 'application': True,
'active': False,
'certificate' : '00830691522781519309',
'images': ['images/helpdesk_analysis.jpeg','images/helpdesk_categories.jpeg','images/helpdesk_requests.jpeg'],
=== modified file 'document/document.py'
=== modified file 'document_ftp/__openerp__.py'
--- document_ftp/__openerp__.py 2011-12-11 21:25:10 +0000
+++ document_ftp/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -49,6 +49,7 @@
],
'installable': True,
'active': False,
+ 'application': True,
'certificate': '00934787762705016005',
'images': ['images/1_configure_ftp.jpeg','images/2_document_browse.jpeg','images/3_document_ftp.jpeg'],
'post_load': 'post_load',
=== modified file 'event/__openerp__.py'
--- event/__openerp__.py 2011-12-11 21:25:10 +0000
+++ event/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -56,6 +56,7 @@
'demo_xml': ['event_demo.xml'],
'test': ['test/test_event.yml'],
'installable': True,
+ 'application': True,
'active': False,
'certificate': '0083059161581',
'images': ['images/1_event_type_list.jpeg','images/2_events.jpeg','images/3_registrations.jpeg'],
=== modified file 'google_base_account/__openerp__.py'
=== modified file 'hr_evaluation/board_hr_evaluation_view.xml'
--- hr_evaluation/board_hr_evaluation_view.xml 2011-12-11 20:12:37 +0000
+++ hr_evaluation/board_hr_evaluation_view.xml 2011-12-12 11:30:09 +0000
@@ -1,9 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
+<<<<<<< TREE
<record model="ir.actions.act_window" id="action_hr_evaluation_interview_board">
<field name="name">Interview Requests</field>
<field name="res_model">hr.evaluation.interview</field>
+=======
+ <record id="act_hr_evaluation_tree" model="ir.actions.act_window">
+ <field name="name">My Appraisal Remaining</field>
+ <field name="type">ir.actions.act_window</field>
+ <field name="res_model">hr_evaluation.evaluation</field>
+>>>>>>> MERGE-SOURCE
<field name="view_type">form</field>
<field name="view_id" eval="False"/>
<field name="domain">[('is_evaluation' ,'=', True), ('user_id', '=', uid),('state','=','waiting_answer')]</field>
@@ -16,8 +23,13 @@
<field name="inherit_id" ref="hr.board_hr_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
+<<<<<<< TREE
<xpath expr="/form/board/column[1]" position="inside">
<action name="%(action_hr_evaluation_interview_board)d" string="Interview Requests"/>
+=======
+ <xpath expr="/form/board/column[1]" position="inside">
+ <action name="%(act_hr_evaluation_tree)d" string="My Appraisal Remaining"/>
+>>>>>>> MERGE-SOURCE
</xpath>
</field>
</record>
=== modified file 'hr_holidays/hr_holidays_view.xml'
=== modified file 'hr_recruitment/hr_recruitment.py'
--- hr_recruitment/hr_recruitment.py 2011-12-12 09:18:08 +0000
+++ hr_recruitment/hr_recruitment.py 2011-12-12 11:30:09 +0000
@@ -183,7 +183,7 @@
'color': fields.integer('Color Index'),
'user_email': fields.related('user_id', 'user_email', type='char', string='User Email', readonly=True),
}
-
+ # Dead Code
def _get_stage(self, cr, uid, context=None):
ids = self.pool.get('hr.recruitment.stage').search(cr, uid, [], context=context)
return ids and ids[0] or False
@@ -365,7 +365,12 @@
self.write(cr, uid, [res_id], vals, context)
return res_id
+<<<<<<< TREE
def message_update(self, cr, uid, ids, msg, vals=None, default_act='pending', context=None):
+=======
+ # Dead Code
+ def message_update(self, cr, uid, ids, msg, vals={}, default_act='pending', context=None):
+>>>>>>> MERGE-SOURCE
if isinstance(ids, (str, int, long)):
ids = [ids]
if vals is None:
=== modified file 'hr_recruitment/test/recruitment_process.yml'
--- hr_recruitment/test/recruitment_process.yml 2011-11-28 06:33:18 +0000
+++ hr_recruitment/test/recruitment_process.yml 2011-12-12 11:30:09 +0000
@@ -1,3 +1,4 @@
+<<<<<<< TREE
-
In Order to test process of Recruitment,
-
@@ -65,3 +66,130 @@
-
!assert {model: hr.applicant, id: hr_case_programmer}:
- state == 'done'
+=======
+-
+ In Order to test process of Recruitment,
+-
+ Applicant interested in job position. so He send resume by email.
+-
+ !python {model: mail.thread}: |
+ import addons
+ request_file = open(addons.get_module_resource('hr_recruitment','test', 'resume.eml'),'rb')
+ request_message = request_file.read()
+ self.message_process(cr, uid, 'hr.applicant', request_message)
+-
+ After getting the mail, I check details of new applicant.
+-
+ !python {model: hr.applicant}: |
+ applicant_ids = self.search(cr, uid, [('email_from','=', 'Mr. Richard Anderson <[email protected]>')])
+ assert applicant_ids, "Applicant is not created after getting the mail"
+ applicant = self.browse(cr, uid, applicant_ids[0], context=context)
+ resume_ids = self.pool.get('ir.attachment').search(cr, uid, [('datas_fname','=','resume.doc'),('res_model','=',self._name),('res_id','=',applicant.id)])
+ assert applicant.name == "Application for the post of Jr.application Programmer.", "Subject does not match"
+ assert applicant.state == "draft"
+ assert len(resume_ids), "Resume does not attached."
+-
+ I Refuse applicant for the Recruitment.
+-
+ !python {model: hr.applicant}: |
+ self.case_close(cr, uid, [ref("hr_case_programmer")])
+-
+ I open applicant for the Recruitment.
+-
+ !python {model: hr.applicant}: |
+ self.case_reset(cr, uid, [ref("hr_case_programmer")])
+ self.case_open(cr, uid, [ref("hr_case_programmer")])
+-
+ I assign the Job position to the applicant
+-
+ !python {model: hr.applicant}: |
+ context.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")})
+ self.write(cr, uid, [ref('hr_case_programmer')], {'job_id':ref('hr.job_jr_appli')})
+-
+ I start communication with applicant, first schedule phonecall.
+-
+ !record {model: hr.recruitment.job2phonecall, id: hr_recruitment_job2phonecall_id1 }:
+-
+ !python {model: hr.recruitment.job2phonecall}: |
+ context.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")})
+ self.make_phonecall(cr, uid, [ref('hr_recruitment_job2phonecall_id1')], context=context)
+-
+ I schedule meeting with applicant for interview.
+-
+ !python {model: hr.applicant}: |
+ self.action_makeMeeting(cr, uid, [ref('hr_case_programmer')])
+-
+ I check Initial Qualification of applicant.
+-
+ !python {model: hr.applicant}: |
+ self.stage_next(cr, uid, [ref('hr_case_programmer')])
+-
+ I schedule First Interview of applicant.
+-
+ !python {model: hr.applicant}: |
+ self.stage_next(cr, uid, [ref('hr_case_programmer')])
+-
+ On a successful First Interview of applicant, I schedule Second Interview.
+-
+ !python {model: hr.applicant}: |
+ self.stage_next(cr, uid, [ref('hr_case_programmer')])
+-
+ Applicant fillup the answer of the interview quetion.
+-
+ !python {model: survey.question.wiz}: |
+ ctx = context.copy()
+ ctx.update({'active_model': 'hr.applicant', 'active_id': ref("hr_case_programmer"), 'active_ids': [ref("hr_case_programmer")], 'survey_id': ref("survey_job_0")})
+ self.fields_view_get(cr, uid, ref("survey.view_survey_question_message"),"form", context=ctx)
+ vals = self.default_get(cr, uid , [], context=ctx)
+ self.create(cr, uid, vals, context=ctx)
+ self.action_new_page(cr, uid, [ref("survey_job_0")], context=ctx)
+-
+ I print Applicant fill up the interview quetion
+-
+ !python {model: hr.applicant}: |
+ self.action_print_survey(cr, uid, [ref('hr_case_programmer')])
+-
+ On a successful Second Interview of applicant Contract is Proposed to applicant.
+-
+ !python {model: hr.applicant}: |
+ self.stage_next(cr, uid, [ref('hr_case_programmer')])
+ self.stage_previous(cr, uid, [ref('hr_case_programmer')])
+-
+ I Hired Applicant.
+-
+ !python {model: hr.applicant}: |
+ self.case_close_with_emp(cr, uid, [ref('hr_case_programmer')])
+ context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")})
+-
+ I check that applicant is "Hired".
+-
+ !assert {model: hr.applicant, id: hr_case_programmer}:
+ - state == 'done'
+-
+ I Not give Employeement to Hired Aplicant till.
+-
+ !python {model: hired.employee}: |
+ context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")})
+ emp_id = self.create(cr, uid, {}, context=context)
+ self.case_close(cr, uid, [emp_id], context=context)
+-
+ Now I give Employeement to Hired Applicant .
+-
+ !python {model: hr.applicant}: |
+ self.case_reset(cr, uid, [ref("hr_case_programmer")])
+ self.case_open(cr, uid, [ref("hr_case_programmer")])
+ context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")})
+-
+ !python {model: hired.employee}: |
+ context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")})
+ emp_hr_id = self.create(cr, uid, {}, context=context)
+ self.case_close_with_emp(cr, uid, [emp_hr_id], context=context)
+-
+ Now Hired Employee want to be a Partner of Company.
+-
+ !record {model: hr.recruitment.partner.create, id: hr_recruitment_partner_id1 }:
+-
+ !python {model: hr.recruitment.partner.create}: |
+ context.update({'active_model': 'hr.applicant', 'active_ids': [ref("hr_recruitment.hr_case_programmer")], 'active_id': ref("hr_recruitment.hr_case_programmer")})
+ self.make_order(cr, uid, [ref("hr_recruitment_partner_id1")], context=context)
+>>>>>>> MERGE-SOURCE
=== modified file 'idea/__openerp__.py'
--- idea/__openerp__.py 2011-12-11 21:25:10 +0000
+++ idea/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -53,6 +53,7 @@
'test/test_idea.yml'
],
'installable': True,
+ 'application': True,
'certificate': '0071515601309',
'images': ['images/1_ideas.jpeg','images/2_idea_categories.jpeg','images/3_vote_idea.jpeg'],
}
=== modified file 'lunch/__openerp__.py'
--- lunch/__openerp__.py 2011-12-11 21:25:10 +0000
+++ lunch/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -55,6 +55,7 @@
"demo_xml": ['lunch_demo.xml'],
"test": ['test/test_lunch.yml', 'test/lunch_report.yml'],
"installable": True,
+ 'application': True,
"certificate" : "001292377792581874189",
'images': ['images/cash_moves.jpeg','images/lunch_orders.jpeg','images/products.jpeg'],
}
=== modified file 'marketing_campaign/__openerp__.py'
--- marketing_campaign/__openerp__.py 2011-12-11 21:25:10 +0000
+++ marketing_campaign/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -60,6 +60,7 @@
'demo_xml': [
],
'installable': True,
+ 'application': True,
'active': False,
'certificate' : '00421723279617928365',
'images': ['images/campaign.png', 'images/campaigns.jpeg','images/email_account.jpeg','images/email_templates.jpeg','images/segments.jpeg'],
=== modified file 'mrp/__openerp__.py'
=== modified file 'mrp/board_manufacturing_view.xml'
--- mrp/board_manufacturing_view.xml 2011-12-11 11:33:45 +0000
+++ mrp/board_manufacturing_view.xml 2011-12-12 11:30:09 +0000
@@ -9,6 +9,10 @@
<form string="Manufacturing board">
<board style="2-1">
<column>
+<<<<<<< TREE
+=======
+ <action name="%(mrp.mrp_production_action2)d" string="Next Production Orders" creatable="true"/>
+>>>>>>> MERGE-SOURCE
<action name="%(procurement.procurement_exceptions)d" string="Procurements in Exception" domain="[('state','=','exception')]"/>
<action name="%(mrp.mrp_production_action2)d" string="Next Production Orders" creatable="true"/>
</column>
=== modified file 'mrp_repair/__openerp__.py'
--- mrp_repair/__openerp__.py 2011-12-11 21:25:10 +0000
+++ mrp_repair/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -51,6 +51,7 @@
'demo_xml': [],
'test': ['test/test_mrp_repair.yml', 'test/mrp_repair_report.yml','test/mrp_repair_cancel.yml'],
'installable': True,
+ 'application': True,
'active': False,
'certificate': '0060814381277',
}
=== modified file 'point_of_sale/__openerp__.py'
=== modified file 'point_of_sale/point_of_sale.py'
=== modified file 'point_of_sale/point_of_sale_view.xml'
=== modified file 'portal/__openerp__.py'
=== modified file 'project/board_project_view.xml'
=== modified file 'project/report/project_report_view.xml'
=== modified file 'project_long_term/__openerp__.py'
--- project_long_term/__openerp__.py 2011-12-12 09:29:56 +0000
+++ project_long_term/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -53,6 +53,7 @@
"wizard/project_compute_tasks_view.xml",
],
'installable': True,
+ 'application': True,
'active': False,
'certificate': '001227470751077315069',
}
=== modified file 'project_scrum/i18n/hr.po'
--- project_scrum/i18n/hr.po 2011-12-10 04:56:36 +0000
+++ project_scrum/i18n/hr.po 2011-12-12 11:30:09 +0000
@@ -7,14 +7,24 @@
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: [email protected]\n"
"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+<<<<<<< TREE
"PO-Revision-Date: 2011-12-09 14:20+0000\n"
"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+=======
+"PO-Revision-Date: 2011-12-08 17:01+0000\n"
+"Last-Translator: Tomislav Bosnjakovic <Unknown>\n"
+>>>>>>> MERGE-SOURCE
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+<<<<<<< TREE
"X-Launchpad-Export-Date: 2011-12-10 04:56+0000\n"
"X-Generator: Launchpad (build 14450)\n"
+=======
+"X-Launchpad-Export-Date: 2011-12-09 04:45+0000\n"
+"X-Generator: Launchpad (build 14450)\n"
+>>>>>>> MERGE-SOURCE
#. module: project_scrum
#: help:project.scrum.email,scrum_master_email:0
=== modified file 'sale/sale.py'
=== modified file 'sale/sale_view.xml'
=== modified file 'stock/board_warehouse_view.xml'
--- stock/board_warehouse_view.xml 2011-12-11 21:14:01 +0000
+++ stock/board_warehouse_view.xml 2011-12-12 11:30:09 +0000
@@ -52,8 +52,13 @@
</column>
<column>
+<<<<<<< TREE
<action name="%(action_stock_incoming_product_delay)d" string="Incoming Products" creatable="true"/>
<action name="%(action_stock_outgoing_product_delay)d" string="Outgoing Products" creatable="true"/>
+=======
+ <action name="%(action_stock_incoming_product_delay)d" string="Incoming Products Delay" creatable="true"/>
+ <action name="%(action_stock_outgoing_product_delay)d" string="Outgoing Products Delay" creatable="true"/>
+>>>>>>> MERGE-SOURCE
</column>
</board>
</form>
=== modified file 'stock/i18n/id.po'
--- stock/i18n/id.po 2011-12-10 04:56:36 +0000
+++ stock/i18n/id.po 2011-12-12 11:30:09 +0000
@@ -2506,7 +2506,7 @@
#. module: stock
#: view:stock.picking:0
-msgid "Internal Picking list"
+msgid "Internal Picking List"
msgstr "Daftar pengambilan internal"
#. module: stock
=== modified file 'stock/product_view.xml'
=== modified file 'survey/__openerp__.py'
--- survey/__openerp__.py 2011-12-11 21:25:10 +0000
+++ survey/__openerp__.py 2011-12-12 11:30:09 +0000
@@ -52,6 +52,7 @@
'test/survey_report.yml',
],
'installable': True,
+ 'application': True,
'active': False,
'certificate' : '001131639736864143245',
'images': ['images/survey_answers.jpeg','images/survey_pages.jpeg','images/surveys.jpeg'],
=== modified file 'web_livechat/publisher_warranty.py'
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp