You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							69 lines
						
					
					
						
							3.0 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							69 lines
						
					
					
						
							3.0 KiB
						
					
					
				
								# -*- coding: utf-8 -*-
							 | 
						|
								##############################################################################
							 | 
						|
								#
							 | 
						|
								#    Cybrosys Technologies Pvt. Ltd.
							 | 
						|
								#    Copyright (C) 2016-TODAY Cybrosys Technologies(<http://www.cybrosys.com>).
							 | 
						|
								#    Author: Jesni Banu(<http://www.cybrosys.com>)
							 | 
						|
								#    you can modify it under the terms of the GNU LESSER
							 | 
						|
								#    GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
							 | 
						|
								#
							 | 
						|
								#    It is forbidden to publish, distribute, sublicense, or sell copies
							 | 
						|
								#    of the Software or modified copies of the Software.
							 | 
						|
								#
							 | 
						|
								#    This program is distributed in the hope that it will be useful,
							 | 
						|
								#    but WITHOUT ANY WARRANTY; without even the implied warranty of
							 | 
						|
								#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
							 | 
						|
								#    GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
							 | 
						|
								#
							 | 
						|
								#    You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
							 | 
						|
								#    GENERAL PUBLIC LICENSE (LGPL v3) along with this program.
							 | 
						|
								#    If not, see <http://www.gnu.org/licenses/>.
							 | 
						|
								#
							 | 
						|
								##############################################################################
							 | 
						|
								from openerp import models, fields, api, _
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class ApproveRecurrentTask(models.Model):
							 | 
						|
								    _name = 'approve.recurrent.task'
							 | 
						|
								
							 | 
						|
								    task = fields.Many2one('project.task', string='Task')
							 | 
						|
								    project = fields.Many2one('project.project', string='Project')
							 | 
						|
								    user_id = fields.Many2one('res.users', string='Requested user')
							 | 
						|
								    team_lead = fields.Many2one('res.users', string='Team lead')
							 | 
						|
								    from_date = fields.Datetime(string='Start time')
							 | 
						|
								    interval_number = fields.Integer(string='Interval Qty')
							 | 
						|
								    interval_type = fields.Selection([('days', 'Days'),
							 | 
						|
								                                      ('weeks', 'Weeks'),
							 | 
						|
								                                      ('months', 'Months')], string='Interval Unit')
							 | 
						|
								    name = fields.Char(string='Name')
							 | 
						|
								    state = fields.Selection([
							 | 
						|
								        ('waiting', 'Waiting For Approval '),
							 | 
						|
								        ('approved', 'Approved'),
							 | 
						|
								        ('rejected', 'Rejected'),
							 | 
						|
								    ], 'Status', readonly=True, default='waiting', select=True)
							 | 
						|
								    reason = fields.Text(string='Reason')
							 | 
						|
								
							 | 
						|
								    @api.multi
							 | 
						|
								    def approve_recurrent_task(self):
							 | 
						|
								        doc_id = self.env.ref('project_recurrent_task.recurrent_document_22')
							 | 
						|
								        rec_inv_doc = self.env['subscription.subscription']
							 | 
						|
								        rec_inv_doc_id = rec_inv_doc.create({'name': self.name + ' ' + 'Task',
							 | 
						|
								                                             'interval_type': self.interval_type,
							 | 
						|
								                                             'interval_number': self.interval_number,
							 | 
						|
								                                             'doc_source': doc_id.model.model + ',' + str(self.task.id),
							 | 
						|
								                                             })
							 | 
						|
								        rec_inv_doc_id.set_process()
							 | 
						|
								        self.state = 'approved'
							 | 
						|
								
							 | 
						|
								
							 | 
						|
								class WizardReason(models.Model):
							 | 
						|
								    _name = 'wizard.reason'
							 | 
						|
								
							 | 
						|
								    @api.multi
							 | 
						|
								    def send_reason(self):
							 | 
						|
								        context = self._context
							 | 
						|
								        approval_obj = self.env['approve.recurrent.task'].search([('id', '=', context.get('approval_id'))])
							 | 
						|
								        approval_obj.write({'state': 'rejected',
							 | 
						|
								                            'reason': self.reason})
							 | 
						|
								
							 | 
						|
								    reason = fields.Text(string="Reason")
							 | 
						|
								
							 |