-
-
Save Danisan/2082aaa677db24a6132a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
from openerp import models, fields, api | |
from openerp.osv import osv | |
from openerp.osv.orm import browse_null | |
import time | |
from datetime import datetime, timedelta | |
import logging | |
from openerp.tools.translate import _ | |
import os,sys,urllib3,json | |
urllib3.disable_warnings() | |
http = urllib3.PoolManager() | |
_logger = logging.getLogger(__name__) | |
class timesheet_toggl(models.Model): | |
_name = 'account.analytic.line' | |
_inherit = 'account.analytic.line' | |
# este es el ultimo cambio que hice anoche | |
@api.multi | |
def account_analytic_line_update(self): | |
from validator import validator | |
validator = validator() | |
weekly = '/weekly' | |
detail = '/details' | |
toggl_srv_data = self.env['toggl.server'].search([('active', '=', True)], limit=1) | |
base_url = toggl_srv_data.url | |
settings = '?user_agent=Odoo&workspace_id=%s' % (toggl_srv_data.workspace) | |
print '000000000000000000000' | |
print ('%s:api_token') % (toggl_srv_data.token) | |
recordmap = [ | |
['start','date','fechasola'], | |
['project','partner_id','client_map'], | |
['project','general_account_id','fixed'], | |
['project','to_invoice','fixed'], | |
['project','product_uom_id','fixed'], | |
['project','account_id','project_map'], | |
['dur','unit_amount','seconds_to_hours'], | |
['description','name','directo'], | |
['id','toggl_activity_id','directo'], | |
['uid','user_id','user_map'] | |
] | |
fieldsfilter = [ | |
{'fecha': '2015-07-09'}, | |
{'tuid': 1717087}, | |
{'use_stop':True} | |
] | |
headers = urllib3.util.make_headers(basic_auth=('%s:api_token') % (toggl_srv_data.token) ) | |
r = http.request('GET', base_url+detail+settings, headers=headers) | |
if r.status != 200: | |
print "Didn't work" | |
return | |
result = json.loads(r.data) | |
newdata = {} | |
for data in result['data']: | |
if data['use_stop']: | |
if not self.env['account.analytic.line'].search([('toggl_activity_id', '=', data['id'])]): | |
#if True: | |
newdata = {} | |
for record in recordmap: | |
newdata[record[1]] = getattr(validator,record[2])(self,data[record[0]],record[1]) | |
print newdata | |
self.create(newdata) | |
return True | |
toggl_activity_id = fields.Char('Toggl ID: ', readonly=True, size=12) | |
toggl_image = fields.Char('Src',compute='_compute_image') | |
@api.depends('toggl_activity_id') | |
def _compute_image(self): | |
for x in self: | |
if x.toggl_activity_id: | |
x.toggl_image = 'timesheet_toggl/static/src/img/toggl_icon.png' | |
else: | |
x.toggl_image = 'timesheet_toggl/static/src/img/odoo_icon.png' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment