[MRG] merge with lp:openobject-addons
authorTurkesh Patel (Open ERP) <tpa@tinyerp.com>
Tue, 22 Oct 2013 06:47:25 +0000 (12:17 +0530)
committerTurkesh Patel (Open ERP) <tpa@tinyerp.com>
Tue, 22 Oct 2013 06:47:25 +0000 (12:17 +0530)
bzr revid: tpa@tinyerp.com-20131022064725-jxjl9fnn38mzdptg

1  2 
addons/contacts/i18n/ja.po
addons/hr/hr_view.xml
addons/mail/mail_thread.py

index 0000000,20c7967..bffe561
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,37 +1,37 @@@
+ # Japanese translation for openobject-addons
+ # Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013
+ # This file is distributed under the same license as the openobject-addons package.
+ # FIRST AUTHOR <EMAIL@ADDRESS>, 2013.
+ #
+ msgid ""
+ msgstr ""
+ "Project-Id-Version: openobject-addons\n"
+ "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+ "POT-Creation-Date: 2012-12-21 17:05+0000\n"
+ "PO-Revision-Date: 2013-10-22 03:49+0000\n"
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+ "Language-Team: Japanese <ja@li.org>\n"
+ "MIME-Version: 1.0\n"
+ "Content-Type: text/plain; charset=UTF-8\n"
+ "Content-Transfer-Encoding: 8bit\n"
 -"X-Launchpad-Export-Date: 2013-10-23 04:34+0000\n"
 -"X-Generator: Launchpad (build 16810)\n"
++"X-Launchpad-Export-Date: 2013-10-22 04:44+0000\n"
++"X-Generator: Launchpad (build 16807)\n"
+ #. module: contacts
+ #: model:ir.actions.act_window,help:contacts.action_contacts
+ msgid ""
+ "<p class=\"oe_view_nocontent_create\">\n"
+ "            Click to add a contact in your address book.\n"
+ "          </p><p>\n"
+ "            OpenERP helps you easily track all activities related to\n"
+ "            a customer; discussions, history of business opportunities,\n"
+ "            documents, etc.\n"
+ "          </p>\n"
+ "        "
+ msgstr ""
+ #. module: contacts
+ #: model:ir.actions.act_window,name:contacts.action_contacts
+ #: model:ir.ui.menu,name:contacts.menu_contacts
+ msgid "Contacts"
+ msgstr "連絡先"
diff --combined addons/hr/hr_view.xml
      <record model="ir.ui.view" id="hr_kanban_view_employees">
          <field name="name">HR - Employess Kanban</field>
          <field name="model">hr.employee</field>
+         <field name="priority">10</field>
          <field name="arch" type="xml">
              <kanban>
                  <field name="last_login"/>
              <field name="arch" type="xml">
                  <form string="Job" version="7.0">
                      <header>
 -                        <button name="job_recruitement" string="Launch Recruitement" states="open" type="object" class="oe_highlight" groups="base.group_user"/>
 +                        <button name="job_recruitment" string="Launch Recruitment" states="open" type="object" class="oe_highlight" groups="base.group_user"/>
                          <button name="job_open" string="Stop Recruitment" states="recruit" type="object" class="oe_highlight" groups="base.group_user"/>
                          <field name="state" widget="statusbar" statusbar_visible="recruit,open"/>
                      </header>
                      <sheet>
                          <div class="oe_title">
 -                            <label for="name" class="oe_edit_only"/>
 -                            <h1><field name="name" class="oe_inline"/></h1>
 +                            <label for="name" class="oe_edit_only" colspan="4"/>
 +                            <h1><field name="name" class="oe_inline" nolabel="1" colspan="2"/></h1>
                          </div>
 +                        <div class="oe_right" name="buttons"/>
                          <group>
                              <group name="job_data">
 -                                <field name="no_of_employee" groups="base.group_user"/>
 -                                <field name="no_of_recruitment" on_change="on_change_expected_employee(no_of_recruitment,no_of_employee)"/>
 -                                <field name="expected_employees" groups="base.group_user"/>
 -                                <field name="company_id" widget="selection" groups="base.group_multi_company"/>
 -                                <field name="department_id"/>
 +                                <field name="department_id" class="oe_inline"/>
 +                                <label for="no_of_recruitment"/>
 +                                <div>
 +                                    <field name="no_of_recruitment" on_change="on_change_expected_employee(no_of_recruitment,no_of_employee)" class="oe_inline"/>
 +                                    <p>Currently, <field name="no_of_employee" groups="base.group_user" colspan="0" class="oe_inline" style="padding-top: 1px"/> employees</p>
 +                                </div>
                              </group>
                          </group>
                          <div>
                  </tree>
              </field>
          </record>
 -
 +        
          <record id="view_job_filter" model="ir.ui.view">
              <field name="name">Job</field>
              <field name="model">hr.job</field>
                  <search string="Jobs">
                      <field name="name" string="Job"/>
                      <filter icon="terp-camera_test" domain="[('state','=','open')]" string="In Position" help="In Position"/>
 -                    <filter icon="terp-personal+"  domain="[('state','=','recruit')]" string="In Recruitment" help="In Recruitment"/>
 +                    <filter icon="terp-personal+"  domain="[('state','=','recruit')]" string="In Recruitment" help="In Recruitment" name="in_recruitment"/>
                      <field name="department_id"/>
                      <group expand="0" string="Group By...">
                          <filter string="Department" icon="terp-personal+" domain="[]" context="{'group_by':'department_id'}"/>
          </record>
  
          <menuitem name="Recruitment" id="base.menu_crm_case_job_req_main" parent="menu_hr_root" groups="base.group_hr_user"/>
 -        <menuitem parent="hr.menu_hr_configuration" id="menu_hr_job" action="action_hr_job" sequence="6"/>
  
      </data>
  </openerp>
