[MERGE] Stable Sync
bzr revid: jam@tinyerp.com-20130326160726-nkdhvtfpsra26p0i
This commit is contained in:
@@ -1026,6 +1026,9 @@ class account_period(osv.osv):
|
||||
|
||||
def action_draft(self, cr, uid, ids, *args):
|
||||
mode = 'draft'
|
||||
for period in self.browse(cr, uid, ids):
|
||||
if period.fiscalyear_id.state == 'done':
|
||||
raise osv.except_osv(_('Warning !'), _('You can not re-open a period which belongs to closed fiscal year'))
|
||||
cr.execute('update account_journal_period set state=%s where period_id in %s', (mode, tuple(ids),))
|
||||
cr.execute('update account_period set state=%s where id in %s', (mode, tuple(ids),))
|
||||
return True
|
||||
|
||||
@@ -753,9 +753,14 @@ class account_move_line(osv.osv):
|
||||
) AS s
|
||||
WHERE debit > 0 AND credit > 0 AND (last_reconciliation_date IS NULL OR max_date > last_reconciliation_date)
|
||||
ORDER BY last_reconciliation_date""")
|
||||
ids = cr.fetchall()
|
||||
ids = len(ids) and [x[0] for x in ids] or []
|
||||
return self.pool.get('res.partner').name_get(cr, uid, ids, context=context)
|
||||
ids = [x[0] for x in cr.fetchall()]
|
||||
if not ids:
|
||||
return []
|
||||
|
||||
# To apply the ir_rules
|
||||
partner_obj = self.pool.get('res.partner')
|
||||
ids = partner_obj.search(cr, uid, [('id', 'in', ids)], context=context)
|
||||
return partner_obj.name_get(cr, uid, ids, context=context)
|
||||
|
||||
def reconcile_partial(self, cr, uid, ids, type='auto', context=None, writeoff_acc_id=False, writeoff_period_id=False, writeoff_journal_id=False):
|
||||
move_rec_obj = self.pool.get('account.move.reconcile')
|
||||
|
||||
+12
-12
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
|
||||
"PO-Revision-Date: 2013-03-24 14:31+0000\n"
|
||||
"PO-Revision-Date: 2013-03-25 16:00+0000\n"
|
||||
"Last-Translator: gobi <Unknown>\n"
|
||||
"Language-Team: Mongolian <mn@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-03-25 05:23+0000\n"
|
||||
"X-Launchpad-Export-Date: 2013-03-26 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16540)\n"
|
||||
|
||||
#. module: account
|
||||
@@ -302,7 +302,7 @@ msgstr "Давтан гүйлгээ үүсгэх"
|
||||
#. module: account
|
||||
#: field:account.automatic.reconcile,allow_write_off:0
|
||||
msgid "Allow write off"
|
||||
msgstr "Зөрүүг хаах"
|
||||
msgstr "Хасалтыг зөвшөөрөх"
|
||||
|
||||
#. module: account
|
||||
#: view:account.analytic.chart:0
|
||||
@@ -1562,7 +1562,7 @@ msgstr "Татварын загвар хайх"
|
||||
#: model:ir.actions.act_window,name:account.action_account_reconcile_select
|
||||
#: model:ir.actions.act_window,name:account.action_view_account_move_line_reconcile
|
||||
msgid "Reconcile Entries"
|
||||
msgstr "Бичлэгүүдийг тулгах"
|
||||
msgstr "Бичилтүүдийг тулгах"
|
||||
|
||||
#. module: account
|
||||
#: model:ir.actions.report.xml,name:account.account_overdue
|
||||
@@ -2968,7 +2968,7 @@ msgstr "Гүйлгээний нэр"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_move_line_reconcile_writeoff
|
||||
msgid "Account move line reconcile (writeoff)"
|
||||
msgstr "Дансны тулгалтын мөрийн хөдөлгөөн (найдваргүй авлага)"
|
||||
msgstr "Дансны тулгалтын мөрийн хөдөлгөөн (хасалт)"
|
||||
|
||||
#. module: account
|
||||
#: model:account.account.type,name:account.conf_account_type_tax
|
||||
@@ -4260,7 +4260,7 @@ msgstr "Татварын кодын дүн"
|
||||
#. module: account
|
||||
#: view:account.move.line:0
|
||||
msgid "Unreconciled Journal Items"
|
||||
msgstr "Тулгагдаагүй Журналийн зүйлүүд"
|
||||
msgstr "Тулгагдаагүй Журналийн бичилтүүд"
|
||||
|
||||
#. module: account
|
||||
#: selection:account.account.type,close_method:0
|
||||
@@ -4304,7 +4304,7 @@ msgstr "account.journal.cashbox.line"
|
||||
#. module: account
|
||||
#: model:ir.model,name:account.model_account_partner_reconcile_process
|
||||
msgid "Reconcilation Process partner by partner"
|
||||
msgstr "Харилцагч, харилцагчаар гүйцээлтийн боловсруулалт"
|
||||
msgstr "Харилцагч, харилцагчаар тулгалтын боловсруулалт"
|
||||
|
||||
#. module: account
|
||||
#: view:account.chart:0
|
||||
@@ -6237,7 +6237,7 @@ msgid ""
|
||||
"something to reconcile or not. This figure already count the current partner "
|
||||
"as reconciled."
|
||||
msgstr ""
|
||||
"Эдгээр нь гүйцээлт хийх шаардлагатай эсэхийг шалгахаар үлдэж байгаа "
|
||||
"Эдгээр нь тулгалт хийх шаардлагатай эсэхийг шалгахаар үлдэж байгаа "
|
||||
"харилцагчдын жагсаалт. Энэ зураглал нь идэвхтэй харилцагчдыг тулгалт "
|
||||
"хийгдсэнээр тоолсон байгаа."
|
||||
|
||||
@@ -6394,8 +6394,8 @@ msgid ""
|
||||
"Number of partial amounts that can be combined to find a balance point can "
|
||||
"be chosen as the power of the automatic reconciliation"
|
||||
msgstr ""
|
||||
"Хэсэгчилсэн дүнгүүдийг нэгтгэгдэж автомат гүйцээлтээр баланстай тулах "
|
||||
"цэгүүдийг олж болдог нь автомат тулгалтын давуу тал юм."
|
||||
"Хэсэгчилсэн дүнгүүдийг нэгтгэгдэж автомат тулалт баланстай тулах цэгүүдийг "
|
||||
"олж болдог нь автомат тулгалтын давуу тал юм."
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/wizard/account_report_aged_partner_balance.py:56
|
||||
@@ -8725,7 +8725,7 @@ msgstr ""
|
||||
#. module: account
|
||||
#: view:account.move.line.reconcile:0
|
||||
msgid "Reconciliation Transactions"
|
||||
msgstr "Гүйцээлтийн гүйлгээ"
|
||||
msgstr "Тулгалтын гүйлгээ"
|
||||
|
||||
#. module: account
|
||||
#: code:addons/account/account_invoice.py:449
|
||||
@@ -9194,7 +9194,7 @@ msgstr "Төлбөр"
|
||||
#. module: account
|
||||
#: view:account.automatic.reconcile:0
|
||||
msgid "Reconciliation Result"
|
||||
msgstr "Гүйцээлтийн үр дүн"
|
||||
msgstr "Тулгалтын үр дүн"
|
||||
|
||||
#. module: account
|
||||
#: field:account.bank.statement,balance_end_real:0
|
||||
|
||||
@@ -8,13 +8,13 @@ msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2013-03-07 08:37+0000\n"
|
||||
"PO-Revision-Date: 2013-03-24 13:37+0000\n"
|
||||
"PO-Revision-Date: 2013-03-25 15:53+0000\n"
|
||||
"Last-Translator: gobi <Unknown>\n"
|
||||
"Language-Team: Mongolian <mn@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-03-25 05:23+0000\n"
|
||||
"X-Launchpad-Export-Date: 2013-03-26 05:32+0000\n"
|
||||
"X-Generator: Launchpad (build 16540)\n"
|
||||
|
||||
#. module: account_voucher
|
||||
@@ -184,7 +184,7 @@ msgstr "Ваучераар хайх"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,writeoff_acc_id:0
|
||||
msgid "Counterpart Account"
|
||||
msgstr "Гүйцээлтийн данс"
|
||||
msgstr "Эсрэг Данс"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,account_id:0
|
||||
@@ -206,7 +206,7 @@ msgstr "Тийм"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher.line,reconcile:0
|
||||
msgid "Full Reconcile"
|
||||
msgstr "Бүтэн гүйцээлт"
|
||||
msgstr "Бүтэн тулгалт"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,date_due:0
|
||||
@@ -330,7 +330,7 @@ msgstr "Буруу Үйлдэл!"
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher,comment:0
|
||||
msgid "Counterpart Comment"
|
||||
msgstr "Гүйцээлтийн тайлбар"
|
||||
msgstr "Эсрэг талын тэмдэглэл"
|
||||
|
||||
#. module: account_voucher
|
||||
#: field:account.voucher.line,account_analytic_id:0
|
||||
@@ -972,7 +972,7 @@ msgstr "Тооцоо бодсон огноо"
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
msgid "Unreconcile"
|
||||
msgstr "Гүйцээлтийг цуцлах"
|
||||
msgstr "Тулгалтыг арилгах"
|
||||
|
||||
#. module: account_voucher
|
||||
#: view:account.voucher:0
|
||||
|
||||
@@ -11,9 +11,7 @@ access_crm_lead_manager,crm.lead.manager,model_crm_lead,base.group_sale_manager,
|
||||
access_crm_phonecall_manager,crm.phonecall.manager,model_crm_phonecall,base.group_sale_manager,1,1,1,1
|
||||
access_crm_case_categ,crm.case.categ,model_crm_case_categ,base.group_user,1,0,0,0
|
||||
access_crm_lead,crm.lead,model_crm_lead,base.group_sale_salesman,1,1,1,0
|
||||
access_crm_lead_all,crm.lead.all,model_crm_lead,base.group_user,1,0,0,0
|
||||
access_crm_phonecall,crm.phonecall,model_crm_phonecall,base.group_sale_salesman,1,1,1,0
|
||||
access_crm_phonecall_all,crm.phonecall.all,model_crm_phonecall,base.group_user,1,0,0,0
|
||||
access_crm_case_section_user,crm.case.section.user,model_crm_case_section,base.group_sale_salesman,1,1,1,0
|
||||
access_crm_case_section_manager,crm.case.section.manager,model_crm_case_section,base.group_sale_manager,1,1,1,1
|
||||
access_crm_case_stage,crm.case.stage,model_crm_case_stage,,1,0,0,0
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,8 @@ Created on 18 oct. 2011
|
||||
@author: openerp
|
||||
'''
|
||||
|
||||
from openerp.osv import fields, osv
|
||||
from openerp.osv import osv
|
||||
from openerp.tools.translate import _
|
||||
|
||||
class plugin_handler(osv.osv_memory):
|
||||
_name = 'plugin.handler'
|
||||
@@ -29,7 +30,7 @@ class plugin_handler(osv.osv_memory):
|
||||
partner_ids = partner_obj.search(cr, uid, [('email', 'like', address_email)])
|
||||
res_id = partner_ids and partner_ids[0] or 0
|
||||
url = self._make_url(cr, uid, res_id, 'res.partner')
|
||||
return ('res.partner', res_id , url)
|
||||
return ('res.partner', res_id, url)
|
||||
|
||||
def document_get(self, cr, uid, email):
|
||||
"""
|
||||
@@ -48,7 +49,7 @@ class plugin_handler(osv.osv_memory):
|
||||
message_id = msg.get('message_id')
|
||||
msg_id = False
|
||||
if message_id:
|
||||
msg_ids = mail_message_obj.search(cr, uid, [('message_id','=', message_id)])
|
||||
msg_ids = mail_message_obj.search(cr, uid, [('message_id', '=', message_id)])
|
||||
msg_id = len(msg_ids) and msg_ids[0] or False
|
||||
if not msg_id and parent_id:
|
||||
msg_id = parent_id
|
||||
@@ -57,8 +58,8 @@ class plugin_handler(osv.osv_memory):
|
||||
res_id = msg.res_id
|
||||
model = msg.model
|
||||
url = self._make_url(cr, uid, res_id, model)
|
||||
name = self.pool.get(model).name_get(cr, uid, [res_id])[0][1]
|
||||
return (model,res_id, url,name)
|
||||
name = self.pool.get(model).name_get(cr, uid, [res_id])[0][1]
|
||||
return (model, res_id, url, name)
|
||||
|
||||
def document_type(self, cr, uid, context=None):
|
||||
"""
|
||||
@@ -94,26 +95,25 @@ class plugin_handler(osv.osv_memory):
|
||||
model_obj = self.pool.get(model)
|
||||
msg = self.pool.get('mail.thread').message_parse(cr, uid, email)
|
||||
message_id = msg.get('message-id')
|
||||
mail_ids = mail_message.search(cr, uid, [('message_id','=',message_id),('res_id','=',res_id),('model','=',model)])
|
||||
|
||||
if message_id and mail_ids :
|
||||
mail_ids = mail_message.search(cr, uid, [('message_id', '=', message_id), ('res_id', '=', res_id), ('model', '=', model)])
|
||||
if message_id and mail_ids:
|
||||
mail_record = mail_message.browse(cr, uid, mail_ids)[0]
|
||||
res_id = mail_record.res_id
|
||||
notify = "Email already pushed"
|
||||
notify = _("Email already pushed")
|
||||
elif res_id == 0:
|
||||
if model == 'res.partner':
|
||||
notify = 'User the Partner button to create a new partner'
|
||||
notify = _('Use the Partner button to create a new partner')
|
||||
else:
|
||||
res_id = model_obj.message_process(cr, uid, model, email)
|
||||
notify = "Mail successfully pushed, a new %s has been created " % model
|
||||
notify = _("Mail successfully pushed, a new %s has been created.") % model
|
||||
else:
|
||||
model_obj.message_post(cr, uid, [res_id],
|
||||
body= msg.get('body'),
|
||||
subject= msg.get('subject'),
|
||||
type= 'email',
|
||||
parent_id= msg.get('parent_id'),
|
||||
attachments= msg.get('attachments'))
|
||||
notify = "Mail successfully pushed"
|
||||
body=msg.get('body'),
|
||||
subject=msg.get('subject'),
|
||||
type='email',
|
||||
parent_id=msg.get('parent_id'),
|
||||
attachments=msg.get('attachments'))
|
||||
notify = _("Mail successfully pushed")
|
||||
url = self._make_url(cr, uid, res_id, model)
|
||||
return (model, res_id, url, notify)
|
||||
|
||||
@@ -154,16 +154,17 @@ class plugin_handler(osv.osv_memory):
|
||||
message_id = msg.get('message-id')
|
||||
push_mail = self.push_message(cr, uid, model, headers, res_id)
|
||||
res_id = push_mail[1]
|
||||
model = push_mail[0]
|
||||
model = push_mail[0]
|
||||
notify = push_mail[3]
|
||||
for name in attachments.keys():
|
||||
attachment_ids = ir_attachment_obj.search(cr, uid, [('res_model', '=', model), ('res_id', '=', res_id), ('datas_fname', '=', name)])
|
||||
if attachment_ids:
|
||||
attach_ids.append( attachment_ids[0])
|
||||
attach_ids.append(attachment_ids[0])
|
||||
else:
|
||||
vals = {"res_model": model, "res_id": res_id, "name": name, "datas" :attachments[name], "datas_fname" : name}
|
||||
vals = {"res_model": model, "res_id": res_id, "name": name, "datas": attachments[name], "datas_fname": name}
|
||||
attach_ids.append(ir_attachment_obj.create(cr, uid, vals))
|
||||
mail_ids = mail_message.search(cr, uid, [('message_id','=',message_id),('res_id','=',res_id),('model','=',model)])
|
||||
mail_ids = mail_message.search(cr, uid, [('message_id', '=', message_id), ('res_id', '=', res_id), ('model', '=', model)])
|
||||
if mail_ids:
|
||||
ids = mail_message.write(cr, uid, mail_ids[0], { 'attachment_ids': [(6, 0, attach_ids)],'body':body,'body_html':body_html})
|
||||
mail_message.write(cr, uid, mail_ids[0], {'attachment_ids': [(6, 0, attach_ids)], 'body': body, 'body_html': body_html})
|
||||
url = self._make_url(cr, uid, res_id, model)
|
||||
return (model, res_id, url)
|
||||
return (model, res_id, url, notify)
|
||||
|
||||
+5
-6
@@ -17,6 +17,7 @@
|
||||
<UpgradeBackupLocation>
|
||||
</UpgradeBackupLocation>
|
||||
<OldToolsVersion>3.5</OldToolsVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<PublishUrl>publish\</PublishUrl>
|
||||
<Install>true</Install>
|
||||
<InstallFrom>Disk</InstallFrom>
|
||||
@@ -29,7 +30,6 @@
|
||||
<MapFileExtensions>true</MapFileExtensions>
|
||||
<ApplicationRevision>0</ApplicationRevision>
|
||||
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
|
||||
<IsWebBootstrapper>false</IsWebBootstrapper>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
</PropertyGroup>
|
||||
@@ -53,9 +53,8 @@
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="CookComputing.XmlRpcV2, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\OpenERPOutlookPlugin\bin\Release\CookComputing.XmlRpcV2.dll</HintPath>
|
||||
<Reference Include="CookComputing.XmlRpcV2">
|
||||
<HintPath>..\CookComputing.XmlRpcV2.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core">
|
||||
@@ -81,7 +80,7 @@
|
||||
<ItemGroup>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
|
||||
<Install>false</Install>
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
|
||||
@@ -91,7 +90,7 @@
|
||||
</BootstrapperPackage>
|
||||
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
|
||||
<Visible>False</Visible>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<ProductName>Windows Installer 3.1</ProductName>
|
||||
<Install>true</Install>
|
||||
</BootstrapperPackage>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Microsoft Visual Studio Solution File, Format Version 11.00
|
||||
# Visual Studio 2010
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenERPOutlookPlugin", "OpenERPOutlookPlugin\OpenERPOutlookPlugin.csproj", "{F4B2219B-F235-400F-81B4-92F15250BBA4}"
|
||||
EndProject
|
||||
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "OpenERPOutlookPluginSetup", "OpenERPOutlookPluginSetup\OpenERPOutlookPluginSetup.vdproj", "{96333293-0156-4998-9065-42721CEB0368}"
|
||||
|
||||
@@ -303,6 +303,7 @@ namespace OpenERPOutlookPlugin
|
||||
|
||||
foreach (outlook.MailItem mailitem in Tools.MailItems())
|
||||
{
|
||||
|
||||
|
||||
Object[] contact = Cache.OpenERPOutlookPlugin.RedirectPartnerPage(mailitem);
|
||||
if ((int)contact[1] > 0)
|
||||
|
||||
+9
-3
@@ -95,7 +95,6 @@ namespace OpenERPOutlookPlugin
|
||||
/*
|
||||
* Will open the url into the web browser.
|
||||
*/
|
||||
|
||||
System.Diagnostics.Process.Start(web_url.ToString());
|
||||
}
|
||||
|
||||
@@ -163,9 +162,16 @@ namespace OpenERPOutlookPlugin
|
||||
args.Add(attachments);
|
||||
object push_mail = this.Connection.Execute("plugin.handler", "push_message_outlook", args.ToArray());
|
||||
object[] push = (object[])push_mail;
|
||||
this.RedirectWeb(push[2].ToString());
|
||||
return true;
|
||||
if (Convert.ToInt32(push[1]) == 0)
|
||||
{
|
||||
MessageBox.Show(push[3].ToString());
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
this.RedirectWeb(push[2].ToString());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public long CreatePartnerRecord(string name)
|
||||
{
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@
|
||||
<data>
|
||||
|
||||
<!-- Top menu item -->
|
||||
<menuitem name="Portal"
|
||||
<menuitem name="Billing and Support"
|
||||
id="portal_menu"
|
||||
groups="portal.group_portal,portal.group_anonymous"
|
||||
sequence="15"/>
|
||||
@@ -21,7 +21,6 @@
|
||||
<field name="params" eval=""{
|
||||
'domain': [
|
||||
('to_read', '=', True),
|
||||
('starred', '=', False),
|
||||
],
|
||||
'show_compose_message': False,
|
||||
'show_link': False,
|
||||
@@ -40,6 +39,7 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- TODO: remove me in 8.0 -->
|
||||
<record id="action_mail_star_feeds_portal" model="ir.actions.client">
|
||||
<field name="name">To-do</field>
|
||||
<field name="tag">mail.wall</field>
|
||||
@@ -67,6 +67,9 @@
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem name="To-do" id="portal_mail_starfeeds" parent="portal_messages"
|
||||
action="action_mail_star_feeds_portal" sequence="20" groups="base.group_no_one"/>
|
||||
<!-- end -->
|
||||
|
||||
<record id="action_mail_archives_feeds_portal" model="ir.actions.client">
|
||||
<field name="name">Archives</field>
|
||||
@@ -84,7 +87,6 @@
|
||||
'show_compose_message': False,
|
||||
'show_link': False,
|
||||
'view_mailbox': True,
|
||||
'read_action': 'read'
|
||||
}""/>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
@@ -98,8 +100,6 @@
|
||||
|
||||
<menuitem name="Inbox" id="portal_inbox" parent="portal_messages"
|
||||
action="action_mail_inbox_feeds_portal" sequence="10" groups="portal.group_portal"/>
|
||||
<menuitem name="To-do" id="portal_mail_starfeeds" parent="portal_messages"
|
||||
action="action_mail_star_feeds_portal" sequence="20" groups="portal.group_portal"/>
|
||||
<menuitem name="Archives" id="portal_mail_archivesfeeds" parent="portal_messages"
|
||||
action="action_mail_archives_feeds_portal" sequence="30" groups="portal.group_portal"/>
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
Create menu items that we'll leave empty for now - they'll be
|
||||
filled up by other portal modules.
|
||||
-->
|
||||
<menuitem name="Quotations and Sales Orders" id="portal_orders" parent="portal_menu" sequence="20"/>
|
||||
<menuitem name="Billing" id="portal_orders" parent="portal_menu" sequence="20"/>
|
||||
<menuitem name="After Sale Services" id="portal_after_sales" parent="portal_menu" sequence="30"/>
|
||||
<menuitem name="Projects" id="portal_projects" parent="portal_menu" sequence="40"/>
|
||||
|
||||
|
||||
@@ -61,18 +61,6 @@ class sale_order(osv.Model):
|
||||
partner = document.partner_id
|
||||
if partner.id not in document.message_follower_ids:
|
||||
self.message_subscribe(cr, uid, ids, [partner.id], context=context)
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
mail_values = {
|
||||
'email_from': user.partner_id.email,
|
||||
'email_to': partner.email,
|
||||
'subject': 'Invitation to follow %s' % document.name_get()[0][1],
|
||||
'body_html': 'You have been invited to follow %s' % document.name_get()[0][1],
|
||||
'auto_delete': True,
|
||||
'type': 'email',
|
||||
}
|
||||
mail_obj = self.pool.get('mail.mail')
|
||||
mail_id = mail_obj.create(cr, uid, mail_values, context=context)
|
||||
mail_obj.send(cr, uid, [mail_id], recipient_ids=[partner.id], context=context)
|
||||
return super(sale_order, self).action_button_confirm(cr, uid, ids, context=context)
|
||||
|
||||
def get_signup_url(self, cr, uid, ids, context=None):
|
||||
@@ -122,18 +110,6 @@ class account_invoice(osv.Model):
|
||||
partner = document.partner_id
|
||||
if partner.id not in document.message_follower_ids:
|
||||
self.message_subscribe(cr, uid, ids, [partner.id], context=context)
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
mail_values = {
|
||||
'email_from': user.partner_id.email,
|
||||
'email_to': partner.email,
|
||||
'subject': 'Invitation to follow %s' % document.name_get()[0][1],
|
||||
'body_html': 'You have been invited to follow %s' % document.name_get()[0][1],
|
||||
'auto_delete': True,
|
||||
'type': 'email',
|
||||
}
|
||||
mail_obj = self.pool.get('mail.mail')
|
||||
mail_id = mail_obj.create(cr, uid, mail_values, context=context)
|
||||
mail_obj.send(cr, uid, [mail_id], recipient_ids=[partner.id], context=context)
|
||||
return super(account_invoice, self).invoice_validate(cr, uid, ids, context=context)
|
||||
|
||||
def get_signup_url(self, cr, uid, ids, context=None):
|
||||
|
||||
@@ -588,10 +588,13 @@ class product_product(osv.osv):
|
||||
# Check if the product is last product of this template
|
||||
other_product_ids = self.search(cr, uid, [('product_tmpl_id', '=', tmpl_id), ('id', '!=', product.id)], context=context)
|
||||
if not other_product_ids:
|
||||
unlink_product_tmpl_ids.append(tmpl_id)
|
||||
unlink_product_tmpl_ids.append(tmpl_id)
|
||||
unlink_ids.append(product.id)
|
||||
res = super(product_product, self).unlink(cr, uid, unlink_ids, context=context)
|
||||
# delete templates after calling super, as deleting template could lead to deleting
|
||||
# products due to ondelete='cascade'
|
||||
self.pool.get('product.template').unlink(cr, uid, unlink_product_tmpl_ids, context=context)
|
||||
return super(product_product, self).unlink(cr, uid, unlink_ids, context=context)
|
||||
return res
|
||||
|
||||
def onchange_uom(self, cursor, user, ids, uom_id, uom_po_id):
|
||||
if uom_id and uom_po_id:
|
||||
|
||||
@@ -53,6 +53,7 @@ class action_traceability(osv.osv_memory):
|
||||
'domain': "[('id','in',["+','.join(map(str, ids))+"])]",
|
||||
'name': ((type1=='move_history_ids2') and _('Upstream Traceability')) or _('Downstream Traceability'),
|
||||
'view_mode': 'tree',
|
||||
'view_type': 'tree',
|
||||
'res_model': 'stock.move',
|
||||
'field_parent': type1,
|
||||
'view_id': (view_id,'View'),
|
||||
|
||||
Reference in New Issue
Block a user