diff --git a/addons/account/account.py b/addons/account/account.py
index 6aa47551a98..45d3cb4377c 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -2684,6 +2684,15 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'position_id' : new_fp,
}
obj_ac_fp.create(cr, uid, vals_acc)
+
+ #fially inactive the demo chart of accounts
+ data_id = data_pool.search(cr, uid, [('model','=','account.account'), ('name','=','chart0')])
+ if data_id:
+ data = data_pool.browse(cr, uid, data_id[0])
+ account_id = data.res_id
+ if account_id:
+ cr.execute("update account_account set active='f' where id=%s" % (account_id))
+
wizard_multi_charts_accounts()
class account_bank_accounts_wizard(osv.osv_memory):
diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index 6fe0182b584..e9c66c3036d 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -207,7 +207,7 @@
-
+
diff --git a/addons/account/board_account_view.xml b/addons/account/board_account_view.xml
index 6738c7a7d37..4cf8cd89ec5 100644
--- a/addons/account/board_account_view.xml
+++ b/addons/account/board_account_view.xml
@@ -27,15 +27,19 @@
form
diff --git a/addons/account/wizard/account_journal_select.py b/addons/account/wizard/account_journal_select.py
index f13958ed90f..e11660a42af 100644
--- a/addons/account/wizard/account_journal_select.py
+++ b/addons/account/wizard/account_journal_select.py
@@ -38,10 +38,11 @@ class account_journal_select(osv.osv_memory):
id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id']
result = act_obj.read(cr, uid, [id])[0]
cr.execute('select journal_id, period_id from account_journal_period where id=%s', (context['active_id'],))
- journal_id, period_id = cr.fetchone()
-
- result['domain'] = str([('journal_id', '=', journal_id), ('period_id', '=', period_id)])
- result['context'] = str({'journal_id': journal_id, 'period_id': period_id})
+ res = cr.fetchone()
+ if res:
+ journal_id, period_id = res
+ result['domain'] = str([('journal_id', '=', journal_id), ('period_id', '=', period_id)])
+ result['context'] = str({'journal_id': journal_id, 'period_id': period_id})
return result
diff --git a/addons/account/wizard/account_pl_report.py b/addons/account/wizard/account_pl_report.py
index f507226fefd..79b701b6fb9 100644
--- a/addons/account/wizard/account_pl_report.py
+++ b/addons/account/wizard/account_pl_report.py
@@ -68,7 +68,7 @@ class account_pl_report(osv.osv_memory):
'fiscalyear' : False,
'display_account': 'bal_all',
'display_type': True,
- }
+ }
def next_view(self, cr, uid, ids, context=None):
obj_model = self.pool.get('ir.model.data')
diff --git a/addons/account/wizard/account_pl_report_view.xml b/addons/account/wizard/account_pl_report_view.xml
index b1104df8d25..47ad83a235e 100644
--- a/addons/account/wizard/account_pl_report_view.xml
+++ b/addons/account/wizard/account_pl_report_view.xml
@@ -55,6 +55,8 @@
form
+
+ crm_lead_forward_to_partner1
+ crm.lead.forward.to.partner
+ form
+
+
+
+
+
Forward to Partner
crm.lead.forward.to.partner
form
form
+
new
diff --git a/addons/crm/wizard/crm_send_email.py b/addons/crm/wizard/crm_send_email.py
index bc2b5357c15..58aa729e454 100644
--- a/addons/crm/wizard/crm_send_email.py
+++ b/addons/crm/wizard/crm_send_email.py
@@ -20,11 +20,12 @@
#
##############################################################################
+from crm import crm
from osv import osv, fields
from tools.translate import _
import base64
+import itertools
import tools
-from crm import crm
class crm_send_new_email_attachment(osv.osv_memory):
_name = 'crm.send.mail.attachment'
@@ -49,29 +50,23 @@ class crm_send_new_email(osv.osv_memory):
'email_cc' : fields.char('CC', size=512, help="Carbon Copy: list of recipients that will receive"\
" a copy of this mail, and future communication related to this case"),
'subject': fields.char('Subject', size=512, required=True),
- 'text': fields.text('Message', required=True),
+ 'body': fields.text('Message Body', required=True),
'state': fields.selection(crm.AVAILABLE_STATES, string='Set New State To', required=True),
'attachment_ids' : fields.one2many('crm.send.mail.attachment', 'wizard_id'),
}
- def action_cancel(self, cr, uid, ids, context=None):
- """ Closes Phonecall to Opportunity form
- """
- return {'type':'ir.actions.act_window_close'}
-
def action_send(self, cr, uid, ids, context=None):
""" This sends an email to ALL the addresses of the selected partners.
"""
-
hist_obj = self.pool.get('mailgate.message')
if not context:
context = {}
- if not context.get('model'):
+ if not context.get('active_model'):
raise osv.except_osv(_('Error'), _('Can not send mail!'))
- model = context.get('model')
+ model = context.get('active_model')
case_pool = self.pool.get(model)
res_id = context and context.get('active_id', False) or False
@@ -83,24 +78,38 @@ class crm_send_new_email(osv.osv_memory):
message_id = None
ref_id = None
- case = case_pool.browse(cr, uid, res_id)
+ case = case_pool.browse(cr, uid, res_id, context=context)
if context.get('mail', 'new') == 'new':
if case.message_ids:
message_id = case.message_ids[0].message_id
+ elif context.get('mail') == 'forward':
+ # extract attachements from case and emails according to mode
+ attachments = []
+ attach_pool = self.pool.get('ir.attachment')
+ direct_attachments = attach_pool.search(cr, uid, [('res_model', '=', 'crm.lead'), ('res_id', '=', res_id)], context=context)
+ attachments += attach_pool.browse(cr, uid, direct_attachments, context=context)
+ if obj.history in ['latest', 'whole'] and case.message_ids:
+ msgs = case.message_ids
+ if obj.history == 'latest':
+ msgs = msgs[:1]
+ attachments.extend(itertools.chain(*[m.attachment_ids for m in msgs]))
+ attach_all = [(a.datas_fname or a.name, base64.decodestring(a.datas)) for a in attachments if a.datas]
+ attach += attach_all
+
else:
- hist = hist_obj.browse(cr, uid, res_id)
+ hist = hist_obj.browse(cr, uid, res_id, context=context)
message_id = hist.message_id
model = hist.model
- model_pool = self.pool.get(model)
+ case_pool = self.pool.get(model)
res_id = hist.res_id
ref_id = hist.ref_id
- case = model_pool.browse(cr, uid, res_id)
+ case = case_pool.browse(cr, uid, res_id, context=context)
emails = [obj.email_to]
email_cc = obj.email_cc and obj.email_cc.split(',') or ''
emails = filter(None, emails)
- body = obj.text
+ body = obj.body
- body = case_pool.format_body(body)
+ body = body and tools.ustr(body) or ''
email_from = getattr(obj, 'email_from', False)
x_headers = {}
if message_id:
@@ -121,10 +130,11 @@ class crm_send_new_email(osv.osv_memory):
if not flag:
raise osv.except_osv(_('Error!'), _('Unable to send mail. Please check SMTP is configured properly.'))
- case_pool.history(cr, uid, [case], _('Send'), history=True, \
+ msg_dict = {'new': 'Send', 'reply': 'Reply', 'forward': 'Forward'}
+ case_pool.history(cr, uid, [case], _(msg_dict[context.get('mail', 'new')]), history=True, \
email=obj.email_to, details=body, \
subject=obj.subject, email_from=email_from, \
- email_cc=email_cc, message_id=message_id, \
+ email_cc=', '.join(email_cc), message_id=message_id, \
references=ref_id or message_id, attach=attach)
if obj.state == 'unchanged':
pass
@@ -145,7 +155,7 @@ class crm_send_new_email(osv.osv_memory):
if not context:
context = {}
- if not context.get('model'):
+ if not context.get('active_model'):
raise osv.except_osv(_('Error'), _('Can not send mail!'))
res = super(crm_send_new_email, self).default_get(cr, uid, fields, context=context)
@@ -154,7 +164,7 @@ class crm_send_new_email(osv.osv_memory):
res.update(self.get_reply_defaults(cr, uid, fields, context=context))
return res
- model = context.get('model')
+ model = context.get('active_model')
mod_obj = self.pool.get(model)
res_id = context and context.get('active_ids', []) or []
@@ -172,8 +182,8 @@ class crm_send_new_email(osv.osv_memory):
res.update({'subject': tools.ustr(context.get('subject', case.name) or '')})
if 'email_cc' in fields:
res.update({'email_cc': tools.ustr(case.email_cc or '')})
- if 'text' in fields:
- res.update({'text': u'\n'+(tools.ustr(case.user_id.signature or ''))})
+ if 'body' in fields:
+ res.update({'body': u'\n'+(tools.ustr(case.user_id.signature or ''))})
if 'state' in fields:
res.update({'state': u'pending'})
@@ -209,7 +219,7 @@ class crm_send_new_email(osv.osv_memory):
signature = u'\n' + (tools.ustr(case.user_id.signature or '')) + u'\n'
original = [signature]
- if include_original == True and 'text' in fields:
+ if include_original == True and 'body' in fields:
header = u'-------- Original Message --------'
sender = u'From: %s' %(tools.ustr(hist.email_from or ''))
to = u'To: %s' % (tools.ustr(hist.email_to or ''))
@@ -218,10 +228,14 @@ class crm_send_new_email(osv.osv_memory):
original = [signature, header, sender, to, sentdate, desc]
- res['text']= u'\n' + u'\n'.join(original)
+ res['body']= u'\n' + u'\n'.join(original)
if 'subject' in fields:
res.update({u'subject': u'Re: %s' %(tools.ustr(hist.name or ''))})
+ if 'email_cc' in fields:
+ res.update({'email_cc': case.email_cc and tools.ustr(case.email_cc) or False})
+ if 'reply_to' in fields:
+ res.update({'reply_to': case.section_id.reply_to})
if 'state' in fields:
res['state'] = u'pending'
return res
@@ -239,7 +253,7 @@ class crm_send_new_email(osv.osv_memory):
if not context:
context = {}
- if not context.get('model'):
+ if not context.get('active_model'):
raise osv.except_osv(_('Error'), _('Can not send mail!'))
return True
diff --git a/addons/crm/wizard/crm_send_email_view.xml b/addons/crm/wizard/crm_send_email_view.xml
index df7218cbc02..77202a19f6c 100644
--- a/addons/crm/wizard/crm_send_email_view.xml
+++ b/addons/crm/wizard/crm_send_email_view.xml
@@ -9,7 +9,7 @@
crm.send.mail
form
-
@@ -46,7 +46,7 @@
- Send New Mail
+ Send Mail
crm.send.mail
form
form
@@ -77,7 +77,7 @@
-
+
diff --git a/addons/document_ics/document_ics_config_wizard.xml b/addons/document_ics/document_ics_config_wizard.xml
index ea7e5926868..39ec392d3f9 100644
--- a/addons/document_ics/document_ics_config_wizard.xml
+++ b/addons/document_ics/document_ics_config_wizard.xml
@@ -11,12 +11,19 @@
-
-
-
-
+
+ Create Pre-Configured Calendars
+
+
+ OpenERP can create and pre-configure a series of integrated calendar for you.
+ 200
+
+
+ 15
+
+
+
@@ -27,8 +34,6 @@
-
@@ -43,7 +48,7 @@
new
-
+ register configuration wizard
diff --git a/addons/hr_contract/i18n/ru.po b/addons/hr_contract/i18n/ru.po
index 7c5d4087cc2..4c7ab9930f4 100644
--- a/addons/hr_contract/i18n/ru.po
+++ b/addons/hr_contract/i18n/ru.po
@@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-12-08 19:44+0000\n"
-"Last-Translator: Vadim Peretokin \n"
+"PO-Revision-Date: 2010-07-14 08:14+0000\n"
+"Last-Translator: Nikolay Chesnokov \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-06-22 04:13+0000\n"
+"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: hr_contract
@@ -38,7 +38,7 @@ msgstr ""
#: view:hr.contract:0
#: view:hr.employee:0
msgid "Generalities"
-msgstr ""
+msgstr "Общее положение"
#. module: hr_contract
#: field:hr.employee,children:0
@@ -73,7 +73,7 @@ msgstr "Сумма на руки"
#. module: hr_contract
#: model:ir.module.module,shortdesc:hr_contract.module_meta_information
msgid "Human Resources Contracts"
-msgstr ""
+msgstr "Договор с содрудником"
#. module: hr_contract
#: field:hr.contract.wage.type.period,factor_days:0
@@ -189,7 +189,7 @@ msgstr "Зарплатный период"
#. module: hr_contract
#: field:hr.employee,audiens_num:0
msgid "AUDIENS Number"
-msgstr ""
+msgstr "Номер посещения"
#. module: hr_contract
#: view:hr.contract:0
diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml
index a6b87304ae5..3879493592f 100644
--- a/addons/hr_holidays/hr_holidays_view.xml
+++ b/addons/hr_holidays/hr_holidays_view.xml
@@ -69,7 +69,7 @@
-
+
diff --git a/addons/multi_company/i18n/ru.po b/addons/multi_company/i18n/ru.po
index 8b9ce974399..82fb3aa107c 100644
--- a/addons/multi_company/i18n/ru.po
+++ b/addons/multi_company/i18n/ru.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2009-12-08 11:46+0000\n"
-"PO-Revision-Date: 2010-07-07 22:52+0000\n"
-"Last-Translator: Pomazan Bogdan \n"
+"PO-Revision-Date: 2010-07-14 08:17+0000\n"
+"Last-Translator: Nikolay Chesnokov \n"
"Language-Team: Russian \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2010-07-09 03:56+0000\n"
+"X-Launchpad-Export-Date: 2010-07-15 03:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: multi_company
@@ -35,6 +35,7 @@ msgstr ""
msgid ""
"Error: The default UOM and the purchase UOM must be in the same category."
msgstr ""
+"Ошибка. ЕИМ по умолчанию и закупочная ЕИМ должны иметь одинаковую категорию."
#. module: multi_company
#: constraint:res.partner:0
@@ -115,7 +116,7 @@ msgstr "Ошибка. UOS и UOM должны принадлежать к раз
#. module: multi_company
#: model:product.category,name:multi_company.Odoo1
msgid "Odoo Offers"
-msgstr ""
+msgstr "Предложения Odoo"
#. module: multi_company
#: constraint:res.company:0
@@ -155,7 +156,7 @@ msgstr "Выражение"
#. module: multi_company
#: model:product.template,name:multi_company.product_product_odoo1_product_template
msgid "Odoo Offer"
-msgstr ""
+msgstr "Предложение Odoo"
#. module: multi_company
#: field:multi_company.default,sequence:0
diff --git a/addons/olap/data/olap_cube_view.xml b/addons/olap/data/olap_cube_view.xml
index c3f43b89740..bd30efeafe7 100644
--- a/addons/olap/data/olap_cube_view.xml
+++ b/addons/olap/data/olap_cube_view.xml
@@ -76,7 +76,30 @@
olap.parameters.config.wizard
form
-
+
diff --git a/addons/olap/olap.py b/addons/olap/olap.py
index 317a56dd7c3..765711793f3 100644
--- a/addons/olap/olap.py
+++ b/addons/olap/olap.py
@@ -30,6 +30,9 @@ from osv import osv
from osv import fields, osv
import netsvc
import cube
+import os
+import tools
+import base64
from cube import levels
@@ -2128,16 +2131,34 @@ class olap_parameters_config_wizard(osv.osv_memory):
Word(alphanums + "_" + " ").suppress()
return s_p.parseString(aid.url)[1]
+ def _get_image(self, cr, uid, context=None):
+ path = os.path.join('base','res','config_pixmaps/1.png')
+ file_data = tools.file_open(path,'rb').read()
+ return base64.encodestring(file_data)
+
+ def _progress(self, cr, uid, context=None):
+ total = self.pool.get('ir.actions.todo')\
+ .search_count(cr, uid, [], context)
+ open = self.pool.get('ir.actions.todo')\
+ .search_count(cr, uid, [('state','<>','open')], context)
+ if total:
+ return round(open*90./total)
+ return 100.
+
_columns = {
'host_name': fields.char('Server Name', size = 64, help = "Put here the server address or IP \
Put localhost if its not clear.", required = True),
'host_port': fields.char('Port', size = 4, help = "Put the port for the server. Put 8080 if \
its not clear.", required = True),
+ 'config_logo': fields.binary('Image', readonly=True),
+ 'progress': fields.float('Configuration Progress', readonly=True),
}
_defaults = {
'host_name': _get_host,
'host_port': _get_port,
+ 'progress': _progress,
+ 'config_logo': _get_image,
}
def action_cancel(self, cr, uid, ids, conect = None):
diff --git a/addons/project/board_project_view.xml b/addons/project/board_project_view.xml
index 5c216e1eaad..a6c489a528d 100644
--- a/addons/project/board_project_view.xml
+++ b/addons/project/board_project_view.xml
@@ -17,13 +17,33 @@
-
-
+
+
+
+
+ project.task.delegated.tree
+ project.task
+ tree
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
My Open Tasks
project.task
@@ -38,8 +58,8 @@
project.task
form
tree,form
- ['|',('parent_ids.user_id','=',uid),('user_id','=',uid)]
-
+ [('parent_ids.user_id','=',uid),('state', 'in', ('draft','open','pending'))]
+
diff --git a/addons/project/project.py b/addons/project/project.py
index 168e7db7c7c..af8332abb27 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -359,7 +359,7 @@ class task(osv.osv):
'description': fields.text('Description'),
'priority' : fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Urgent'), ('0','Very urgent')], 'Importance'),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of tasks."),
- 'type': fields.many2one('project.task.type', 'Stage',),
+ 'type_id': fields.many2one('project.task.type', 'Stage',),
'state': fields.selection([('draft', 'Draft'),('open', 'In Progress'),('pending', 'Pending'), ('cancelled', 'Cancelled'), ('done', 'Done')], 'State', readonly=True, required=True,
help='If the task is created the state is \'Draft\'.\n If the task is started, the state becomes \'In Progress\'.\n If review is needed the task is in \'Pending\' state.\
\n If the task is over, the states is set to \'Done\'.'),
@@ -549,25 +549,25 @@ class task(osv.osv):
return True
def next_type(self, cr, uid, ids, *args):
- for typ in self.browse(cr, uid, ids):
- typeid = typ.type.id
- types = map(lambda x:x.id, typ.project_id.type_ids or [])
+ for task in self.browse(cr, uid, ids):
+ typeid = task.type_id.id
+ types = map(lambda x:x.id, task.project_id.type_ids or [])
if types:
if not typeid:
- self.write(cr, uid, typ.id, {'type': types[0]})
+ self.write(cr, uid, task.id, {'type_id': types[0]})
elif typeid and typeid in types and types.index(typeid) != len(types)-1 :
index = types.index(typeid)
- self.write(cr, uid, typ.id, {'type': types[index+1]})
+ self.write(cr, uid, task.id, {'type_id': types[index+1]})
return True
def prev_type(self, cr, uid, ids, *args):
- for typ in self.browse(cr, uid, ids):
- typeid = typ.type.id
- types = map(lambda x:x.id, typ.project_id.type_ids)
+ for task in self.browse(cr, uid, ids):
+ typeid = task.type_id.id
+ types = map(lambda x:x.id, task.project_id.type_ids)
if types:
if typeid and typeid in types:
index = types.index(typeid)
- self.write(cr, uid, typ.id, {'type': index and types[index-1] or False})
+ self.write(cr, uid, task.id, {'type_id': index and types[index-1] or False})
return True
task()
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index 8fb488478ec..16ed6634558 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -321,7 +321,7 @@
-
+
@@ -354,7 +354,7 @@
icon="gtk-go-forward"
groups="base.group_extended"
help="Change Type"/>
-
+
@@ -441,7 +441,7 @@
-
+
@@ -659,4 +659,4 @@
-
\ No newline at end of file
+
diff --git a/addons/project/report/project_report.py b/addons/project/report/project_report.py
index 0d373cdff98..ad6a4b4612b 100644
--- a/addons/project/report/project_report.py
+++ b/addons/project/report/project_report.py
@@ -83,7 +83,7 @@ class report_project_task_user(osv.osv):
t.name as name,
t.company_id,
t.partner_id,
- t.type,
+ t.type_id,
remaining_hours as remaining_hours,
total_hours as total_hours,
t.delay_hours as hours_delay,
@@ -115,7 +115,7 @@ class report_project_task_user(osv.osv):
name,
t.company_id,
t.partner_id,
- t.type
+ t.type_id
""")
diff --git a/addons/project_gtd/project_gtd_demo.xml b/addons/project_gtd/project_gtd_demo.xml
index a696e901686..a5bf075b6f6 100644
--- a/addons/project_gtd/project_gtd_demo.xml
+++ b/addons/project_gtd/project_gtd_demo.xml
@@ -39,18 +39,18 @@
Long Term
terp-project
-
+
38.0
38.0
-
+
Specific adaptation to MRP
-
+
40
32.0
@@ -71,19 +71,19 @@
Validation + latest modifications.
-
-
+
+
38.0
38.0
-
+
Specific adaptation to MRP
-
+
40
32.0
@@ -104,7 +104,7 @@
Validation + latest modifications.
-
-
+
+
diff --git a/addons/scrum/__init__.py b/addons/project_scrum/__init__.py
similarity index 96%
rename from addons/scrum/__init__.py
rename to addons/project_scrum/__init__.py
index 204f3abd3f8..ab85f618822 100644
--- a/addons/scrum/__init__.py
+++ b/addons/project_scrum/__init__.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
-#
+#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL ().
#
@@ -15,11 +15,11 @@
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
+# along with this program. If not, see .
#
##############################################################################
-import scrum
+import project_scrum
import report
import wizard
diff --git a/addons/scrum/__openerp__.py b/addons/project_scrum/__openerp__.py
similarity index 85%
rename from addons/scrum/__openerp__.py
rename to addons/project_scrum/__openerp__.py
index ef552090c67..c42908ff50a 100644
--- a/addons/scrum/__openerp__.py
+++ b/addons/project_scrum/__openerp__.py
@@ -51,15 +51,15 @@
'init_xml': [],
'update_xml': [
'security/ir.model.access.csv',
- 'scrum_report.xml',
- 'wizard/scrum_backlog_create_task_view.xml',
- 'scrum_view.xml',
- 'process/scrum_process.xml',
- 'wizard/scrum_backlog_sprint_view.xml',
- 'wizard/scrum_backlog_merger_view.xml',
- "board_scrum_view.xml",
+ 'project_scrum_report.xml',
+ 'wizard/project_scrum_backlog_create_task_view.xml',
+ 'project_scrum_view.xml',
+ 'process/project_scrum_process.xml',
+ 'wizard/project_scrum_backlog_sprint_view.xml',
+ 'wizard/project_scrum_backlog_merger_view.xml',
+ "board_project_scrum_view.xml",
],
- 'demo_xml': ['scrum_demo.xml'],
+ 'demo_xml': ['project_scrum_demo.xml'],
'installable': True,
'active': False,
'certificate': '0084121063261',
diff --git a/addons/scrum/board_scrum_view.xml b/addons/project_scrum/board_project_scrum_view.xml
similarity index 87%
rename from addons/scrum/board_scrum_view.xml
rename to addons/project_scrum/board_project_scrum_view.xml
index 5184aefa79c..3889e8f7af3 100644
--- a/addons/scrum/board_scrum_view.xml
+++ b/addons/project_scrum/board_project_scrum_view.xml
@@ -2,8 +2,8 @@
- scrum.sprint.dashboard.tree
- scrum.sprint
+ project.scrum.sprint.dashboard.tree
+ project.scrum.sprint
tree
@@ -14,21 +14,21 @@
-
+
-
Sprint's List
- scrum.sprint
+ project.scrum.sprint
form
tree,form
diff --git a/addons/scrum/i18n/ar.po b/addons/project_scrum/i18n/ar.po
similarity index 100%
rename from addons/scrum/i18n/ar.po
rename to addons/project_scrum/i18n/ar.po
diff --git a/addons/scrum/i18n/bg.po b/addons/project_scrum/i18n/bg.po
similarity index 100%
rename from addons/scrum/i18n/bg.po
rename to addons/project_scrum/i18n/bg.po
diff --git a/addons/scrum/i18n/bs.po b/addons/project_scrum/i18n/bs.po
similarity index 100%
rename from addons/scrum/i18n/bs.po
rename to addons/project_scrum/i18n/bs.po
diff --git a/addons/scrum/i18n/ca.po b/addons/project_scrum/i18n/ca.po
similarity index 100%
rename from addons/scrum/i18n/ca.po
rename to addons/project_scrum/i18n/ca.po
diff --git a/addons/scrum/i18n/cs.po b/addons/project_scrum/i18n/cs.po
similarity index 100%
rename from addons/scrum/i18n/cs.po
rename to addons/project_scrum/i18n/cs.po
diff --git a/addons/scrum/i18n/de.po b/addons/project_scrum/i18n/de.po
similarity index 100%
rename from addons/scrum/i18n/de.po
rename to addons/project_scrum/i18n/de.po
diff --git a/addons/scrum/i18n/es.po b/addons/project_scrum/i18n/es.po
similarity index 100%
rename from addons/scrum/i18n/es.po
rename to addons/project_scrum/i18n/es.po
diff --git a/addons/scrum/i18n/es_AR.po b/addons/project_scrum/i18n/es_AR.po
similarity index 100%
rename from addons/scrum/i18n/es_AR.po
rename to addons/project_scrum/i18n/es_AR.po
diff --git a/addons/scrum/i18n/et.po b/addons/project_scrum/i18n/et.po
similarity index 100%
rename from addons/scrum/i18n/et.po
rename to addons/project_scrum/i18n/et.po
diff --git a/addons/scrum/i18n/fr.po b/addons/project_scrum/i18n/fr.po
similarity index 100%
rename from addons/scrum/i18n/fr.po
rename to addons/project_scrum/i18n/fr.po
diff --git a/addons/scrum/i18n/hr.po b/addons/project_scrum/i18n/hr.po
similarity index 100%
rename from addons/scrum/i18n/hr.po
rename to addons/project_scrum/i18n/hr.po
diff --git a/addons/scrum/i18n/hu.po b/addons/project_scrum/i18n/hu.po
similarity index 100%
rename from addons/scrum/i18n/hu.po
rename to addons/project_scrum/i18n/hu.po
diff --git a/addons/scrum/i18n/id.po b/addons/project_scrum/i18n/id.po
similarity index 100%
rename from addons/scrum/i18n/id.po
rename to addons/project_scrum/i18n/id.po
diff --git a/addons/scrum/i18n/it.po b/addons/project_scrum/i18n/it.po
similarity index 100%
rename from addons/scrum/i18n/it.po
rename to addons/project_scrum/i18n/it.po
diff --git a/addons/scrum/i18n/ko.po b/addons/project_scrum/i18n/ko.po
similarity index 100%
rename from addons/scrum/i18n/ko.po
rename to addons/project_scrum/i18n/ko.po
diff --git a/addons/scrum/i18n/lt.po b/addons/project_scrum/i18n/lt.po
similarity index 100%
rename from addons/scrum/i18n/lt.po
rename to addons/project_scrum/i18n/lt.po
diff --git a/addons/scrum/i18n/nl.po b/addons/project_scrum/i18n/nl.po
similarity index 100%
rename from addons/scrum/i18n/nl.po
rename to addons/project_scrum/i18n/nl.po
diff --git a/addons/scrum/i18n/nl_BE.po b/addons/project_scrum/i18n/nl_BE.po
similarity index 100%
rename from addons/scrum/i18n/nl_BE.po
rename to addons/project_scrum/i18n/nl_BE.po
diff --git a/addons/scrum/i18n/pl.po b/addons/project_scrum/i18n/pl.po
similarity index 100%
rename from addons/scrum/i18n/pl.po
rename to addons/project_scrum/i18n/pl.po
diff --git a/addons/scrum/i18n/pt.po b/addons/project_scrum/i18n/pt.po
similarity index 100%
rename from addons/scrum/i18n/pt.po
rename to addons/project_scrum/i18n/pt.po
diff --git a/addons/scrum/i18n/pt_BR.po b/addons/project_scrum/i18n/pt_BR.po
similarity index 100%
rename from addons/scrum/i18n/pt_BR.po
rename to addons/project_scrum/i18n/pt_BR.po
diff --git a/addons/scrum/i18n/ro.po b/addons/project_scrum/i18n/ro.po
similarity index 100%
rename from addons/scrum/i18n/ro.po
rename to addons/project_scrum/i18n/ro.po
diff --git a/addons/scrum/i18n/ru.po b/addons/project_scrum/i18n/ru.po
similarity index 100%
rename from addons/scrum/i18n/ru.po
rename to addons/project_scrum/i18n/ru.po
diff --git a/addons/scrum/i18n/scrum.pot b/addons/project_scrum/i18n/scrum.pot
similarity index 100%
rename from addons/scrum/i18n/scrum.pot
rename to addons/project_scrum/i18n/scrum.pot
diff --git a/addons/scrum/i18n/sl.po b/addons/project_scrum/i18n/sl.po
similarity index 100%
rename from addons/scrum/i18n/sl.po
rename to addons/project_scrum/i18n/sl.po
diff --git a/addons/scrum/i18n/sq.po b/addons/project_scrum/i18n/sq.po
similarity index 100%
rename from addons/scrum/i18n/sq.po
rename to addons/project_scrum/i18n/sq.po
diff --git a/addons/scrum/i18n/sv.po b/addons/project_scrum/i18n/sv.po
similarity index 100%
rename from addons/scrum/i18n/sv.po
rename to addons/project_scrum/i18n/sv.po
diff --git a/addons/scrum/i18n/tlh.po b/addons/project_scrum/i18n/tlh.po
similarity index 100%
rename from addons/scrum/i18n/tlh.po
rename to addons/project_scrum/i18n/tlh.po
diff --git a/addons/scrum/i18n/tr.po b/addons/project_scrum/i18n/tr.po
similarity index 100%
rename from addons/scrum/i18n/tr.po
rename to addons/project_scrum/i18n/tr.po
diff --git a/addons/scrum/i18n/uk.po b/addons/project_scrum/i18n/uk.po
similarity index 100%
rename from addons/scrum/i18n/uk.po
rename to addons/project_scrum/i18n/uk.po
diff --git a/addons/scrum/i18n/vi.po b/addons/project_scrum/i18n/vi.po
similarity index 100%
rename from addons/scrum/i18n/vi.po
rename to addons/project_scrum/i18n/vi.po
diff --git a/addons/scrum/i18n/zh_CN.po b/addons/project_scrum/i18n/zh_CN.po
similarity index 100%
rename from addons/scrum/i18n/zh_CN.po
rename to addons/project_scrum/i18n/zh_CN.po
diff --git a/addons/scrum/i18n/zh_TW.po b/addons/project_scrum/i18n/zh_TW.po
similarity index 100%
rename from addons/scrum/i18n/zh_TW.po
rename to addons/project_scrum/i18n/zh_TW.po
diff --git a/addons/scrum/process/scrum_process.xml b/addons/project_scrum/process/project_scrum_process.xml
similarity index 84%
rename from addons/scrum/process/scrum_process.xml
rename to addons/project_scrum/process/project_scrum_process.xml
index c9c7db868f6..9700677c100 100644
--- a/addons/scrum/process/scrum_process.xml
+++ b/addons/project_scrum/process/project_scrum_process.xml
@@ -1,14 +1,14 @@
-
-
-
+
-
-
+
+
@@ -16,11 +16,11 @@
-
-
-
+
@@ -29,6 +29,6 @@
-
+
-
\ No newline at end of file
+
diff --git a/addons/scrum/scrum.py b/addons/project_scrum/project_scrum.py
similarity index 90%
rename from addons/scrum/scrum.py
rename to addons/project_scrum/project_scrum.py
index 0eb23916bc1..5fc873c40aa 100644
--- a/addons/scrum/scrum.py
+++ b/addons/project_scrum/project_scrum.py
@@ -27,7 +27,7 @@ import re
import tools
from tools.translate import _
-class scrum_project(osv.osv):
+class project_scrum_project(osv.osv):
_inherit = 'project.project'
_columns = {
'product_owner_id': fields.many2one('res.users', 'Product Owner', help="The person who is responsible for the product"),
@@ -39,11 +39,11 @@ class scrum_project(osv.osv):
'sprint_size': 15,
'scrum': 1
}
-scrum_project()
+project_scrum_project()
-class scrum_sprint(osv.osv):
- _name = 'scrum.sprint'
- _description = 'Scrum Sprint'
+class project_scrum_sprint(osv.osv):
+ _name = 'project.scrum.sprint'
+ _description = 'Project Scrum Sprint'
def _calc_progress(self, cr, uid, ids, name, args, context):
res = {}
@@ -115,10 +115,10 @@ class scrum_sprint(osv.osv):
'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)], help="If you have [?] in the project name, it means there are no analytic account linked to this project."),
'product_owner_id': fields.many2one('res.users', 'Product Owner', required=True,help="The person who is responsible for the product"),
'scrum_master_id': fields.many2one('res.users', 'Scrum Master', required=True,help="The person who is maintains the processes for the product"),
- 'meeting_ids': fields.one2many('scrum.meeting', 'sprint_id', 'Daily Scrum'),
+ 'meeting_ids': fields.one2many('project.scrum.meeting', 'sprint_id', 'Daily Scrum'),
'review': fields.text('Sprint Review'),
'retrospective': fields.text('Sprint Retrospective'),
- 'backlog_ids': fields.one2many('scrum.product.backlog', 'sprint_id', 'Sprint Backlog'),
+ 'backlog_ids': fields.one2many('project.scrum.product.backlog', 'sprint_id', 'Sprint Backlog'),
'progress': fields.function(_calc_progress, method=True, string='Progress (0-100)', help="Computed as: Time Spent / Total Time."),
'effective_hours': fields.function(_calc_effective, method=True, string='Effective hours', help="Computed using the sum of the task work done."),
'expected_hours': fields.function(_calc_expected, method=True, string='Planned Hours', help='Estimated time to do the task.'),
@@ -153,10 +153,10 @@ class scrum_sprint(osv.osv):
v['date_stop'] = (DateTime.now() + DateTime.RelativeDateTime(days=int(proj.sprint_size or 14))).strftime('%Y-%m-%d')
return {'value':v}
-scrum_sprint()
+project_scrum_sprint()
-class scrum_product_backlog(osv.osv):
- _name = 'scrum.product.backlog'
+class project_scrum_product_backlog(osv.osv):
+ _name = 'project.scrum.product.backlog'
_description = 'Product Backlog'
def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
@@ -200,9 +200,10 @@ class scrum_product_backlog(osv.osv):
return res
def button_cancel(self, cr, uid, ids, context={}):
+ obj_project_task = self.pool.get('project.task')
self.write(cr, uid, ids, {'state':'cancel'}, context=context)
for backlog in self.browse(cr, uid, ids, context=context):
- self.pool.get('project.task').write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'cancelled'})
+ obj_project_task.write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'cancelled'})
return True
def button_draft(self, cr, uid, ids, context={}):
@@ -217,9 +218,10 @@ class scrum_product_backlog(osv.osv):
return True
def button_close(self, cr, uid, ids, context={}):
+ obj_project_task = self.pool.get('project.task')
self.write(cr, uid, ids, {'state':'done'}, context=context)
for backlog in self.browse(cr, uid, ids, context=context):
- self.pool.get('project.task').write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'done'})
+ obj_project_task.write(cr, uid, [i.id for i in backlog.tasks_id], {'state': 'done'})
message = _('Product Backlog ') + " '" + backlog.name + "' "+ _("is Closed.")
self.log(cr, uid, backlog.id, message)
return True
@@ -249,7 +251,7 @@ class scrum_product_backlog(osv.osv):
'active' : fields.boolean('Active', help="If Active field is set to true, it will allow you to hide the product backlog without removing it."),
'project_id': fields.many2one('project.project', 'Project', required=True, domain=[('scrum','=',1)], help="If you have [?] in the project name, it means there are no analytic account linked to this project."),
'user_id': fields.many2one('res.users', 'Author'),
- 'sprint_id': fields.many2one('scrum.sprint', 'Sprint'),
+ 'sprint_id': fields.many2one('project.scrum.sprint', 'Sprint'),
'sequence' : fields.integer('Sequence', help="Gives the sequence order when displaying a list of product backlog."),
'tasks_id': fields.one2many('project.task', 'product_backlog_id', 'Tasks Details'),
'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('done','Done'),('cancel','Cancelled')], 'State', required=True),
@@ -265,42 +267,42 @@ class scrum_product_backlog(osv.osv):
'user_id': lambda self, cr, uid, context: uid,
}
_order = "sequence"
-scrum_product_backlog()
+project_scrum_product_backlog()
-class scrum_task(osv.osv):
+class project_scrum_task(osv.osv):
_name = 'project.task'
_inherit = 'project.task'
def _get_task(self, cr, uid, ids, context={}):
result = {}
- for line in self.pool.get('scrum.product.backlog').browse(cr, uid, ids, context=context):
+ for line in self.pool.get('project.scrum.product.backlog').browse(cr, uid, ids, context=context):
for task in line.tasks_id:
result[task.id] = True
return result.keys()
_columns = {
- 'product_backlog_id': fields.many2one('scrum.product.backlog', 'Product Backlog',help="Related product backlog that contains this task. Used in SCRUM methodology"),
- 'sprint_id': fields.related('product_backlog_id','sprint_id', type='many2one', relation='scrum.sprint', string='Sprint',
+ 'product_backlog_id': fields.many2one('project.scrum.product.backlog', 'Product Backlog',help="Related product backlog that contains this task. Used in SCRUM methodology"),
+ 'sprint_id': fields.related('product_backlog_id','sprint_id', type='many2one', relation='project.scrum.sprint', string='Sprint',
store={
'project.task': (lambda self, cr, uid, ids, c={}: ids, ['product_backlog_id'], 10),
- 'scrum.product.backlog': (_get_task, ['sprint_id'], 10)
+ 'project.scrum.product.backlog': (_get_task, ['sprint_id'], 10)
}),
}
def onchange_backlog_id(self, cr, uid, backlog_id):
if not backlog_id:
return {}
- project_id = self.pool.get('scrum.product.backlog').browse(cr, uid, backlog_id).project_id.id
+ project_id = self.pool.get('project.scrum.product.backlog').browse(cr, uid, backlog_id).project_id.id
return {'value': {'project_id': project_id}}
-scrum_task()
+project_scrum_task()
-class scrum_meeting(osv.osv):
- _name = 'scrum.meeting'
+class project_scrum_meeting(osv.osv):
+ _name = 'project.scrum.meeting'
_description = 'Scrum Meeting'
_order = 'date desc'
_columns = {
'name' : fields.char('Meeting Name', size=64),
'date': fields.date('Meeting Date', required=True),
- 'sprint_id': fields.many2one('scrum.sprint', 'Sprint', required=True),
+ 'sprint_id': fields.many2one('project.scrum.sprint', 'Sprint', required=True),
'project_id': fields.many2one('project.project', 'Project'),
'question_yesterday': fields.text('Tasks since yesterday'),
'question_today': fields.text('Tasks for today'),
@@ -357,5 +359,5 @@ class scrum_meeting(osv.osv):
return False
return True
-scrum_meeting()
+project_scrum_meeting()
diff --git a/addons/scrum/scrum_demo.xml b/addons/project_scrum/project_scrum_demo.xml
similarity index 90%
rename from addons/scrum/scrum_demo.xml
rename to addons/project_scrum/project_scrum_demo.xml
index 9e97e635cf3..a4fad8eb307 100644
--- a/addons/scrum/scrum_demo.xml
+++ b/addons/project_scrum/project_scrum_demo.xml
@@ -13,9 +13,9 @@
-
+
-
+
2005-12-20
Sprint for V3.2.0
@@ -26,7 +26,7 @@
-
+
3
Automatic migration system
6.0
@@ -35,54 +35,54 @@
done
-
+
3
New accounting module
111.0
The accounting module of Open ERP (financial accounting and management accounting) is being reshaped. New functionnalities will be added: intangible assets, a new way of presenting ledgers and bookings, new stock valuation calculation, and lots of predefined reports.
- open
+ open
-
+
3
Automated Plugin System to install/uninstall modules
4.0
We have to develop a plug-in system which will enable to install/remove modules. The basic version of Open ERP will include only the required minimum, and you will select the modules thanks to the plug-in manager. This allows you to limit your system to your real needs: quality management, localisations, project and service management, marketing campaigns, and so on...
- open
+ open
-
+
Review all terms
8.0
- done
+ done
-
+
Bugfixes
6.0
- open
+ open
-
+
Test for 3.2.0 Publishing
5.0
Test Open ERP to release stable 3.2.0 version. (may be 3.2.0-pre1 ?)
-
+
Reshape the complete menu
4.0
Restructure the Open ERP menu to be more like others ERP.
- open
+ open
-
+
Editable Trees
12.0
Editable trees in list and one2many_list widgets.
@@ -98,7 +98,7 @@
Review all English Terms
done
-
+
@@ -107,7 +107,7 @@
Review all french terms
done
-
+
@@ -116,7 +116,7 @@
Analytic Accounting features
done
-
+
@@ -149,7 +149,7 @@
Cash book, general ledger, accounts list, aged trial balance
Accounting Report General
open
-
+
@@ -164,7 +164,7 @@
Accounting Report Analytic
- open
+ open
@@ -173,7 +173,7 @@
Bugfix - memory leak
done
-
+
@@ -181,8 +181,8 @@
Bugfix - Translations
- open
-
+ open
+
@@ -205,7 +205,7 @@
Test 3.2.0 before releasing
- open
+ open
@@ -214,10 +214,10 @@
default values, onchange, required, add on top or bottom and shortcuts (Ctrl S, Ctrl X, ...)
Editable trees
- open
+ open
-
+
Admin: Worked on the Automatic migration system
Demo: Worked on the Test 3.2.0 before releasing
@@ -228,7 +228,7 @@ Demo: Work on Editable trees
Demo :Bugfix - memory leak
-
+
@@ -247,7 +247,7 @@ Demo :Bugfix - memory leak
-
+
Create a script for migration and testing
@@ -264,6 +264,6 @@ Demo :Bugfix - memory leak
-
+
diff --git a/addons/scrum/scrum_report.xml b/addons/project_scrum/project_scrum_report.xml
similarity index 62%
rename from addons/scrum/scrum_report.xml
rename to addons/project_scrum/project_scrum_report.xml
index 8d95d8bdc37..b958732d3c4 100644
--- a/addons/scrum/scrum_report.xml
+++ b/addons/project_scrum/project_scrum_report.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/addons/scrum/scrum_view.xml b/addons/project_scrum/project_scrum_view.xml
similarity index 93%
rename from addons/scrum/scrum_view.xml
rename to addons/project_scrum/project_scrum_view.xml
index 86f92981fed..fd044427869 100644
--- a/addons/scrum/scrum_view.xml
+++ b/addons/project_scrum/project_scrum_view.xml
@@ -29,8 +29,8 @@
-->
- scrum.product.backlog.tree
- scrum.product.backlog
+ project.scrum.product.backlog.tree
+ project.scrum.product.backlog
tree
@@ -52,8 +52,8 @@
- scrum.product.backlog.form
- scrum.product.backlog
+ project.scrum.product.backlog.form
+ project.scrum.product.backlog
form
- scrum.product.backlog.search
- scrum.product.backlog
+ project.scrum.product.backlog.search
+ project.scrum.product.backlog
search
@@ -177,7 +177,7 @@
Product Backlogs
- scrum.product.backlog
+ project.scrum.product.backlog
form
{'search_default_current': 1}
@@ -193,8 +193,8 @@
-->
- scrum.sprint.tree
- scrum.sprint
+ project.scrum.sprint.tree
+ project.scrum.sprint
tree
@@ -215,8 +215,8 @@
- scrum.sprint.form
- scrum.sprint
+ project.scrum.sprint.form
+ project.scrum.sprint
form
- scrum.sprint.search
- scrum.sprint
+ project.scrum.sprint.search
+ project.scrum.sprint
search
@@ -296,7 +296,7 @@
Sprints
- scrum.sprint
+ project.scrum.sprint
form
tree,form
@@ -312,8 +312,8 @@
-->
- scrum.meeting.tree
- scrum.meeting
+ project.scrum.meeting.tree
+ project.scrum.meeting
tree
@@ -324,7 +324,7 @@
Scrum Meeting
- scrum.meeting
+ project.scrum.meeting
form
- scrum.meeting.search
- scrum.meeting
+ project_scrum.meeting.search
+ project.scrum.meeting
search
@@ -383,7 +383,7 @@
Scrum Meetings
- scrum.meeting
+ project.scrum.meeting
form
tree,form
{'search_default_scrum_daily':1}
@@ -405,14 +405,14 @@
-
+
View sprint tasks
- scrum.product.backlog
+ project.scrum.product.backlog
View sprint backlog
form
tree,form
@@ -420,7 +420,7 @@
-
+
View sprint backlog
@@ -431,7 +431,7 @@
-->
- scrum.product.backlog
+ project.scrum.product.backlog
View project's backlog
form
tree,form
@@ -439,7 +439,7 @@
-
+
View project's backlog
@@ -453,7 +453,7 @@
-
+
View project's tasks
@@ -509,6 +509,7 @@
+
@@ -532,8 +533,8 @@
domain="[('sprint_id', '=', active_id)]"
id="act_scrum_sprint_2_product_backlog"
name="Backlogs"
- res_model="scrum.product.backlog"
- src_model="scrum.sprint"
+ res_model="project.scrum.product.backlog"
+ src_model="project.scrum.sprint"
view_mode="tree,form"
view_type="form"/>
@@ -542,7 +543,7 @@
id="act_scrum_sprint_2_project_task"
name="Tasks"
res_model="project.task"
- src_model="scrum.sprint"
+ src_model="project.scrum.sprint"
view_mode="tree,form"
view_type="form"/>
diff --git a/addons/scrum/report/__init__.py b/addons/project_scrum/report/__init__.py
similarity index 100%
rename from addons/scrum/report/__init__.py
rename to addons/project_scrum/report/__init__.py
diff --git a/addons/scrum/report/_burndown.py b/addons/project_scrum/report/_burndown.py
similarity index 100%
rename from addons/scrum/report/_burndown.py
rename to addons/project_scrum/report/_burndown.py
diff --git a/addons/scrum/report/sprint_burndown.py b/addons/project_scrum/report/sprint_burndown.py
similarity index 94%
rename from addons/scrum/report/sprint_burndown.py
rename to addons/project_scrum/report/sprint_burndown.py
index cdc837fe96b..853986c9d5f 100644
--- a/addons/scrum/report/sprint_burndown.py
+++ b/addons/project_scrum/report/sprint_burndown.py
@@ -48,9 +48,9 @@ class report_tasks(report_int):
canv = canvas.init(fname=io, format='pdf')
canv.set_author("Open ERP")
- cr.execute('select id,date_start,date_stop from scrum_sprint where id=%s', (datas['id'],))
+ cr.execute('select id,date_start,date_stop from project_scrum_sprint where id=%s', (datas['id'],))
for (id,date_start,date_stop) in cr.fetchall():
- cr.execute('select id from project_task where product_backlog_id in(select id from scrum_product_backlog where sprint_id=%s)', (id,))
+ cr.execute('select id from project_task where product_backlog_id in(select id from project_scrum_product_backlog where sprint_id=%s)', (id,))
ids = map(lambda x: x[0], cr.fetchall())
datas = _burndown.compute_burndown(cr, uid, ids, date_start, date_stop)
diff --git a/addons/scrum/report/task_burndown.py b/addons/project_scrum/report/task_burndown.py
similarity index 100%
rename from addons/scrum/report/task_burndown.py
rename to addons/project_scrum/report/task_burndown.py
diff --git a/addons/project_scrum/security/ir.model.access.csv b/addons/project_scrum/security/ir.model.access.csv
new file mode 100644
index 00000000000..752e834b1e0
--- /dev/null
+++ b/addons/project_scrum/security/ir.model.access.csv
@@ -0,0 +1,9 @@
+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
+"access_scrum_sprint","project_scrum.sprint","model_project_scrum_sprint","project.group_project_user",1,0,0,0
+"access_scrum_product_backlog","project_scrum.product.backlog","model_project_scrum_product_backlog","project.group_project_user",1,1,1,1
+"access_scrum_meeting","project_scrum.meeting","model_project_scrum_meeting","project.group_project_user",1,0,0,0
+"access_scrum_meeting_manager","project_scrum.meeting.manager","model_project_scrum_meeting","project.group_project_manager",1,1,1,1
+"access_scrum_sprint_manager","project_scrum.sprint.manager","model_project_scrum_sprint","project.group_project_manager",1,1,1,1
+"access_scrum_product_backlog_manager","project_scrum.product.backlog manager","model_project_scrum_product_backlog","project.group_project_manager",1,1,1,1
+"access_product_uom_project_manager","product.uom project manager","product.model_product_uom","project.group_project_manager",1,1,1,1
+"access_product_uom_project_user","product.uom project user","product.model_product_uom","project.group_project_user",1,0,0,0
diff --git a/addons/scrum/wizard/__init__.py b/addons/project_scrum/wizard/__init__.py
similarity index 90%
rename from addons/scrum/wizard/__init__.py
rename to addons/project_scrum/wizard/__init__.py
index bcced59f96b..92ed57d7d7e 100644
--- a/addons/scrum/wizard/__init__.py
+++ b/addons/project_scrum/wizard/__init__.py
@@ -19,9 +19,9 @@
#
##############################################################################
-import scrum_backlog_create_task
-import scrum_backlog_sprint
-import scrum_backlog_merger
+import project_scrum_backlog_create_task
+import project_scrum_backlog_sprint
+import project_scrum_backlog_merger
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/scrum/wizard/scrum_backlog_create_task.py b/addons/project_scrum/wizard/project_scrum_backlog_create_task.py
similarity index 95%
rename from addons/scrum/wizard/scrum_backlog_create_task.py
rename to addons/project_scrum/wizard/project_scrum_backlog_create_task.py
index fcade59bc2f..9fcf104211e 100644
--- a/addons/scrum/wizard/scrum_backlog_create_task.py
+++ b/addons/project_scrum/wizard/project_scrum_backlog_create_task.py
@@ -21,7 +21,7 @@
from osv import osv, fields
class backlog_create_task(osv.osv_memory):
- _name = 'backlog.create.task'
+ _name = 'project.scrum.backlog.create.task'
_description = 'Create Tasks from Product Backlogs'
_columns = {
'user_id': fields.many2one('res.users', 'Assign To')
@@ -30,7 +30,7 @@ class backlog_create_task(osv.osv_memory):
def do_create(self, cr, uid, ids, context=None):
mod_obj = self.pool.get('ir.model.data')
task = self.pool.get('project.task')
- backlog_id = self.pool.get('scrum.product.backlog')
+ backlog_id = self.pool.get('project.scrum.product.backlog')
ids_task = []
if context is None:
diff --git a/addons/scrum/wizard/scrum_backlog_create_task_view.xml b/addons/project_scrum/wizard/project_scrum_backlog_create_task_view.xml
similarity index 77%
rename from addons/scrum/wizard/scrum_backlog_create_task_view.xml
rename to addons/project_scrum/wizard/project_scrum_backlog_create_task_view.xml
index 25cc78b873f..0ec3ab736af 100644
--- a/addons/scrum/wizard/scrum_backlog_create_task_view.xml
+++ b/addons/project_scrum/wizard/project_scrum_backlog_create_task_view.xml
@@ -3,8 +3,8 @@
- backlog.create.task.form
- backlog.create.task
+ project.scrum.backlog.create.task.form
+ project.scrum.backlog.create.task
form
-
\ No newline at end of file
+
diff --git a/addons/scrum/wizard/scrum_backlog_merger.py b/addons/project_scrum/wizard/project_scrum_backlog_merger.py
similarity index 93%
rename from addons/scrum/wizard/scrum_backlog_merger.py
rename to addons/project_scrum/wizard/project_scrum_backlog_merger.py
index 8d7d38633c7..eb31ebe031c 100644
--- a/addons/scrum/wizard/scrum_backlog_merger.py
+++ b/addons/project_scrum/wizard/project_scrum_backlog_merger.py
@@ -21,15 +21,15 @@
from osv import osv, fields
from tools.translate import _
-class scrum_backlog_merge(osv.osv_memory):
- _name = 'scrum.backlog.merge'
+class project_scrum_backlog_merge(osv.osv_memory):
+ _name = 'project.scrum.backlog.merge'
_description = 'Merge Product Backlogs'
_columns = {
'project_id': fields.many2one('project.project', 'Project', help="Select project for the new product backlog"),
}
def check_backlogs(self, cr, uid, ids, context=None):
- backlog_obj = self.pool.get('scrum.product.backlog')
+ backlog_obj = self.pool.get('project.scrum.product.backlog')
mod_obj = self.pool.get('ir.model.data')
p_list = []
if context is None:
@@ -50,7 +50,7 @@ class scrum_backlog_merge(osv.osv_memory):
'context': context,
'view_type': 'form',
'view_mode': 'form',
- 'res_model': 'scrum.backlog.merge',
+ 'res_model': 'project.scrum.backlog.merge',
'views': [(resource_id,'form')],
'type': 'ir.actions.act_window',
'target': 'new',
@@ -58,7 +58,7 @@ class scrum_backlog_merge(osv.osv_memory):
return self.do_merge(cr, uid, ids, context=context)
def do_merge(self, cr, uid, ids, context=None):
- backlog_obj = self.pool.get('scrum.product.backlog')
+ backlog_obj = self.pool.get('project.scrum.product.backlog')
task_obj = self.pool.get('project.task')
task_lines = []
new_exp_hour = []
@@ -99,5 +99,5 @@ class scrum_backlog_merge(osv.osv_memory):
backlog_obj.unlink(cr, uid, context['active_ids'], context=context)
return {}
-scrum_backlog_merge()
+project_scrum_backlog_merge()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/scrum/wizard/scrum_backlog_merger_view.xml b/addons/project_scrum/wizard/project_scrum_backlog_merger_view.xml
similarity index 86%
rename from addons/scrum/wizard/scrum_backlog_merger_view.xml
rename to addons/project_scrum/wizard/project_scrum_backlog_merger_view.xml
index 849f6099908..9e374d9437b 100644
--- a/addons/scrum/wizard/scrum_backlog_merger_view.xml
+++ b/addons/project_scrum/wizard/project_scrum_backlog_merger_view.xml
@@ -3,7 +3,7 @@
Merge Backlogs
- scrum.backlog.merge
+ project.scrum.backlog.merge
form