diff --git a/addons/base_setup/installer.py b/addons/base_setup/installer.py index edfbb573911..e70e34a5606 100644 --- a/addons/base_setup/installer.py +++ b/addons/base_setup/installer.py @@ -107,7 +107,7 @@ class base_setup_installer(osv.osv_memory): def _if_misc_tools(self, cr, uid, ids, context=None): interface = self.pool.get('res.users').browse(cr, uid, uid, context=context).view if interface == 'simple' or interface =='extended' : - return ['lunch','idea','survey'] + return ['profile_tools'] return None def _if_account(self, cr, uid, ids, context=None): diff --git a/addons/idea/idea.py b/addons/idea/idea.py index e1a522b6381..4b6dbd4d039 100644 --- a/addons/idea/idea.py +++ b/addons/idea/idea.py @@ -51,7 +51,7 @@ idea_category() class idea_idea(osv.osv): """ Idea """ _name = 'idea.idea' - _rec_name = 'title' + _rec_name = 'name' def _vote_avg_compute(self, cr, uid, ids, name, arg, context = None): @@ -153,7 +153,7 @@ class idea_idea(osv.osv): _columns = { 'user_id': fields.many2one('res.users', 'Creator', required=True, readonly=True), - 'title': fields.char('Idea Summary', size=64, required=True, readonly=True, states={'draft':[('readonly',False)]}), + 'name': fields.char('Idea Summary', size=64, required=True, readonly=True, states={'draft':[('readonly',False)]}), 'description': fields.text('Description', help='Content of the idea', readonly=True, states={'draft':[('readonly',False)]}), 'comment_ids': fields.one2many('idea.comment', 'idea_id', 'Comments'), 'created_date': fields.datetime('Creation date', readonly=True), diff --git a/addons/idea/idea_data.xml b/addons/idea/idea_data.xml index 8c147c35d32..6d5bda20de4 100644 --- a/addons/idea/idea_data.xml +++ b/addons/idea/idea_data.xml @@ -1,15 +1,15 @@ - + General General Ideas True - + - TODO: Need to put a good idea on OpenERP + TODO: Need to put a good idea on OpenERP TODO: Need to put a good idea on OpenERP True diff --git a/addons/idea/idea_view.xml b/addons/idea/idea_view.xml index 97f48e5b6f6..d5506d9a677 100644 --- a/addons/idea/idea_view.xml +++ b/addons/idea/idea_view.xml @@ -135,6 +135,7 @@ + @@ -175,9 +176,11 @@ - - + + + + @@ -192,7 +195,7 @@
- + @@ -217,7 +220,7 @@ - + @@ -261,7 +264,7 @@ tree - + @@ -285,12 +288,11 @@ - - + + - + @@ -309,11 +311,10 @@ idea.idea form tree,form - {"search_default_user_id":uid} - + @@ -387,7 +388,7 @@ - Idea's vote + Idea's Votes idea.vote form tree,form diff --git a/addons/idea/report/report_vote.py b/addons/idea/report/report_vote.py index 2751450129c..008cb3ed711 100644 --- a/addons/idea/report/report_vote.py +++ b/addons/idea/report/report_vote.py @@ -35,7 +35,7 @@ class report_vote(osv.osv): ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True), 'day': fields.char('Day', size=128, readonly=True), 'user_id': fields.many2one('res.users', 'User Name'), - 'score': fields.integer('Score'), + 'score': fields.integer('Score',group_operator="avg"), 'idea_id': fields.many2one('idea.idea', 'Idea'), 'nbr':fields.integer('# of Lines', readonly=True), 'idea_state': fields.selection([('draft', 'Draft'),('open', 'Opened'), diff --git a/addons/idea/report/report_vote_view.xml b/addons/idea/report/report_vote_view.xml index 5b82cb4e396..0b0fa7edb12 100644 --- a/addons/idea/report/report_vote_view.xml +++ b/addons/idea/report/report_vote_view.xml @@ -17,7 +17,7 @@ - + @@ -40,7 +40,7 @@ separator="1" domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]" help="Idea Vote created last 7 days"/> - + + + + + + + + + + - - - + @@ -76,12 +83,12 @@ - Idea Vote Analysis + Ideas Analysis report.vote form tree,form - {'search_default_User':1,'group_by_no_leaf':1,'group_by':[]} + {'search_default_User':1,'search_default_State':1,'group_by_no_leaf':1,'group_by':[]} diff --git a/addons/idea/security/ir.model.access.csv b/addons/idea/security/ir.model.access.csv index dae5127cc90..30dc0850c3f 100644 --- a/addons/idea/security/ir.model.access.csv +++ b/addons/idea/security/ir.model.access.csv @@ -1,20 +1,20 @@ "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink" -"access_idea_category","idea.category","model_idea_category","base.group_user",1,0,0,0 +"access_idea_category","idea.category","model_idea_category","base.group_user",1,1,1,1 "access_idea_idea","idea.idea","model_idea_idea","base.group_user",1,1,1,1 "access_idea_vote","idea.vote","model_idea_vote","base.group_user",1,1,1,1 -"access_idea_vote_stat","idea.vote.stat","model_idea_vote_stat","base.group_user",1,0,0,0 +"access_idea_vote_stat","idea.vote.stat","model_idea_vote_stat","base.group_user",1,1,1,1 "access_idea_category_system","idea.category system","model_idea_category","base.group_system",1,1,1,1 "access_idea_comment","idea.comment","model_idea_comment","base.group_system",1,1,1,1 -"access_idea_comment_user","idea.comment","model_idea_comment","base.group_user",1,1,1,0 +"access_idea_comment_base_user","idea.comment.base.user","model_idea_comment","base.group_user",1,1,1,1 "access_report_vote","report.vote","model_report_vote","base.group_user",1,1,1,1 "access_idea_idea_sale_salesman","idea.idea.sale","model_idea_idea","base.group_sale_salesman",1,1,1,1 "access_idea_vote_sale_salesman","idea.vote.sale","model_idea_vote","base.group_sale_salesman",1,1,1,1 "access_idea_category_user","idea.category user","model_idea_category","base.group_tool_user",1,1,1,1 "access_idea_idea_user","idea.idea user","model_idea_idea","base.group_tool_user",1,1,1,1 "access_idea_vote_user","idea.vote user","model_idea_vote","base.group_tool_user",1,1,1,1 -"access_idea_category_manager","idea.category manager","model_idea_category","base.group_tool_manager",1,0,0,0 -"access_idea_idea_manager","idea.idea manager","model_idea_idea","base.group_tool_manager",1,0,0,0 -"access_idea_vote_manager","idea.vote manager","model_idea_vote","base.group_tool_manager",1,0,0,0 +"access_idea_category_manager","idea.category manager","model_idea_category","base.group_tool_manager",1,1,1,1 +"access_idea_idea_manager","idea.idea manager","model_idea_idea","base.group_tool_manager",1,1,1,1 +"access_idea_vote_manager","idea.vote manager","model_idea_vote","base.group_tool_manager",1,1,1,1 "access_idea_vote_stat_user","idea.vote.stat user","model_idea_vote_stat","base.group_tool_user",1,1,1,1 "access_idea_comment_user","idea.comment user","model_idea_comment","base.group_tool_user",1,1,1,1 "access_report_vote_manager","report.vote manager","model_report_vote","base.group_tool_manager",1,1,1,1 @@ -23,3 +23,4 @@ "access_report_vote_system","report.vote system","model_report_vote","base.group_system",1,0,0,0 "access_idea_vote_stat_manager","idea.vote.stat manager","model_idea_vote_stat","base.group_tool_manager",1,1,1,1 "access_idea_vote_stat_system","idea.vote.stat system","model_idea_vote_stat","base.group_system",1,1,1,1 +"access_idea_comment_manager","idea.comment.manager","model_idea_comment","base.group_tool_manager",1,1,1,1 diff --git a/addons/idea/test/test_idea.yml b/addons/idea/test/test_idea.yml index 307344cf584..bdf66af961e 100644 --- a/addons/idea/test/test_idea.yml +++ b/addons/idea/test/test_idea.yml @@ -15,7 +15,7 @@ description: I want that Technical presentation are arranged for 1 hours in every day.\nso, on that presentation, we can know all things what improvement and development are done in our company.\n\n\n\n\n - title: Technical presentation for 1 hours in every day + name: Technical presentation for 1 hours in every day user_id: base.user_root - | diff --git a/addons/idea/wizard/idea_post_vote.py b/addons/idea/wizard/idea_post_vote.py index c4ba6f331dc..7dacbcfedac 100644 --- a/addons/idea/wizard/idea_post_vote.py +++ b/addons/idea/wizard/idea_post_vote.py @@ -87,7 +87,7 @@ class idea_post_vote(osv.osv_memory): raise osv.except_osv(_('Warning !'),_("You can not give Vote for this idea more than %s times") % (user_limit)) if idea.state != 'open': - raise osv.except_osv(_('Warning !'), _('Idea should be in \ + raise osv.except_osv(_('Warning !'), _('Idea must be in \ \'Open\' state before vote for that idea.')) return False diff --git a/addons/lunch/lunch.py b/addons/lunch/lunch.py index 06034df1688..ad2996315aa 100644 --- a/addons/lunch/lunch.py +++ b/addons/lunch/lunch.py @@ -81,7 +81,7 @@ class lunch_cashbox(osv.osv): _columns = { 'manager': fields.many2one('res.users', 'Manager'), 'name': fields.char('Name', size=30, required=True, unique = True), - 'sum_remain': fields.function(amount_available, method=True, string='Remained Total'), + 'sum_remain': fields.function(amount_available, method=True, string='Total Remaining'), } lunch_cashbox() @@ -136,12 +136,12 @@ class lunch_order(osv.osv): readonly=True, states={'draft':[('readonly', False)]}, change_default=True), 'date': fields.date('Date', readonly=True, states={'draft':[('readonly', False)]}), 'cashmove': fields.many2one('lunch.cashmove', 'CashMove' , readonly=True), - 'descript': fields.char('Description Order', readonly=True, size=50, \ + 'descript': fields.char('Description Order', readonly=True, size=250, \ states = {'draft':[('readonly', False)]}), 'state': fields.selection([('draft', 'Draft'), ('confirmed', 'Confirmed'), ], \ 'State', readonly=True, select=True), 'price': fields.function(_price_get, method=True, string="Price"), - 'category': fields.many2one('lunch.category','Category'), + 'category': fields.many2one('lunch.category','Category',readonly=True), } _defaults = { @@ -217,6 +217,12 @@ class report_lunch_amount(osv.osv): 'user_id': fields.many2one('res.users', 'User Name', readonly=True), 'amount': fields.float('Amount', readonly=True, digits=(16, 2)), 'box': fields.many2one('lunch.cashbox', 'Box Name', size=30, readonly=True), + 'year': fields.char('Year', size=4, readonly=True), + 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), + ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), + ('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True), + 'day': fields.char('Day', size=128, readonly=True), + 'date': fields.date('Created Date', readonly=True), } def init(self, cr): @@ -227,6 +233,10 @@ class report_lunch_amount(osv.osv): create or replace view report_lunch_amount as ( select min(lc.id) as id, + to_date(to_char(lc.create_date, 'dd-MM-YYYY'),'dd-MM-YYYY') as date, + to_char(lc.create_date, 'YYYY') as year, + to_char(lc.create_date, 'MM') as month, + to_char(lc.create_date, 'YYYY-MM-DD') as day, lc.user_cashmove as user_id, sum(amount) as amount, lc.box as box @@ -234,7 +244,7 @@ class report_lunch_amount(osv.osv): lunch_cashmove lc where active = 't' - group by lc.user_cashmove, lc.box + group by lc.user_cashmove, lc.box, lc.create_date )""") report_lunch_amount() diff --git a/addons/lunch/lunch_view.xml b/addons/lunch/lunch_view.xml index b0804cbb9b0..3c33dcd247e 100644 --- a/addons/lunch/lunch_view.xml +++ b/addons/lunch/lunch_view.xml @@ -6,14 +6,14 @@ id="menu_lunch" sequence="1" /> + id="base.menu_lunch_reporting" sequence="6" groups="base.group_system,base.group_tool_manager"/> + id="base.menu_lunch_survey_root" sequence="20" groups="base.group_system"/> @@ -47,14 +47,13 @@ tree + - - - - + +