@@@ -107,11 -107,10 +107,11 @@@ class mail_thread(osv.AbstractModel)
                      object_id.alias_id.alias_model_id.model == self._name and \
                      object_id.alias_id.alias_force_thread_id == 0:
                  alias = object_id.alias_id
 -        elif catchall_domain and model:  # no specific res_id given -> generic help message, take an example alias (i.e. alias of some section_id)
 +
 +        if catchall_domain and model and not alias:  #check for example alias if res_id not given or given res_id dose not contain alias-> generic help message, take an example alias (i.e. alias of some section_id)
              model_id = self.pool.get('ir.model').search(cr, uid, [("model", "=", self._name)], context=context)[0]
              alias_obj = self.pool.get('mail.alias')
 -            alias_ids = alias_obj.search(cr, uid, [("alias_model_id", "=", model_id), ("alias_name", "!=", False), ('alias_force_thread_id', '=', 0)], context=context, order='id ASC')
 +            alias_ids = alias_obj.search(cr, uid, [("alias_model_id", "=", model_id), ("alias_name", "!=", False), ('alias_force_thread_id', '=', False), ('alias_parent_thread_id', '=', False)], context=context, order='id ASC')
              if alias_ids and len(alias_ids) == 1:  # if several aliases -> incoherent to propose one guessed from nowhere, therefore avoid if several aliases
                  alias = alias_obj.browse(cr, uid, alias_ids[0], context=context)
  
          self.pool.get('res.users').browse(cr, SUPERUSER_ID, uid, context=context)
          act_model, act_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, *self._get_inbox_action_xml_id(cr, uid, context=context))
          action = self.pool.get(act_model).read(cr, uid, act_id, [])
-         # if msg_id specified: try to redirect to the document or fallback on the Inbox
-         msg_id = context.get('params', {}).get('message_id')
-         if not msg_id:
+         params = context.get('params')
+         msg_id = model = res_id = None
+         if params:
+             msg_id = params.get('message_id')
+             model = params.get('model')
+             res_id = params.get('res_id')
+         if not msg_id and not (model and res_id):
              return action
-         msg = self.pool.get('mail.message').browse(cr, uid, msg_id, context=context)
-         if msg.model and msg.res_id:
-             action.update({
-                 'context': {
-                     'search_default_model': msg.model,
-                     'search_default_res_id': msg.res_id,
-                 }
-             })
-             if self.pool.get(msg.model).check_access_rights(cr, uid, 'read', raise_exception=False):
+         if msg_id and not (model and res_id):
+             msg = self.pool.get('mail.message').browse(cr, uid, msg_id, context=context)
+             model, res_id = msg.model, msg.res_id
+         # if model + res_id found: try to redirect to the document or fallback on the Inbox
+         if model and res_id:
+             model_obj = self.pool.get(model)
+             if model_obj.check_access_rights(cr, uid, 'read', raise_exception=False):
                  try:
-                     model_obj = self.pool.get(msg.model)
-                     model_obj.check_access_rule(cr, uid, [msg.res_id], 'read', context=context)
+                     model_obj.check_access_rule(cr, uid, [res_id], 'read', context=context)
                      if not hasattr(model_obj, '_get_formview_action'):
-                         action = self.pool.get('mail.thread')._get_formview_action(cr, uid, msg.res_id, model=msg.model, context=context)
+                         action = self.pool.get('mail.thread')._get_formview_action(cr, uid, res_id, model=model, context=context)
                      else:
-                         action = model_obj._get_formview_action(cr, uid, msg.res_id, context=context)
+                         action = model_obj._get_formview_action(cr, uid, res_id, context=context)
                  except (osv.except_osv, orm.except_orm):
                      pass
+             action.update({
+                 'context': {
+                     'search_default_model': model,
+                     'search_default_res_id': res_id,
+                 }
+             })
          return action
  
      #------------------------------------------------------
              # get partner info from email
              partner_info = self.message_partner_info_from_emails(cr, uid, obj.id, [email], context=context)[0]
              if partner_info.get('partner_id'):
-                 partner = self.pool.get('res.partner').browse(cr, SUPERUSER_ID, [partner_info.get('partner_id')], context=context)[0]
+                 partner = self.pool.get('res.partner').browse(cr, SUPERUSER_ID, [partner_info['partner_id']], context=context)[0]
          if email and email in [val[1] for val in result[obj.id]]:  # already existing email -> skip
              return result
          if partner and partner in obj.message_follower_ids:  # recipient already in the followers -> skip