From 61b7f5034d0d2b8b609dd99fe32766e48ed99114 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Tue, 12 Jun 2012 18:14:54 +0530 Subject: [PATCH 001/214] [ADD] Add linkedin module for integration linkedin with openerp. bzr revid: jra@tinyerp.com-20120612124454-78zfn48kerp93c5z --- addons/web_linkedin/__init__.py | 2 + addons/web_linkedin/__openerp__.py | 27 + addons/web_linkedin/res_config.py | 52 ++ addons/web_linkedin/res_config_view.xml | 26 + addons/web_linkedin/res_partner_view.xml | 36 + .../web_linkedin/static/src/css/linkedin.css | 39 + .../static/src/img/Linkedin_blue.png | Bin 0 -> 5435 bytes .../static/src/img/Linkedin_grey.png | Bin 0 -> 2748 bytes addons/web_linkedin/static/src/img/icon.png | Bin 0 -> 38257 bytes .../static/src/img/linkedin-profile.gif | Bin 0 -> 2244 bytes .../web_linkedin/static/src/img/loading.png | Bin 0 -> 5260 bytes .../static/src/img/twitt-follow.png | Bin 0 -> 12908 bytes addons/web_linkedin/static/src/js/linkedin.js | 667 ++++++++++++++++++ .../web_linkedin/static/src/xml/linkedin.xml | 124 ++++ addons/web_linkedin/web_linkedin.py | 72 ++ 15 files changed, 1045 insertions(+) create mode 100644 addons/web_linkedin/__init__.py create mode 100644 addons/web_linkedin/__openerp__.py create mode 100644 addons/web_linkedin/res_config.py create mode 100644 addons/web_linkedin/res_config_view.xml create mode 100644 addons/web_linkedin/res_partner_view.xml create mode 100644 addons/web_linkedin/static/src/css/linkedin.css create mode 100644 addons/web_linkedin/static/src/img/Linkedin_blue.png create mode 100644 addons/web_linkedin/static/src/img/Linkedin_grey.png create mode 100644 addons/web_linkedin/static/src/img/icon.png create mode 100644 addons/web_linkedin/static/src/img/linkedin-profile.gif create mode 100644 addons/web_linkedin/static/src/img/loading.png create mode 100644 addons/web_linkedin/static/src/img/twitt-follow.png create mode 100644 addons/web_linkedin/static/src/js/linkedin.js create mode 100644 addons/web_linkedin/static/src/xml/linkedin.xml create mode 100644 addons/web_linkedin/web_linkedin.py diff --git a/addons/web_linkedin/__init__.py b/addons/web_linkedin/__init__.py new file mode 100644 index 00000000000..92b70f98cf8 --- /dev/null +++ b/addons/web_linkedin/__init__.py @@ -0,0 +1,2 @@ +import res_config +import web_linkedin \ No newline at end of file diff --git a/addons/web_linkedin/__openerp__.py b/addons/web_linkedin/__openerp__.py new file mode 100644 index 00000000000..680bef0c47b --- /dev/null +++ b/addons/web_linkedin/__openerp__.py @@ -0,0 +1,27 @@ +{ + "name" : "LinkedIn Integration", + 'version': '0.1', + 'category': 'Tools', + 'complexity': "easy", + "description": + """ + OpenERP Web LinkedIn module. + This module provides the Integration of the LinkedIn with OpenERP. + """, + 'update_xml': [ + 'res_partner_view.xml', + 'res_config_view.xml', + ], + "depends" : ["base"], + "js": [ + "static/src/js/*.js" + ], + "css": [ + "static/src/css/*.css" + ], + 'qweb': [ + "static/src/xml/*.xml" + ], + 'installable': True, + 'auto_install': False, +} diff --git a/addons/web_linkedin/res_config.py b/addons/web_linkedin/res_config.py new file mode 100644 index 00000000000..e3e70237086 --- /dev/null +++ b/addons/web_linkedin/res_config.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (C) 2004-2012 OpenERP S.A. (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# 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 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 . +# +############################################################################## + +from osv import osv, fields + +class base_config_settings(osv.osv_memory): + _inherit = 'base.config.settings' + _name = 'base.config.settings' + _columns = { + 'default_linkedin_api_key': fields.char('LinkedIn API key', size=128, required=True, default_model='res.company', + help="""Give API key of linkedin."""), + 'generate_key': fields.text('Go to URL', readonly=True, + help="""If you have not generate linkedin API Key yet than Go to URL to generate and enter it in above text field."""), + } + _defaults = { + 'generate_key': "To find contact persons from LinkedIn "\ + "\n====================================="\ + "\n* Go to this URL : www.linkedin.com/secure/developer "\ + "\n* Add New Application and fill the form,"\ + "\n - JavaScript API Domain is Your domain name (e.g. abc.com),"\ + "\n - You can give multiple domain (e.g. abc.com, xyz.com)"\ + "\n - programming tools is Javascript"\ + '\n* Copy the "API Key" and paste it in the field "LinkedIn API Key" here above".' + } + + def execute(self, cr, uid, ids, context=None): + super(base_config_settings,self).execute(cr, uid, ids, context=context) + company_obj = self.pool.get('res.company') + data = self.browse(cr, uid, ids[0], context=context) + company_id = company_obj._company_default_get(cr, uid, 'res.users', context=context) + company_obj.write(cr, uid, [company_id], {'default_linkedin_api_key': data.default_linkedin_api_key}, context=context) + +base_config_settings() +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/web_linkedin/res_config_view.xml b/addons/web_linkedin/res_config_view.xml new file mode 100644 index 00000000000..2fef772d0b6 --- /dev/null +++ b/addons/web_linkedin/res_config_view.xml @@ -0,0 +1,26 @@ + + + + General Settings + base.config.settings + + form + 20 + + + + + + + + + + + + + + + + + + diff --git a/addons/web_linkedin/res_partner_view.xml b/addons/web_linkedin/res_partner_view.xml new file mode 100644 index 00000000000..6b8725f60fe --- /dev/null +++ b/addons/web_linkedin/res_partner_view.xml @@ -0,0 +1,36 @@ + + + + + res.partner.linkedin.inherit + res.partner + form + + + + + + + + + + + + + + res.company.linkedin.inherit + res.company + form + + + + + + + + + + + + + diff --git a/addons/web_linkedin/static/src/css/linkedin.css b/addons/web_linkedin/static/src/css/linkedin.css new file mode 100644 index 00000000000..0ca3dc90ac9 --- /dev/null +++ b/addons/web_linkedin/static/src/css/linkedin.css @@ -0,0 +1,39 @@ +.ul-ldn-dropdown { + list-style: none outside none; + padding: 1px; + max-height: 500px; + margin: 0px; + background-color: rgb(255, 255, 255); + border: 1px solid rgb(153, 153, 153); +} + +.li-ldn-dropdown { + margin: 0px; + display: block; + cursor: default; + padding: 3px; + border: 1px solid rgb(255, 255, 255); + background-color: transparent; +} +.li-ldn-dropdown td{ + font-size:10px; + font-weight:normal; + padding: 2px 2px 0px; +} + +.li-ldn-dropdown:hover { + margin: 0px; + display: block; + cursor: pointer; + border: 1px solid rgb(10, 36, 106); + background-color: rgb(182, 189, 210) +} + +.search-box { + background: none repeat scroll 0 0%, -moz-linear-gradient(#EFEFEF, #D8D8D8) repeat scroll 0 0 transparent; + background: none repeat scroll 0 0%, -webkit-linear-gradient(#EFEFEF, #D8D8D8) repeat scroll 0 0 transparent; + border: 1px solid #ABABAB; + border-radius: 3px 3px 3px 3px; + box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; + max-height: 450px; +} diff --git a/addons/web_linkedin/static/src/img/Linkedin_blue.png b/addons/web_linkedin/static/src/img/Linkedin_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..c37d0218f7d64711a93bf02cd0469faad5dba9a5 GIT binary patch literal 5435 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 literal 0 HcmV?d00001 diff --git a/addons/web_linkedin/static/src/img/Linkedin_grey.png b/addons/web_linkedin/static/src/img/Linkedin_grey.png new file mode 100644 index 0000000000000000000000000000000000000000..726e012f2209fdd3d40c825f99a23cdd29b9d145 GIT binary patch literal 2748 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 literal 0 HcmV?d00001 diff --git a/addons/web_linkedin/static/src/img/twitt-follow.png b/addons/web_linkedin/static/src/img/twitt-follow.png new file mode 100644 index 0000000000000000000000000000000000000000..684813a1ee409af31bd3c4cd197951e1c72fdc51 GIT binary patch literal 12908 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 WR*i`F>{WsQ0000Loading....');*/ + var temp = 0; + $(head).find('script').each( function(i,val) { + if($(val).attr('src')=="http://platform.linkedin.com/in.js"){ + temp = 1; + } + }); + if(temp != 1) { + head.appendChild( tag ); + } + this.notification = new instance.web.Notification(this); + this.notification.appendTo(this.$element); + this.$element.find(".linkedin_icon").click( this.do_load_linkedin ); + this.removeTemplate(); + if(this.view.fields['name'].get_value()!=false){ + /* if value get then display button of profile url */ + if (this.view.fields['profile_id'].get_value() || this.view.datarecord['profile_id']) { + this.setTemplate(this.view.datarecord['profile_id'] , false ); + } + /* if value get then display button of twitter */ + if (this.view.fields['twitter_id'].get_value() || this.view.datarecord['twitter_id']) { + this.setTemplate( false, this.view.datarecord['twitter_id']); + } + } + if (this.view.datarecord['linkedin_id']) { + if (this.view.datarecord['profile_id'] && !this.view.datarecord['twitter_id']) { + if (this.$element.find('#twitterid')) { + this.$element.find('#twitterid').remove(); + } + } + else if (!this.view.datarecord['profile_id'] && this.view.datarecord['twitter_id']) { + if (this.$element.find('#profileid')) { + this.$element.find('#profileid').remove(); + } + } + }else{ + this.removeTemplate(); + } + } else { + this.removeTemplate(); + if(this.view.fields['name'].get_value()!=false){ + var tagtr = document.createElement('tr'); + tagtr.id = "profiletwittor-tr"; + this.$element.append(tagtr); + /* if value get then display button of profile url */ + if (this.view.fields['profile_id'] && this.view.datarecord['profile_id']) { + this.setTemplate( this.view.datarecord['profile_id'] , false ); + } + /* if value get then display button of twitter */ + if (this.view.fields['twitter_id'] && this.view.datarecord['twitter_id']) { + this.setTemplate( false, this.view.datarecord['twitter_id'] ); + } + } + } + }, + APIKeyWarning: function(e) { + e.message= "Linkedin API Key is not registerd/correct.\n Go to Settings, 'General Settings' menu and follow steps to register the LinkedIn API Key."; + instance.web.dialog($(QWeb.render("CrashManager.warning", _t(e))), { + title: _t("Linkedin API Key Warning"), + modal: true, + height: 200, + width: 500, + buttons: [ + { + text: _t("Ok"), + click: function() { $(this).dialog("close"); } + }] + }); + }, + setTemplate: function( URL, AccountName ) { + if(AccountName){ + var AccountName = AccountName.replace(/[^a-zA-Z 0-9]+/g, ''); + Twitt = "https://twitter.com/intent/follow?original_referer=http%3A%2F%2Flocalhost%3A8069%2Fweb%2Fwebclient%2Fhome&screen_name="+AccountName+"&source=followbutton&variant=2.0" + this.$element.find('tr#profiletwittor-tr').append(QWeb.render('TwitterURL',{'URLID': Twitt, 'account': AccountName})) + }else if(URL){ + this.$element.find('tr#profiletwittor-tr').append(QWeb.render('ProfileURL',{'URLID': URL })) + } + }, + removeTemplate: function( flag ) { + if (flag) { + this.$element.find('#searchresults').remove(); + } else { + if (this.$element.find('#profileid')) { + this.$element.find('#profileid').remove(); + } + if (this.$element.find('#twitterid')) { + this.$element.find('#twitterid').remove(); + } + } + }, + /* Load Linkedin Data On search */ + do_load_linkedin: function( e ) { + var self = this; + this.msg_Counter=0; /* used to display notification, when record not found on Linkedin search */ + this.removeTemplate( 1 ); + if(!this.apikey){ + this.APIKeyWarning(this.APIWarning); + e.preventDefault(); + e.stopPropagation(); + e.stopImmediatePropagation(); + return false; + } + if (IN.ENV.auth.oauth_token) { + if (self.$element.find("input").val()) { + self.$element.find('#loader').show(); + $('.linkedin_icon').css('display', 'none'); + /* People Search */ + IN.API.Raw("/people-search:(people:(id,first-name,last-name,picture-url,public-profile-url,formatted-name,location,phone-numbers,im-accounts,main-address,headline))") + .params({ + "first-name": self.$element.find("input").val(), + "count" : 4 + }) + .result( self.do_fetch_detail ); + /* Company Search */ + IN.API.Raw("/company-search:(companies:(id,name,description,industry,logo-url,website-url,locations,twitter-id))") + .params({ + "keywords": self.$element.find("input").val(), + "count" : 4 + }) + .result( self.do_fetch_detail ); + }else{ + this.notification.warn(_t("Linkedin Search"), _t("Please Enter Required Field.")); + } + } + else { + self.do_authorize(); + } + e.preventDefault(); + e.stopPropagation(); + e.stopImmediatePropagation(); + }, + do_authorize: function(resultCallback){ + this.check_authorized(); + if (this.isAuthorized == false){ + IN.User.authorize(resultCallback); + } + }, + check_authorized: function(){ + this.isAuthorized = IN.User.isAuthorized(); + }, + /* Fetch Result from Linkedin and set in searchbox */ + do_fetch_detail: function(result, metadata) { + var self = this; + if (result.people) { + if (result.people._total==0) { + this.msg_Counter++; + } + var count = 0; + for (i in result.people.values) { + var temp = self.validName(result.people.values[i].firstName, result.people.values[i].lastName) + if (temp) { + count++; + } + } + if (count == 4 || count==result.people._total) { + result.people._total = 0; + } + this.resultcontact = result; + }else if (result.companies) { + if (result.companies._total == 0) { + this.msg_Counter++; + } + this.resultcompany = result; + } + this.removeTemplate( 1 ); + if (this.msg_Counter == 2) { + // dialog box + /*new instance.web.dialog($(QWeb.render("SearchWarning")), { + title: _t("Linkedin Search"), + modal: true, + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] + });*/ + // notification + this.notification.warn(_t("Linkedin Search"), _t("Record Not Found.")); + this.$element.find('#loader').hide(); + if(this.view.fields['linkedin_id']){ + if(this.view.datarecord['linkedin_id']){ + this.$element.find('#linkedindefault').hide(); + this.$element.find('#linkedinrecord').show(); + }else{ + this.$element.find('#linkedinrecord').hide(); + this.$element.find('#linkedindefault').show(); + } + } + } else { + if (this.resultcontact || this.resultcompany) { + this.$element.find('#linkedin-field-name').append(QWeb.render( 'Linkedincontact', {'result' : this.resultcontact, 'resultcompany' : this.resultcompany})) ; + } + } + if(this.$element.find('#searchresults .search-box ul li')){ + this.$element.find('#loader').hide(); + if(this.view.fields['linkedin_id']){ + if(this.view.datarecord['linkedin_id']){ + this.$element.find('#linkedindefault').hide(); + this.$element.find('#linkedinrecord').show(); + }else{ + this.$element.find('#linkedinrecord').hide(); + this.$element.find('#linkedindefault').show(); + } + } + } + this.$element.find('#searchresults .search-box ul li').click( function() { + self.getdata( this ); + }); + $(document).click( function() { + self.removeTemplate( 1 ); + }); + }, + /* Selected record's data fetched */ + getdata: function( e ) { + var self = this; + if (this.resultcontact) { + for (i in this.resultcontact.people.values) { + if (self.resultcontact.people.values[i].id == $(e).attr('id')) { + self.removeTemplate( 1 ); + this.getTwitterAccount( self.resultcontact.people.values[i] ) + } + } + } + if(this.resultcompany){ + for ( i in this.resultcompany.companies.values ) { + if ( self.resultcompany.companies.values[i].id == $(e).attr('id') ) { + self.removeTemplate( 1 ); + self.map_values(self.resultcompany.companies.values[i]); + } + } + } + }, + /* Based on Linkedin Id of record fetch Twitter Account Detail for People */ + getTwitterAccount: function( values, flag, mainfield ){ + var self = this; + IN.API.Profile(values.id).fields('twitter-accounts') + .result(function(acname){ + values.twitterAccounts = acname.values[0].twitterAccounts + if(flag){ + self.map_values(values, flag, mainfield); + }else{ + self.map_values(values); + } + }); + }, + /* Mapping of Linkedin Fields with res.partner Fields + linkedinrecord : contains linkedin record's data + flag : indicates mapping of People search record or for company's contacts/connections (people) + if(flag) mapping for contacts of company + if(!flag) mapping for people search + mainfield : class of child_ids field + */ + map_values: function (linkedinrecord, flag, mainfield){ + var self = this, tempdata = {}, temp_data = 0, id = this.view.datarecord.id; + _(this.view.fields).each(function (field, f) { + if (f=='name') { + if (!flag) { + if (linkedinrecord.formattedName) { + field.set_value(linkedinrecord['formattedName'] || false); + } else if(linkedinrecord.name) { + field.set_value(linkedinrecord['name'] || false); + } + } else { + tempdata[f] = linkedinrecord.firstName+' '+linkedinrecord.lastName; + } + } + else if (f=='property_account_payable') { + if(flag == 1)tempdata[f] = field.get_value() + } + else if (f=='property_account_receivable') { + if(flag == 1)tempdata[f] = field.get_value() + } + else if (f=='type') { + (flag == 1) ? tempdata[f] = field.get_value() : field.get_value(); + } + else if (f=='linkedin_id') { + (flag == 1) ? tempdata[f] = linkedinrecord['id'] : field.set_value(linkedinrecord['id']); + } + else if (f=='profile_id') { + if (linkedinrecord.publicProfileUrl) { + (flag == 1) ? tempdata[f] = linkedinrecord.publicProfileUrl : field.set_value(linkedinrecord.publicProfileUrl); + } else { + field.set_value(false); + tempdata[f] = false; + } + } + else if (f=='twitter_id') { + if (linkedinrecord.twitterAccounts && linkedinrecord.twitterAccounts._total >= 1) { + (flag == 1) ? tempdata[f] = linkedinrecord.twitterAccounts.values[0].providerAccountName : field.set_value(linkedinrecord.twitterAccounts.values[0].providerAccountName); + }else if (linkedinrecord.twitterId) { + (flag == 1) ? tempdata[f] = linkedinrecord.twitterId : field.set_value(linkedinrecord.twitterId); + } else { + (flag == 1) ? tempdata[f] = false : field.set_value(false); + } + } + else if (f=='mobile') { + if (!flag && linkedinrecord.phoneNumbers && linkedinrecord['phoneNumbers']._total>=1 && linkedinrecord['phoneNumbers'].values[0].phoneType == "mobile") { + field.set_value( linkedinrecord['phoneNumbers'].values[0].phoneNumber || false ); + }else if (flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='phone') { + if (!flag && linkedinrecord.phoneNumbers && linkedinrecord['phoneNumbers']._total>=1 && linkedinrecord['phoneNumbers'].values[0].phoneType != "mobile") { + field.set_value(linkedinrecord['phoneNumbers'].values[0].phoneNumber || false); + } else if(flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='email') { + if (!flag && linkedinrecord.imAccounts && linkedinrecord['imAccounts']._total>=1) { + field.set_value(linkedinrecord['imAccounts'].values[0].imAccountName); + } else if(flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='photo') { + if (!flag) { + if (linkedinrecord.pictureUrl && linkedinrecord['pictureUrl']) { + /* Fetch binary data from URL for People */ + self.rpc('/web_linkedin/binary/url2binary',{'url':linkedinrecord['pictureUrl']},function(data){ + field.set_value(data); + }); + } else if (linkedinrecord.logoUrl && linkedinrecord['logoUrl']) { + /* Fetch binary data from URL for Company */ + self.rpc('/web_linkedin/binary/url2binary',{'url':linkedinrecord['logoUrl']},function(data){ + field.set_value(data); + }); + } else { + field.set_value(false); + } + } + else{ + if (linkedinrecord['pictureUrl']) { + temp_data = 1; + /* Fetch binary data from URL for contact of Company */ + self.rpc('/web_linkedin/binary/url2binary',{'url':linkedinrecord['pictureUrl']}).done(function(res){ + tempdata[f] = res; + self.set_o2mdata(tempdata,mainfield) + }); + } else { + tempdata[f] = "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 TkSuQmCC"; + } + } + } + else if (f=='street') { + if (!flag && linkedinrecord.mainAddress && linkedinrecord['mainAddress']) { + field.set_value(linkedinrecord['mainAddress']); + } else if(flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='country_id') { + if (!flag && linkedinrecord.location && linkedinrecord['location']) { + field.field.domain = [['code', '=', linkedinrecord['location'].country['code'].toUpperCase()]]; + (new instance.web.DataSetSearch(self, field.field.relation,field.field.context,field.field.domain)).read_slice(['id','name'],{}).then(function(res){ + field.original_value = [res[0].id, res[0].name]; + field.set_value(res[0].id) + }) + } else if (!flag && linkedinrecord.locations && linkedinrecord.locations._total>0) { + if (linkedinrecord.locations.values[0].address['country-code']) { + field.field.domain = ['code', '=', linkedinrecord.locations.values[0].address['country-code'].toUpperCase()]; + (new instance.web.DataSetSearch(self, field.field.relation,field.field.context,field.field.domain)).read_slice(['id','name'],{}).then(function(res){ + field.original_value = [res[0].id, res[0].name]; + field.set_value(res[0].id) + }) + } else { + field.set_value(false); + } + } else if(flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='city') { + if (!flag && linkedinrecord.location && linkedinrecord['location']) { + field.set_value(linkedinrecord['location'].name.split(' ')[0] || false); + } else if (!flag && linkedinrecord.locations && linkedinrecord.locations._total>0) { + if (linkedinrecord.locations.values[0].address['city']) { + field.set_value(linkedinrecord.locations.values[0].address['city']); + } else { + field.set_value(false); + } + } else if (flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='website') { + if (!flag && linkedinrecord.websiteUrl) { + field.set_value(linkedinrecord['websiteUrl'] || false); + } else if (flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='customer') { + if(flag == 1)tempdata[f] = true; + } + else if (f=='supplier') { + } + else if (f=='active') { + (flag == 1) ? tempdata[f] = true : field.set_value(true); + } + else if (f=='is_company') { + if (!flag && linkedinrecord.formattedName) { + field.set_value(false); + } else { + field.set_value(true); + tempdata[f] = false; + } + } + else if (f=='zip') { + if (!flag && linkedinrecord.locations && linkedinrecord.locations._total>0) { + if (linkedinrecord.locations.values[0].address['postalCode']) { + field.set_value(linkedinrecord.locations.values[0].address['postalCode']); + } else { + field.set_value(false); + } + }else if (flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='parent_id') { + if (!flag && linkedinrecord.formattedName) { + field.set_value(false); + } else if (!flag && linkedinrecord.name) { + field.set_value(false); + } else { + if (linkedinrecord.formattedName) { + tempdata[f] = [id,self.view.fields['name'].get_value()]; + } + } + } + else if (f=='fax') { + if (!flag && linkedinrecord.locations && linkedinrecord.locations._total>0) { + if (linkedinrecord.locations.values[0].contactInfo['fax']) { + field.set_value(linkedinrecord.locations.values[0].contactInfo['fax']); + } else { + field.set_value(false); + } + } else if (flag == 1) { + tempdata[f] = field.get_value(); + } else { + field.set_value(false); + } + } + else if (f=='use_parent_address') { + (flag == 1) ? tempdata[f] = true : field.set_value(false); + } + else if (f=='child_ids') { + /* For Company Set value of child_ids field */ + if (!flag && linkedinrecord.name) { + self.$element.find('#loader').show(); + $('.linkedin_icon').css('display', 'none'); + /* Fetch contact of Company */ + IN.API.Raw("/people-search:(people:(id,first-name,last-name,formatted-name,picture-url,publicProfileUrl,phone-numbers,im-accounts,main-address,location,relation-to-viewer:(related-connections)))") + //"id", "firstName", "lastName", "pictureUrl", "publicProfileUrl", "formatted-name", "headline", "location", "industry", "languages", "phone-numbers", "im-accounts", "main-address" + .params({ + "company-name" : linkedinrecord.name, + "current-company": true, + "count" : 25 + }) + .result( function (getresult){ + if(getresult.people._total==0){ + self.$element.find('#loader').hide(); + if(self.view.fields['linkedin_id']){ + if(self.view.datarecord['linkedin_id']){ + self.$element.find('#linkedindefault').hide(); + self.$element.find('#linkedinrecord').show(); + }else{ + self.$element.find('#linkedinrecord').hide(); + self.$element.find('#linkedindefault').show(); + } + } + } + self.totalids = [],self.updteids = []; + _(field.dataset.ids).each( function(i) { + if (typeof(i)=="number") { + self.totalids.push(i); + var mobile = self.view.fields['mobile'].get_value(); + var phone = self.view.fields['phone'].get_value(); + var email = self.view.fields['email'].get_value(); + var fax = self.view.fields['fax'].get_value(); + var website = self.view.fields['website'].get_value(); + var zip = self.view.fields['zip'].get_value(); + var city = self.view.fields['city'].get_value(); + var country_id = self.view.fields['country_id'].get_value(); + var street = self.view.fields['street'].get_value(); + field.dataset.write(i,{'mobile':mobile,'phone':phone,'email':email,'fax':fax,'website':website,'zip':zip,'city':city,'country_id':country_id,'street':street},{}); + } + }); + field.dataset.ids = self.totalids; + var counter = 0;/* Indicates All searched records are Invalid or valid */ + self.t_count=0; + self.o2m_count = 0; + for (i in getresult.people.values) { + var connectTemp = self.validName(getresult.people.values[i].firstName, getresult.people.values[i].lastName) + if (connectTemp) { + counter++; + } else { + self.t_count++; + self.getTwitterAccount(getresult.people.values[i], 1, field); + } + } + if (getresult.people._count) { + var total_Count = getresult.people._count; + }else if (getresult.people._total) { + var total_Count = getresult.people._total; + } + /* If counter == total no. of people then all searched records are invalid */ + if (counter == total_Count) { + field.dataset.to_create = []; + field.dataset.ids = []; + field.reload_current_view(); + }else if(getresult.people._total == 0 || getresult.people._count == 0){ + field.dataset.ids = self.totalids; + field.reload_current_view(); + } + }); + } + /* For People Set value of child_ids field */ + else if (!flag && linkedinrecord.formattedName) { + field.set_value(false); + field.set({'invisible':true}); + } + /* For Contact of company Set value of child_ids field */ + else { + tempdata[f] = false; + } + } + else { + (flag == 1) ? tempdata[f] = false : field.set_value(false); + } + field._dirty_flag = true; + field.on('changed_value', self, function() { + if (!flag) { + self.view.do_onchange(field); + self.view.on_form_changed(true); + self.view.do_notify_change(); + } + }); + }); + if (!flag) { + this.removeTemplate(); + if (linkedinrecord.publicProfileUrl) { + this.setTemplate( linkedinrecord.publicProfileUrl , false ); + } + if (linkedinrecord.twitterId) { + this.setTemplate( false , linkedinrecord.twitterId ); + } + if (linkedinrecord.twitterAccounts && linkedinrecord.twitterAccounts._total >= 1) { + this.setTemplate( false , linkedinrecord.twitterAccounts.values[0].providerAccountName ); + } + } + if (flag && temp_data == 0) { + self.set_o2mdata(tempdata, mainfield); + } + }, + /* Update existing value of child_ids field */ + set_childids: function( ids ) { + var self = this; + _(ids).each(function(i){ + self.view.fields['child_ids'].dataset.set_ids(self.view.fields['child_ids'].dataset.ids.concat([i])); + self.view.fields['child_ids'].dataset.write(i, {"parent_id":false}, {}); + }); + }, + /* Set/create o2m contacts of child_ids field */ + set_o2mdata: function(data,field){ + var self = this; + self.o2m_count++; + field.dataset.create(data).then( function(r) { + self.totalids.push(r.result); + field.dataset.set_ids(field.dataset.ids.concat([r.result])); + field.dataset.on_change(); + }).then(); + field.dataset.ids = self.totalids; + field.reload_current_view(); + if (self.t_count == self.o2m_count) { + self.$element.find('#loader').hide(); + //$('.linkedin_icon').css('display', 'block'); + if(this.view.fields['linkedin_id']){ + if(this.view.datarecord['linkedin_id']){ + this.$element.find('#linkedindefault').hide(); + this.$element.find('#linkedinrecord').show(); + }else{ + this.$element.find('#linkedinrecord').hide(); + this.$element.find('#linkedindefault').show(); + } + } + } + }, + /* Name of Searched Linkedin Record is valid or Not */ + validName: function(fname, lname){ + if ((fname == "Private" || fname == "private") || (lname == "Private" || lname == "private") || (fname == "" && lname == "")) { + return true; + } else { + return false; + } + } + }); +}; +// vim:et fdc=0 fdl=0: diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml new file mode 100644 index 00000000000..9321e54787d --- /dev/null +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -0,0 +1,124 @@ + + + + + + + + + + +
+ + +
+ + + Search on LinkedIn + Search on LinkedIn + + + +
+
+
+ + + + + View profile on LinkedIn + + + + + + + + Follow + + + + +
Record Not Found.
+
+ +
+ +
+
+ + + + + + + +
+ + +
    +
  • + + + + + +
    + + + + + + + +
    + +
    +
  • +
+ + +
+
+
\ No newline at end of file diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py new file mode 100644 index 00000000000..77327b92bde --- /dev/null +++ b/addons/web_linkedin/web_linkedin.py @@ -0,0 +1,72 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2004-2010 Tiny SPRL (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# 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 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 . +# +############################################################################## +import base64 +import urllib2 +import xmlrpclib +import zlib + +from web import common +openerpweb = common.http + +from osv import fields, osv + +class company(osv.osv): + _inherit = 'res.company' + _columns = { + 'default_linkedin_api_key': fields.char('LinkedIn API key', size=128), + } + +company() + +class res_partner(osv.osv): + _inherit = 'res.partner' + + _columns = { + 'linkedin_id': fields.char('Linkedin Id', size=64), + 'twitter_id': fields.char('Twitter', size=128), + 'profile_id': fields.char('Profile URL', size=240), + } + + def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False): + company_obj = self.pool.get('res.company') + res = super(res_partner, self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu) + company_id = company_obj._company_default_get(cr, user, 'res.users', context=context) + linkedin_api_key = company_obj.browse(cr, user, company_id, context=context).default_linkedin_api_key + fields = res['fields'] + if fields.get('name'): + ctx = fields.get('name').get('context') + if ctx is None: + ctx = {} + ctx.update({'api_key': linkedin_api_key}) + fields.get('name')['context'] = ctx + return res + +res_partner() + +class Binary(openerpweb.Controller): + _cp_path = "/web_linkedin/binary" + + @openerpweb.jsonrequest + def url2binary(self, req,url): + bfile = urllib2.urlopen(url) + return base64.b64encode(bfile.read()) + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 7b2efd67fc5dd9a826e0343fc132024b30ee48bf Mon Sep 17 00:00:00 2001 From: "Anand Patel (OpenERP)" Date: Thu, 14 Jun 2012 12:46:33 +0530 Subject: [PATCH 002/214] [IMP] Improved pop up message when api key not apply. bzr revid: pan@tinyerp.com-20120614071633-vzrq3g0yha1p5skx --- addons/web_linkedin/static/src/img/apikey.png | Bin 0 -> 32154 bytes .../static/src/img/help_to_fill_form.png | Bin 0 -> 146822 bytes addons/web_linkedin/static/src/js/linkedin.js | 19 ++++----- .../web_linkedin/static/src/xml/linkedin.xml | 39 ++++++++++++++++++ 4 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 addons/web_linkedin/static/src/img/apikey.png create mode 100644 addons/web_linkedin/static/src/img/help_to_fill_form.png diff --git a/addons/web_linkedin/static/src/img/apikey.png b/addons/web_linkedin/static/src/img/apikey.png new file mode 100644 index 0000000000000000000000000000000000000000..cd17d071af2bdf57254bd8158bc1abda28f840bb GIT binary patch literal 32154 zcmb@tby!=?7B9SUmm-6nA%bDDH5> zd(L_8{r>;<6SA4fWHM{kTC;vj_D|K1vN)LJm;eCa$jiM40RR#&03i6HBf@)52Y_Yx z4Z#s4D+QDeQSQPU7`C}(8|gyt7?D4B>@0hK>qzZ4Y#?2MRzZa$wi63$3oj2 zm5gNQk>$Mr>ObGe-&y;8GFFqMworTHKNobaO>CuaXRVf=zIIkbR5WQ(@_sHatmI2^ zR)z+`rX@0#Jw_m+g8x7G1O7@p@@Dn(Lfcn8sq(L}ikyD=EOU}LY!A5(HD57!ISlFl zfD*K9?jx?Cy#L?Dm?0v!ZjYKJD= zYc?hk8m-vN{Gi;GhBnojynBVp+vKB9%#<|1z{miea}FESPVw9tE=$N!l>$C)G^0O% zGcP_mO$~jQdSZcb_v!Fr(tvPSzQos`t~gt+M~Wk-W5?4uozw7XsY>2>cvzydf(k+M zV{UO_c|-T#V3Oq|F4676volH#qQGA4=jooBOtw&S(|+w*C<;4(%A8f2=6>$G*?PR7 z3xGOw-qDz&^2*{-*{#?i1I&zIH+tl7k=Hw5Ijun7j%lf3+dI2QfuRj4W^5+D7gFeS z=fjF-RN0@y*Xu@uxTm=LV$-T1_|UO%FP8&uUii=X<4du?plNaN2J-fTO{^Xl_)~Bx z>F3`zL7+F3z35SZREIrUYc#!GZtCh)H~BmU9q2I`JHh6&%cL0R6k^+EM62CZ4!+Bk zZ|JF}^_DFLQd>vzR$MsF8tyxEI;S;Z*+2+B@b_}w*4)f2P%0Av36)Pkz}0h-Z!kJK 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 literal 0 HcmV?d00001 diff --git a/addons/web_linkedin/static/src/img/help_to_fill_form.png b/addons/web_linkedin/static/src/img/help_to_fill_form.png new file mode 100644 index 0000000000000000000000000000000000000000..fe30fe4acbe89709a73936e47ba5442beeb48121 GIT binary patch literal 146822 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

rvd! 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

ESw39&m0jAYa60Cy`-ik$l(hNiA9Q>Dv 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 literal 0 HcmV?d00001 diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index e48b7fa7a9a..6c8fc6c5147 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -107,17 +107,16 @@ openerp.web_linkedin = function(instance) { } }, APIKeyWarning: function(e) { - e.message= "Linkedin API Key is not registerd/correct.\n Go to Settings, 'General Settings' menu and follow steps to register the LinkedIn API Key."; - instance.web.dialog($(QWeb.render("CrashManager.warning", _t(e))), { - title: _t("Linkedin API Key Warning"), - modal: true, - height: 200, - width: 500, - buttons: [ - { - text: _t("Ok"), + e.message=""; + instance.web.dialog($(QWeb.render("Register.Linkedin", _t(e))), { + title: _t("Configure your Linkedin Key API"), + modal: true, + width : 825, + buttons:[{ + text: _t("Close"), click: function() { $(this).dialog("close"); } - }] + } + ] }); }, setTemplate: function( URL, AccountName ) { diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index 9321e54787d..4244fc38b98 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -31,6 +31,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + +
1)Go Tohttps://www.linkedin.com/secure/developer +
+ 2) Log you in Linkedin if you did not yet +
+ 3) Add a new Application +
+ 4) Fill in the form +
+ +
+ 5) Copy the API Key +
+ +
+
From 277e800c162811cdc12c545e41919d59e6200056 Mon Sep 17 00:00:00 2001 From: "Anand Patel (OpenERP)" Date: Thu, 14 Jun 2012 16:49:10 +0530 Subject: [PATCH 003/214] [IMP] Improved code. bzr revid: pan@tinyerp.com-20120614111910-jyqwdkf8ec35km2i --- addons/web_linkedin/static/src/js/linkedin.js | 31 +++++++++++-------- .../web_linkedin/static/src/xml/linkedin.xml | 17 +++++----- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 6c8fc6c5147..f13bbf6d761 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -77,15 +77,15 @@ openerp.web_linkedin = function(instance) { } if (this.view.datarecord['linkedin_id']) { if (this.view.datarecord['profile_id'] && !this.view.datarecord['twitter_id']) { - if (this.$element.find('#twitterid')) { - this.$element.find('#twitterid').remove(); - } - } - else if (!this.view.datarecord['profile_id'] && this.view.datarecord['twitter_id']) { - if (this.$element.find('#profileid')) { - this.$element.find('#profileid').remove(); - } - } + if (this.$element.find('#twitterid')) { + this.$element.find('#twitterid').remove(); + } + } + else if (!this.view.datarecord['profile_id'] && this.view.datarecord['twitter_id']) { + if (this.$element.find('#profileid')) { + this.$element.find('#profileid').remove(); + } + } }else{ this.removeTemplate(); } @@ -111,12 +111,17 @@ openerp.web_linkedin = function(instance) { instance.web.dialog($(QWeb.render("Register.Linkedin", _t(e))), { title: _t("Configure your Linkedin Key API"), modal: true, - width : 825, - buttons:[{ + width : 800, + height:500, + buttons:[ + { text: _t("Close"), - click: function() { $(this).dialog("close"); } + click: function() + { + $(this).dialog("close"); + } } - ] + ] }); }, setTemplate: function( URL, AccountName ) { diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index 4244fc38b98..80a7b6e2908 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -32,10 +32,12 @@ - - +
+
+ - @@ -55,20 +57,21 @@ -
1)Go Tohttps://www.linkedin.com/secure/developer + + 1)Go to...https://www.linkedin.com/secure/developer
- +
- 5) Copy the API Key + + 5) Copy the API Key
- +
+
From 79a911301cea4ca1b9b21bd054c28479bda710af Mon Sep 17 00:00:00 2001 From: "Anand Patel (OpenERP)" Date: Thu, 14 Jun 2012 19:01:04 +0530 Subject: [PATCH 004/214] [IMP] Improved code. bzr revid: pan@tinyerp.com-20120614133104-102rzo97d0dq5jhq --- addons/web_linkedin/static/src/js/linkedin.js | 8 ++++++ .../web_linkedin/static/src/xml/linkedin.xml | 28 ++++++------------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index f13bbf6d761..9bfd1697aaf 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -122,7 +122,15 @@ openerp.web_linkedin = function(instance) { } } ] + }); + $("#register").click(function() + { + var linkkey = $("#apikey").val(); + console.log("the key is ",linkkey); + }); + + }, setTemplate: function( URL, AccountName ) { if(AccountName){ diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index 80a7b6e2908..e7f8b8335bb 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -34,26 +34,15 @@

- - - - - - - - - - +
    +
  1. Go to...https://www.linkedin.com/secure/developer
  2. +
  3. Log you in Linkedin if you did not yet
  4. +
  5. Add a new Application
  6. +
  7. Fill in the form
  8. +
+ @@ -70,6 +59,7 @@ +
- 1)Go to...https://www.linkedin.com/secure/developer -
- 2) Log you in Linkedin if you did not yet -
- 3) Add a new Application -
- 4) Fill in the form -
@@ -62,7 +51,7 @@
- 5) Copy the API Key +
  • Copy the API Key
  • From 0fb2419d257a33ac140a0c63f58f0bcf7d7aab81 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Fri, 15 Jun 2012 18:11:08 +0200 Subject: [PATCH 005/214] [ADD] reset_password module bzr revid: chs@openerp.com-20120615161108-3nvxx4o8b3ozjxvw --- addons/reset_password/__init__.py | 2 + addons/reset_password/__openerp__.py | 23 ++++ addons/reset_password/controllers.py | 17 +++ addons/reset_password/email_templates.xml | 55 ++++++++ addons/reset_password/res_users.py | 118 ++++++++++++++++++ addons/reset_password/res_users.xml | 45 +++++++ .../static/src/css/reset_password.css | 12 ++ .../static/src/js/reset_password.js | 75 +++++++++++ .../static/src/xml/reset_password.xml | 26 ++++ 9 files changed, 373 insertions(+) create mode 100644 addons/reset_password/__init__.py create mode 100644 addons/reset_password/__openerp__.py create mode 100644 addons/reset_password/controllers.py create mode 100644 addons/reset_password/email_templates.xml create mode 100644 addons/reset_password/res_users.py create mode 100644 addons/reset_password/res_users.xml create mode 100644 addons/reset_password/static/src/css/reset_password.css create mode 100644 addons/reset_password/static/src/js/reset_password.js create mode 100644 addons/reset_password/static/src/xml/reset_password.xml diff --git a/addons/reset_password/__init__.py b/addons/reset_password/__init__.py new file mode 100644 index 00000000000..7055f8145e5 --- /dev/null +++ b/addons/reset_password/__init__.py @@ -0,0 +1,2 @@ +import res_users +import controllers diff --git a/addons/reset_password/__openerp__.py b/addons/reset_password/__openerp__.py new file mode 100644 index 00000000000..6e1d8fc1f50 --- /dev/null +++ b/addons/reset_password/__openerp__.py @@ -0,0 +1,23 @@ +{ + 'name': 'Reset Password', + 'description': 'Allow users to reset their password from the login page', + 'author': 'OpenERP SA', + 'version': '1.0', + 'category': 'Tools', + 'website': 'http://www.openerp.com', + 'installable': True, + 'depends': ['anonymous', 'email_template'], + 'data': [ + 'email_templates.xml', + 'res_users.xml', + ], + 'js': [ + 'static/src/js/reset_password.js', + ], + 'css': [ + 'static/src/css/reset_password.css', + ], + 'qweb': [ + 'static/src/xml/reset_password.xml', + ], +} diff --git a/addons/reset_password/controllers.py b/addons/reset_password/controllers.py new file mode 100644 index 00000000000..0b5d3b5b2b3 --- /dev/null +++ b/addons/reset_password/controllers.py @@ -0,0 +1,17 @@ +import simplejson +import urllib2 +import werkzeug + +from openerp.addons.web.common import http as oeweb + +class ResetPassword(oeweb.Controller): + _cp_path = '/reset_password' + + @oeweb.httprequest + def index(self, req, db, token): + req.session.authenticate(db, 'anonymous', 'anonymous', {}) + url = '/web/webclient/home#client_action=reset_password&token=%s' % (token,) + redirect = werkzeug.utils.redirect(url) + cookie_val = urllib2.quote(simplejson.dumps(req.session_id)) + redirect.set_cookie('instance0|session_id', cookie_val) + return redirect diff --git a/addons/reset_password/email_templates.xml b/addons/reset_password/email_templates.xml new file mode 100644 index 00000000000..fd1ca888779 --- /dev/null +++ b/addons/reset_password/email_templates.xml @@ -0,0 +1,55 @@ + + + + + + Reset Password No User + + ]]> + (set by reset_password module) + Password reset attempt + + + + + Reset Password + + ]]> + (set by reset_password module) + Password reset + + + + Password Changed + + ]]> + (set by reset_password module) + Password chaned + + + + + diff --git a/addons/reset_password/res_users.py b/addons/reset_password/res_users.py new file mode 100644 index 00000000000..0b93a9a37ea --- /dev/null +++ b/addons/reset_password/res_users.py @@ -0,0 +1,118 @@ +import urlparse +import itsdangerous +from openerp.tools import config +from openerp.osv import osv, fields + +TWENTY_FOUR_HOURS = 24 * 60 * 60 + +def serializer(dbname): + key = '%s.%s' % (dbname, config['admin_passwd']) + return itsdangerous.URLSafeTimedSerializer(key) + +def generate_token(dbname, user): + s = serializer(dbname) + return s.dumps((user.id, user.user_email)) + +def valid_token(dbname, token, max_age=TWENTY_FOUR_HOURS): + try: + unsign_token(dbname, token, max_age) + return True + except itsdangerous.BadSignature: + return False + +def unsign_token(dbname, token, max_age=TWENTY_FOUR_HOURS): + # TODO avoid replay by comparing timestamp with last connection date of user ? (need a query) + s = serializer(dbname) + return s.loads(token, max_age) + +class res_users(osv.osv): + _inherit = 'res.users' + + _sql_constraints = [ + ('email_uniq', 'UNIQUE (user_email)', 'You can not have two users with the same email!') + ] + + def _rp_send_email(self, cr, uid, email, tpl_name, res_id, context=None): + model, tpl_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'reset_password', tpl_name) + assert model == 'email.template' + + host = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', '') + ctx = dict(context or {}, url=host) + + msg_id = self.pool.get(model).send_mail(cr, uid, tpl_id, res_id, force_send=False, context=ctx) + MailMessage = self.pool.get('mail.message') + MailMessage.write(cr, uid, [msg_id], {'email_to': email}, context=context) + MailMessage.send(cr, uid, [msg_id], context=context) + + def _rp_get_link(self, cr, uid, ids, context=None): + assert len(ids) == 1 + user = self.browse(cr, uid, ids[0], context=context) + host = self.pool.get('ir.config_parameter').get_param(cr, uid, 'web.base.url', '') + token = generate_token(cr.dbname, user) + link = urlparse.urljoin(host, '/reset_password?db=%s&token=%s' % (cr.dbname, token)) + return link + + def send_reset_password_request(self, cr, uid, email, context=None): + uid = 1 + ids = self.search(cr, uid, [('user_email', '=', email)], context=context) + assert len(ids) <= 1 + if not ids: + _m, company_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'main_company') + self._rp_send_email(cr, uid, email, 'email_no_user', company_id, context=context) + else: + self._rp_send_email(cr, uid, email, 'email_reset_link', ids[0], context=context) + return True + +res_users() + + +class reset_pw_wizard(osv.TransientModel): + _name = 'reset_password.wizard' + _rec_name = 'pw' + _columns = { + 'pw': fields.char('Password', size=64), + 'cpw': fields.char('Confirm Password', size=64), + 'token': fields.char('Token', size=128), + 'state': fields.selection([(x, x) for x in 'draft done missmatch error'.split()], required=True), + } + _defaults = { + 'state': 'draft', + } + + def create(self, cr, uid, values, context=None): + # NOTE here, invalid values raises exceptions to avoid storing + # sensitive data into the database (which then are available to anyone) + + token = values.get('token') + pw = values.get('pw') + cpw = values.get('cpw') + + if pw != cpw: + raise osv.except_osv('Error', 'Passwords missmatch') + + Users = self.pool.get('res.users') + + try: + user_id, user_email = unsign_token(cr.dbname, token) + except Exception: + raise osv.except_osv('Error', 'Invalid token') + + Users.write(cr, 1, user_id, {'password': pw}, context=context) + Users._rp_send_email(cr, 1, user_email, 'email_password_changed', user_id, context=context) + + values = {'state': 'done'} + + return super(reset_pw_wizard, self).create(cr, uid, values, context) + + def change(self, cr, uid, ids, context=None): + return True + + def onchange_token(self, cr, uid, ids, token, context=None): + if not valid_token(cr.dbname, token): + return {'value': {'state': 'error'}} + return {} + + def onchange_pw(self, cr, uid, ids, pw, cpw, context=None): + if pw != cpw: + return {'value': {'state': 'missmatch'}} + return {'value': {'state': 'draft'}} diff --git a/addons/reset_password/res_users.xml b/addons/reset_password/res_users.xml new file mode 100644 index 00000000000..a60198750ce --- /dev/null +++ b/addons/reset_password/res_users.xml @@ -0,0 +1,45 @@ + + + + + + reset_password.wizard.form + reset_password.wizard + form + +
    + + + + + + +
    Passwords missmatch
    +
    + + +
  • < Back
  • + + + + From 7c0772d4ed9751cea77c4ff4e39140096ce519f6 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 18 Jun 2012 10:19:29 +0200 Subject: [PATCH 006/214] [FIX] reset_password: typo bzr revid: chs@openerp.com-20120618081929-zwuldfdaa7is1yai --- addons/reset_password/email_templates.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/reset_password/email_templates.xml b/addons/reset_password/email_templates.xml index fd1ca888779..37cd529deab 100644 --- a/addons/reset_password/email_templates.xml +++ b/addons/reset_password/email_templates.xml @@ -43,7 +43,7 @@ Kind Regards. ]]> (set by reset_password module) - Password chaned + Password changed Date: Mon, 18 Jun 2012 15:43:56 +0530 Subject: [PATCH 007/214] [REV] Remove last changes of commit revision 6895. bzr revid: jra@tinyerp.com-20120618101356-z0epjp7s1sqduwag --- addons/web_linkedin/static/src/img/apikey.png | Bin 32154 -> 0 bytes .../static/src/img/help_to_fill_form.png | Bin 146822 -> 0 bytes addons/web_linkedin/static/src/js/linkedin.js | 19 +++++---- .../web_linkedin/static/src/xml/linkedin.xml | 39 ------------------ 4 files changed, 10 insertions(+), 48 deletions(-) delete mode 100644 addons/web_linkedin/static/src/img/apikey.png delete mode 100644 addons/web_linkedin/static/src/img/help_to_fill_form.png diff --git a/addons/web_linkedin/static/src/img/apikey.png b/addons/web_linkedin/static/src/img/apikey.png deleted file mode 100644 index cd17d071af2bdf57254bd8158bc1abda28f840bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32154 zcmb@tby!=?7B9SUmm-6nA%bDDH5> zd(L_8{r>;<6SA4fWHM{kTC;vj_D|K1vN)LJm;eCa$jiM40RR#&03i6HBf@)52Y_Yx z4Z#s4D+QDeQSQPU7`C}(8|gyt7?D4B>@0hK>qzZ4Y#?2MRzZa$wi63$3oj2 zm5gNQk>$Mr>ObGe-&y;8GFFqMworTHKNobaO>CuaXRVf=zIIkbR5WQ(@_sHatmI2^ zR)z+`rX@0#Jw_m+g8x7G1O7@p@@Dn(Lfcn8sq(L}ikyD=EOU}LY!A5(HD57!ISlFl zfD*K9?jx?Cy#L?Dm?0v!ZjYKJD= zYc?hk8m-vN{Gi;GhBnojynBVp+vKB9%#<|1z{miea}FESPVw9tE=$N!l>$C)G^0O% zGcP_mO$~jQdSZcb_v!Fr(tvPSzQos`t~gt+M~Wk-W5?4uozw7XsY>2>cvzydf(k+M zV{UO_c|-T#V3Oq|F4676volH#qQGA4=jooBOtw&S(|+w*C<;4(%A8f2=6>$G*?PR7 z3xGOw-qDz&^2*{-*{#?i1I&zIH+tl7k=Hw5Ijun7j%lf3+dI2QfuRj4W^5+D7gFeS z=fjF-RN0@y*Xu@uxTm=LV$-T1_|UO%FP8&uUii=X<4du?plNaN2J-fTO{^Xl_)~Bx z>F3`zL7+F3z35SZREIrUYc#!GZtCh)H~BmU9q2I`JHh6&%cL0R6k^+EM62CZ4!+Bk zZ|JF}^_DFLQd>vzR$MsF8tyxEI;S;Z*+2+B@b_}w*4)f2P%0Av36)Pkz}0h-Z!kJK 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 diff --git a/addons/web_linkedin/static/src/img/help_to_fill_form.png b/addons/web_linkedin/static/src/img/help_to_fill_form.png deleted file mode 100644 index fe30fe4acbe89709a73936e47ba5442beeb48121..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146822 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

    rvd! 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

    ESw39&m0jAYa60Cy`-ik$l(hNiA9Q>Dv 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 diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 6c8fc6c5147..e48b7fa7a9a 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -107,16 +107,17 @@ openerp.web_linkedin = function(instance) { } }, APIKeyWarning: function(e) { - e.message=""; - instance.web.dialog($(QWeb.render("Register.Linkedin", _t(e))), { - title: _t("Configure your Linkedin Key API"), - modal: true, - width : 825, - buttons:[{ - text: _t("Close"), + e.message= "Linkedin API Key is not registerd/correct.\n Go to Settings, 'General Settings' menu and follow steps to register the LinkedIn API Key."; + instance.web.dialog($(QWeb.render("CrashManager.warning", _t(e))), { + title: _t("Linkedin API Key Warning"), + modal: true, + height: 200, + width: 500, + buttons: [ + { + text: _t("Ok"), click: function() { $(this).dialog("close"); } - } - ] + }] }); }, setTemplate: function( URL, AccountName ) { diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index 4244fc38b98..9321e54787d 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -31,45 +31,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - -
    1)Go Tohttps://www.linkedin.com/secure/developer -
    - 2) Log you in Linkedin if you did not yet -
    - 3) Add a new Application -
    - 4) Fill in the form -
    - -
    - 5) Copy the API Key -
    - -
    -
    From cc659ea35537c1289d7b1f1adb61d7197a2739b9 Mon Sep 17 00:00:00 2001 From: "Anand Patel (OpenERP)" Date: Tue, 19 Jun 2012 15:46:30 +0530 Subject: [PATCH 008/214] [IMP] Improved code. bzr revid: pan@tinyerp.com-20120619101630-w1sufff8c38egvjl --- addons/web_linkedin/res_config.py | 5 +++++ addons/web_linkedin/static/src/js/linkedin.js | 17 +++++++++++++---- addons/web_linkedin/static/src/xml/linkedin.xml | 3 ++- addons/web_linkedin/web_linkedin.py | 8 ++++++++ 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/addons/web_linkedin/res_config.py b/addons/web_linkedin/res_config.py index e3e70237086..e4758e1c62c 100644 --- a/addons/web_linkedin/res_config.py +++ b/addons/web_linkedin/res_config.py @@ -48,5 +48,10 @@ class base_config_settings(osv.osv_memory): company_id = company_obj._company_default_get(cr, uid, 'res.users', context=context) company_obj.write(cr, uid, [company_id], {'default_linkedin_api_key': data.default_linkedin_api_key}, context=context) + + + base_config_settings() + + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 9bfd1697aaf..285770adfdd 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -107,11 +107,12 @@ openerp.web_linkedin = function(instance) { } }, APIKeyWarning: function(e) { + var self = this; e.message=""; instance.web.dialog($(QWeb.render("Register.Linkedin", _t(e))), { title: _t("Configure your Linkedin Key API"), modal: true, - width : 800, + width : 840, height:500, buttons:[ { @@ -124,10 +125,18 @@ openerp.web_linkedin = function(instance) { ] }); - $("#register").click(function() - { + $("#register").click(function() { + var linkkey = $("#apikey").val(); - console.log("the key is ",linkkey); + + var key = JSON.stringify(linkkey); + + + self.rpc('/web_linkedin/database/api_key',{'key': key},function(data){ + + }); + + }); diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index e7f8b8335bb..44664ca7d69 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -51,7 +51,8 @@ -

  • Copy the API Key
  • + Copy the API Key + diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py index 77327b92bde..4ef1c414734 100644 --- a/addons/web_linkedin/web_linkedin.py +++ b/addons/web_linkedin/web_linkedin.py @@ -23,6 +23,7 @@ import urllib2 import xmlrpclib import zlib + from web import common openerpweb = common.http @@ -69,4 +70,11 @@ class Binary(openerpweb.Controller): bfile = urllib2.urlopen(url) return base64.b64encode(bfile.read()) +class Database(openerpweb.Controller): + _cp_path = "/web_linkedin/database" + + @openerpweb.jsonrequest + def api_key(self, req, key): + + return True # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 48fe78fc281e572d5f1769524b0ecf758dfc9ae5 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Tue, 19 Jun 2012 17:15:14 +0530 Subject: [PATCH 009/214] [IMP] Improved api key pop up warning. bzr revid: jra@tinyerp.com-20120619114514-2r72ppz7pwwym70h --- addons/web_linkedin/static/src/img/apikey.png | Bin 0 -> 32154 bytes .../static/src/img/help_to_fill_form.png | Bin 0 -> 63353 bytes addons/web_linkedin/static/src/js/linkedin.js | 5 +- .../web_linkedin/static/src/xml/linkedin.xml | 46 ++++++++---------- addons/web_linkedin/web_linkedin.py | 10 ++-- 5 files changed, 26 insertions(+), 35 deletions(-) create mode 100644 addons/web_linkedin/static/src/img/apikey.png create mode 100644 addons/web_linkedin/static/src/img/help_to_fill_form.png diff --git a/addons/web_linkedin/static/src/img/apikey.png b/addons/web_linkedin/static/src/img/apikey.png new file mode 100644 index 0000000000000000000000000000000000000000..cd17d071af2bdf57254bd8158bc1abda28f840bb GIT binary patch literal 32154 zcmb@tby!=?7B9SUmm-6nA%bDDH5> zd(L_8{r>;<6SA4fWHM{kTC;vj_D|K1vN)LJm;eCa$jiM40RR#&03i6HBf@)52Y_Yx z4Z#s4D+QDeQSQPU7`C}(8|gyt7?D4B>@0hK>qzZ4Y#?2MRzZa$wi63$3oj2 zm5gNQk>$Mr>ObGe-&y;8GFFqMworTHKNobaO>CuaXRVf=zIIkbR5WQ(@_sHatmI2^ zR)z+`rX@0#Jw_m+g8x7G1O7@p@@Dn(Lfcn8sq(L}ikyD=EOU}LY!A5(HD57!ISlFl zfD*K9?jx?Cy#L?Dm?0v!ZjYKJD= zYc?hk8m-vN{Gi;GhBnojynBVp+vKB9%#<|1z{miea}FESPVw9tE=$N!l>$C)G^0O% zGcP_mO$~jQdSZcb_v!Fr(tvPSzQos`t~gt+M~Wk-W5?4uozw7XsY>2>cvzydf(k+M zV{UO_c|-T#V3Oq|F4676volH#qQGA4=jooBOtw&S(|+w*C<;4(%A8f2=6>$G*?PR7 z3xGOw-qDz&^2*{-*{#?i1I&zIH+tl7k=Hw5Ijun7j%lf3+dI2QfuRj4W^5+D7gFeS z=fjF-RN0@y*Xu@uxTm=LV$-T1_|UO%FP8&uUii=X<4du?plNaN2J-fTO{^Xl_)~Bx z>F3`zL7+F3z35SZREIrUYc#!GZtCh)H~BmU9q2I`JHh6&%cL0R6k^+EM62CZ4!+Bk zZ|JF}^_DFLQd>vzR$MsF8tyxEI;S;Z*+2+B@b_}w*4)f2P%0Av36)Pkz}0h-Z!kJK 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 literal 0 HcmV?d00001 diff --git a/addons/web_linkedin/static/src/img/help_to_fill_form.png b/addons/web_linkedin/static/src/img/help_to_fill_form.png new file mode 100644 index 0000000000000000000000000000000000000000..4962d272c3af8df7930e75f6beb5dbda3bae815c GIT binary patch literal 63353 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 g?fb%7 literal 0 HcmV?d00001 diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index ede7cfa444b..697c3a79d29 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -128,9 +128,8 @@ openerp.web_linkedin = function(instance) { }] }); $("#register").click(function() { - var linkkey = $("#apikey").val(); - var key = JSON.stringify(linkkey); - self.rpc('/web_linkedin/database/api_key',{'key': key},function(data){ + var key = JSON.stringify($("#apikey").val()); + self.rpc('/web_linkedin/webclient/api_key',{'key': key},function(data){ }); }); }, diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index 73c49f52279..b6aa3dc69d3 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -34,35 +34,27 @@
    - - - - - - - - - - - - - - -
    -
      -
    1. Go to...https://www.linkedin.com/secure/developer
    2. -
    3. Log you in Linkedin if you did not yet
    4. -
    5. Add a new Application
    6. -
    7. Fill in the form
    8. -
    -
    +
    +

    Go to... + + https://www.linkedin.com/secure/developer + +

    +

    Log you in Linkedin if you did not yet

    +

    Add a new Application

    +

    Fill in the form

    +
    +
    -
    - Copy the API Key - -
    + +
    +

    Copy the API Key: + +

    +
    +
    -
    +
    diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py index 4ef1c414734..eb74dd95da7 100644 --- a/addons/web_linkedin/web_linkedin.py +++ b/addons/web_linkedin/web_linkedin.py @@ -70,11 +70,11 @@ class Binary(openerpweb.Controller): bfile = urllib2.urlopen(url) return base64.b64encode(bfile.read()) -class Database(openerpweb.Controller): - _cp_path = "/web_linkedin/database" +class WebClient(openerpweb.Controller): + _cp_path = "/web_linkedin/webclient" @openerpweb.jsonrequest - def api_key(self, req, key): - - return True + def api_key(self, req, key): + + return False # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From f257cb34524e0f230e41b7229bbcd71ad50974d5 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Tue, 19 Jun 2012 18:45:18 +0530 Subject: [PATCH 010/214] [IMP] Improved code for api key warning pop up. bzr revid: jra@tinyerp.com-20120619131518-k4bx0yavmsshihre --- addons/web_linkedin/static/src/js/linkedin.js | 6 +++--- addons/web_linkedin/web_linkedin.py | 20 ++++++++++++------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 697c3a79d29..f67619951bd 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -128,9 +128,9 @@ openerp.web_linkedin = function(instance) { }] }); $("#register").click(function() { - var key = JSON.stringify($("#apikey").val()); - self.rpc('/web_linkedin/webclient/api_key',{'key': key},function(data){ - }); + var key = $("#apikey").val(); + var user = new instance.web.DataSet(self, "res.users"); + user.call("set_linkedin_api_key", [key]); }); }, setTemplate: function( URL, AccountName ) { diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py index eb74dd95da7..ce0fc30eaec 100644 --- a/addons/web_linkedin/web_linkedin.py +++ b/addons/web_linkedin/web_linkedin.py @@ -37,6 +37,19 @@ class company(osv.osv): company() +class users(osv.osv): + _inherit = 'res.users' + + def set_linkedin_api_key(self, cr, uid, key, context=None): + company_obj = self.pool.get('res.company') + company_id = company_obj._company_default_get(cr, uid, 'res.users', context=context) + company_obj.write(cr, uid, [company_id], {'default_linkedin_api_key': key }) + ir_values = self.pool.get('ir.values') + ir_values.set_default(cr, uid, 'res.company', 'linkedin_api_key', key) + + return True +users() + class res_partner(osv.osv): _inherit = 'res.partner' @@ -70,11 +83,4 @@ class Binary(openerpweb.Controller): bfile = urllib2.urlopen(url) return base64.b64encode(bfile.read()) -class WebClient(openerpweb.Controller): - _cp_path = "/web_linkedin/webclient" - - @openerpweb.jsonrequest - def api_key(self, req, key): - - return False # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: From 7fac66d682582346251638aa5cda290395595391 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Thu, 21 Jun 2012 17:17:04 +0530 Subject: [PATCH 011/214] [IMP] Minor changes for IN.User.authorization. bzr revid: jra@tinyerp.com-20120621114704-bwgcwcijsx7qel60 --- addons/web_linkedin/static/src/js/linkedin.js | 108 +++++++++--------- 1 file changed, 51 insertions(+), 57 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index f67619951bd..fdfe0e47dd1 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -106,14 +106,58 @@ openerp.web_linkedin = function(instance) { } } }, + /* Load Linkedin Data On search */ + do_load_linkedin: function( e ) { + var self = this; + this.msg_Counter=0; /* used to display notification, when record not found on Linkedin search */ + this.removeTemplate( 1 ); + if(!this.apikey){ + this.APIKeyWarning(this.APIWarning); + e.preventDefault(); + e.stopPropagation(); + e.stopImmediatePropagation(); + return false; + } + if (IN.ENV.auth.oauth_token) { + if (self.$element.find("input").val()) { + self.$element.find('#loader').show(); + $('.linkedin_icon').css('display', 'none'); + /* People Search */ + IN.API.Raw("/people-search:(people:(id,first-name,last-name,picture-url,public-profile-url,formatted-name,location,phone-numbers,im-accounts,main-address,headline))") + .params({ + "first-name": self.$element.find("input").val(), + "count" : 4 + }) + .result( self.do_fetch_detail ); + /* Company Search */ + IN.API.Raw("/company-search:(companies:(id,name,description,industry,logo-url,website-url,locations,twitter-id))") + .params({ + "keywords": self.$element.find("input").val(), + "count" : 4 + }) + .result( self.do_fetch_detail ); + }else{ + this.notification.warn(_t("Linkedin Search"), _t("Please Enter Required Field.")); + } + } + else { + //self.do_authorize(); + IN.User.authorize(); + } + e.preventDefault(); + e.stopPropagation(); + e.stopImmediatePropagation(); + }, + do_authorize: function(resultCallback){ + this.check_authorized(); + if (this.isAuthorized == false){ + IN.User.authorize(resultCallback); + } + }, + check_authorized: function(){ + this.isAuthorized = IN.User.isAuthorized(); + }, APIKeyWarning: function(e) { -// e.message= "Linkedin API Key is not registerd/correct.\n Go to Settings, 'General Settings' menu and follow steps to register the LinkedIn API Key."; -// instance.web.dialog($(QWeb.render("CrashManager.warning", _t(e))), { -// title: _t("Linkedin API Key Warning"), -// modal: true, -// height: 200, -// width: 500, -// buttons: [ var self = this; e.message=""; instance.web.dialog($(QWeb.render("Register.Linkedin", _t(e))), { @@ -154,56 +198,6 @@ openerp.web_linkedin = function(instance) { } } }, - /* Load Linkedin Data On search */ - do_load_linkedin: function( e ) { - var self = this; - this.msg_Counter=0; /* used to display notification, when record not found on Linkedin search */ - this.removeTemplate( 1 ); - if(!this.apikey){ - this.APIKeyWarning(this.APIWarning); - e.preventDefault(); - e.stopPropagation(); - e.stopImmediatePropagation(); - return false; - } - if (IN.ENV.auth.oauth_token) { - if (self.$element.find("input").val()) { - self.$element.find('#loader').show(); - $('.linkedin_icon').css('display', 'none'); - /* People Search */ - IN.API.Raw("/people-search:(people:(id,first-name,last-name,picture-url,public-profile-url,formatted-name,location,phone-numbers,im-accounts,main-address,headline))") - .params({ - "first-name": self.$element.find("input").val(), - "count" : 4 - }) - .result( self.do_fetch_detail ); - /* Company Search */ - IN.API.Raw("/company-search:(companies:(id,name,description,industry,logo-url,website-url,locations,twitter-id))") - .params({ - "keywords": self.$element.find("input").val(), - "count" : 4 - }) - .result( self.do_fetch_detail ); - }else{ - this.notification.warn(_t("Linkedin Search"), _t("Please Enter Required Field.")); - } - } - else { - self.do_authorize(); - } - e.preventDefault(); - e.stopPropagation(); - e.stopImmediatePropagation(); - }, - do_authorize: function(resultCallback){ - this.check_authorized(); - if (this.isAuthorized == false){ - IN.User.authorize(resultCallback); - } - }, - check_authorized: function(){ - this.isAuthorized = IN.User.isAuthorized(); - }, /* Fetch Result from Linkedin and set in searchbox */ do_fetch_detail: function(result, metadata) { var self = this; From dd0a2cc66fb6cbc42279970b8226e7396e1170ad Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Thu, 21 Jun 2012 18:58:42 +0530 Subject: [PATCH 012/214] [IMP] Minor change. bzr revid: jra@tinyerp.com-20120621132842-s1f5melcrsi408jl --- addons/web_linkedin/static/src/js/linkedin.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index fdfe0e47dd1..d6c50ca8b99 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -159,8 +159,7 @@ openerp.web_linkedin = function(instance) { }, APIKeyWarning: function(e) { var self = this; - e.message=""; - instance.web.dialog($(QWeb.render("Register.Linkedin", _t(e))), { + instance.web.dialog($(QWeb.render("Register.Linkedin")), { title: _t("Configure your Linkedin Key API"), modal: true, width : 840, From b0826bf5556b008046eb77880c82dc6e427c1ddf Mon Sep 17 00:00:00 2001 From: Vishmita Date: Thu, 21 Jun 2012 19:14:58 +0530 Subject: [PATCH 013/214] [IMP] Improved API key warning. bzr revid: vja@tinyerp.com-20120621134458-2vq2xsalq5hn7w8q --- .../web_linkedin/static/src/css/linkedin.css | 4 +++- addons/web_linkedin/static/src/js/linkedin.js | 18 +++++++++++++++--- .../web_linkedin/static/src/xml/linkedin.xml | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/addons/web_linkedin/static/src/css/linkedin.css b/addons/web_linkedin/static/src/css/linkedin.css index 0ca3dc90ac9..4f61b4e89d0 100644 --- a/addons/web_linkedin/static/src/css/linkedin.css +++ b/addons/web_linkedin/static/src/css/linkedin.css @@ -6,7 +6,9 @@ background-color: rgb(255, 255, 255); border: 1px solid rgb(153, 153, 153); } - +#apikey{ + background-color: #D2D2FF +} .li-ldn-dropdown { margin: 0px; display: block; diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index d6c50ca8b99..d282226def0 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -159,7 +159,7 @@ openerp.web_linkedin = function(instance) { }, APIKeyWarning: function(e) { var self = this; - instance.web.dialog($(QWeb.render("Register.Linkedin")), { + this.dialog = instance.web.dialog($(QWeb.render("Register.Linkedin")), { title: _t("Configure your Linkedin Key API"), modal: true, width : 840, @@ -168,13 +168,25 @@ openerp.web_linkedin = function(instance) { { text: _t("Ok"), click: function() { $(this).dialog("close"); } - }] + }], }); + this.dialog.parent().find('.ui-dialog-titlebar').append('').click(function(){ + self.dialog.remove(); + }) + $('.close').css({ 'margin': '10px 0 0 19px'}) $("#register").click(function() { var key = $("#apikey").val(); var user = new instance.web.DataSet(self, "res.users"); user.call("set_linkedin_api_key", [key]); - }); + if(key.length){ + self.dialog.remove(), + user.__parentedParent.view.reload(); + } + else { + $("#apikey").css({'background-color':'#F66 '}) + } + + }) }, setTemplate: function( URL, AccountName ) { if(AccountName){ diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index b6aa3dc69d3..f0ee60e331f 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -49,7 +49,7 @@

    Copy the API Key: - +

    From 2251aa0b7882ae7368e6667914e9a7d468e3bfee Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Fri, 22 Jun 2012 12:16:01 +0530 Subject: [PATCH 014/214] [IMP] Improved apikey wizard. bzr revid: jra@tinyerp.com-20120622064601-oatb5npqwhh7r9j5 --- addons/web_linkedin/static/src/js/linkedin.js | 7 ++++--- addons/web_linkedin/static/src/xml/linkedin.xml | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index d282226def0..a3d36ae284b 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -168,7 +168,7 @@ openerp.web_linkedin = function(instance) { { text: _t("Ok"), click: function() { $(this).dialog("close"); } - }], + }] }); this.dialog.parent().find('.ui-dialog-titlebar').append('').click(function(){ self.dialog.remove(); @@ -176,14 +176,15 @@ openerp.web_linkedin = function(instance) { $('.close').css({ 'margin': '10px 0 0 19px'}) $("#register").click(function() { var key = $("#apikey").val(); - var user = new instance.web.DataSet(self, "res.users"); - user.call("set_linkedin_api_key", [key]); if(key.length){ + var user = new instance.web.DataSet(self, "res.users"); + user.call("set_linkedin_api_key", [key]); self.dialog.remove(), user.__parentedParent.view.reload(); } else { $("#apikey").css({'background-color':'#F66 '}) + self.notification.warn(_t("Linkedin Search"), _t("Please Enter Required Key.")); } }) diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index f0ee60e331f..6ced2c7dff5 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -12,8 +12,8 @@
    - Search on LinkedIn - Search on LinkedIn + Search on LinkedIn + Search on LinkedIn From e1ddabaff0fefb622511c8513f1b25416b031d74 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Fri, 22 Jun 2012 17:07:36 +0530 Subject: [PATCH 015/214] [IMP] Improved code. bzr revid: jra@tinyerp.com-20120622113736-ic23elcxqtf4md96 --- .../web_linkedin/static/src/css/linkedin.css | 19 ++++++++++++--- addons/web_linkedin/static/src/img/apikey.png | Bin 32154 -> 26023 bytes .../web_linkedin/static/src/xml/linkedin.xml | 22 +++++++++--------- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/addons/web_linkedin/static/src/css/linkedin.css b/addons/web_linkedin/static/src/css/linkedin.css index 4f61b4e89d0..949726a6246 100644 --- a/addons/web_linkedin/static/src/css/linkedin.css +++ b/addons/web_linkedin/static/src/css/linkedin.css @@ -6,9 +6,6 @@ background-color: rgb(255, 255, 255); border: 1px solid rgb(153, 153, 153); } -#apikey{ - background-color: #D2D2FF -} .li-ldn-dropdown { margin: 0px; display: block; @@ -39,3 +36,19 @@ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.8) inset; max-height: 450px; } +#apikey{ + background-color: #D2D2FF; +} +#register{ + margin-left: 10px; +} + +.lbl-ldnbox{ + font-size:12px; +} +#searchresults{ + -webkit-margin-start: -70px; + -moz-margin-start: -70px; + z-index: 2000; + position: absolute; +} \ No newline at end of file diff --git a/addons/web_linkedin/static/src/img/apikey.png b/addons/web_linkedin/static/src/img/apikey.png index cd17d071af2bdf57254bd8158bc1abda28f840bb..423b732b5027f43bdedd2691ec2f344fd6aacd3a 100644 GIT binary patch literal 26023 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 z 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%0Av36)Pkz}0h-Z!kJK z+ScbRxvQ%y-RE}Kem&fX)Ny+V2lYD=8t(n^)1xh5N4Xs$aI4*Vt7&GomGSPo*+9ao zAV0t*rIg&m&SZ3&up7EdqvJHR!g}iHq%fx}0v77IW->af+x%?<#^}wbkW?uZvj(R- zg7L=92J3f^Oeu=2lnzW~wQn~ZO;!~u>=z%I6Z{E$@U%i6h-;Sv@n6k{*;B*RlU6wTg@uKBw#}Mq(8Kv!JR0%) zCC_8A?gTOboh3OrdHuvql-kzXdSA!KO1OI)7i4vMaJGBv#^~P88t-mLI^W0RN5{nQI_->n zN5eyueAG3Eq2(IDg7~|2dTzyr)f71$s`962YbG#{yo&Cq=UoT_Ep?}&_~(+!?;9`y z<-92E|^Is7BUXs2Acck1*53`Xk zo^)#;r8z$3A_3nh(mmd2RGMv8CR4PeqAJ5F0L{8SJlZ=B(yJ7g z^^rQ?bWggv+C;}?>nP)LKB#M+?6BPIjn0E>b+49&`6zUOqAN-^P~kJdQs54geo@XB%j~;vq>6{rxqm_<9o& zXq(%fGPrCFLO>iA=Q1~tplVzAYj$zUPNPj7oCIW8m`9M-S@c2H{C(0i^!j|x7Vws= zQT~=*@4~v{4i#$zkb_btuYEapX7`%kHU?AAE+I$8@>cxQ8-OB?;(JaD!57Xnarqj) z9!mb!YU58-Qm#A;PUnxFb+85|>i4j)FdCn0Bfggu5QlRRf&i5NM15` ze%{ewH+vi(=p@+ApQDgSJpAZ&m%G?pqoCasVvf_a4?`+Zrs14*n3`kx?x8>UgNDVR z<+1)X7Er;1L@hEp;dI@eH?8gCuo_q->j^ki@;#`&a{h;AoS2`PUX@S7vy%UXrRZl8 zS4=O=nV&e-z3L;c&?qizgzI%N{dCplaRFT+p#a?mqgqb)``8|}{(@Vx5$=?oX1WDy zI%_K{R2*_>V&d+J+apNrWTG#2_TP)d(CefxmbE98?Cj9i_f7<^B@xsQe>?GFChjeG z0G*dGr^C7GX?@qlvAd&2>)zKS*mTSL%x-QuFU~x8;gBKg%vSa8t_!e$J zY;0^cQ<8J*-A>jNIa;nGeDBvAocGh*w-S%Nk3ChyE;NQS#XGmS$HBZxv42FE(r=0q z&C3!rx!f)AA$5*pe~6b^+&0F3Jv{9BR|egmcy70NIj<(&Y%l)}Tg8kj!QeHTQf(qIMayc`zwmaQ@9~%Zrc0yYnB|) z5W72z)hrOO>U|38oW*M`w;$Y_oJW5niT9@Dp#x9HrY;M zaf((S+@|65b0(DA{XhjM4BXA7t;@8P1+5J|#=}gt4c_vej%bE4Vi_dyBLhnd70ph* zA^=C2q=W)6;u_mBA-(YfI(5Isc8BwCa=Qzp?T9*N+d5 ztfk2#V#+oA#1fBNL&($3v!=BwEPWkhHqUU1KJne22G<8Q;SSXv(e?K4Xe1n;XYAR{ z`N*5khD2E3yx~(OEHH_Sih6+?bX>np?V517S5#(D^L6%Uv9YY_w6D9nySTVm9U*p^pl5V2^K1EL$Tbj;=5aSK{W5_eHn-C_mx}l6 z_{;A+-t@P(!v`dP3$2Qb%-t_kX`Xf-$yyU0FPKB;V)ilFJ{--wF+8aRK04V&&@{fC-crk5GBpU_RZ*iPL1WtGs?|3bbX6j)Pl& z{SgBb7uC9|#8sAZVwwVeX)lsmGnmPa`8C^nYmHWZQyjlZdn-(Y8E|{?HCeV-ho_bn zt4)d0;1rZP+V7`Zx3P#0>@0m#9HLkWzy6pGva9I;iYwTaWknEgvIDmOfZ+{pH$n#Z z=^GLtBrP*UK@6W=mwY3*eJ`nDv^{2?Uia zdX>-1VpE)jjqPS*IefpVZ{e`{`2J8eQT9Wob}vr zktta88;DGL_4z@Po@>p~!sEwTXyzGDV-q!o>>dFnFz|bIwtqV3z&E}CEW_aKC! zgK9f2Pt|v?=V!XFrUJv{+xxDP09rn)orBD&?;?8pR(Sk#(tF|swkRX9#k0~)Q8nK^ z=LG>1Q!^41S6usmK-}JM5y=2K1s;+Y`vX1ZFxAMuDb{8Ye=-IxkjahG<(A1Tg`PQ{ zFc2;lCxfnAZKY{oKn)zsRqw0#-o`*HU@+La60h>OfyXZF_SQpTcO+A~zrUZChbJj1 z$;#S#5po6h6AXPHE~FI7dXNC<7?QK|u;`f*A33p#0UhDPpGtMAOS;Mpu`ce`W4F!k&RfK7 zbz3U>=D*|TM>n`Zlr~kFVN=Mop3O!b2&7lgm5b zbv?~u@v+mnWR?Q=HK3#R&V{+343$QJe@eUNlQUco@dv0hB4M5F?|*yeXy11=E0?sb3C1D+Csy9y%5EuOP0?Kn6%t9CjHmPuQV!(!7V zU%jQJ1u0z|RkgIVz~It#L6E|byP1|&Z7d5ydFo{yvC0g01UpFE@DslPwxZptkCU>X z$6vX|p6nwVs}McWc{CuhTu9(RrvtU$-ZB1e2eDhn#-;@7aK1CTm`3BVc2`@oMl4Wi z0(p(yKSGz3iS!-;5h<_K$7nVqJH;u-JTytj^2=l{(kRk=5&2%p+j%y?@0(+8xI$@^ zy_9o9|DPcM4%Dg^74Y!QW)xs~N9{Z|AByO;8te~E<};{TzqR{hMzbJsEY6Ia_XhR5 zqKA$6vk|bp)s~k3Lj3cMyo@u&bnL-y{nBT{k480@pX;1$ z4p-%}H*s?|3rBX&P!T>M&>H2c6q36v$T8Ls-t+g7iCf(e9Y-%8ef9qxt$D0u2y)^X zl!3e9noh-M1NT0y9SMbn!C5;EL!=^~IE+Gd<6xHLbPOUQjr70jukug;I>_)gR)7?^ z>WxA93S2#WS|x6-lCp@1i3bz7jc?C)_T~mR-^z)K5`o{I2Y#~+xI3j6juwU#+H^(;uv^EV@%lRvT_nHA?&I*FNve8W!PV<+1L8}#C7Yg}PIsQtMcGcF zhkdREr<&^8HJOu692d^j*v!LUZ}?kI`(Xn57vJyjbY21`Dha;p6ZSxcIfNsf91-X* ze3&HMk4ON%fc3nuszNw~uNE9_-xTdJ$BMa3K@I@mt6_b`8!Lpi-~D-JPPm1s7OADu z_L(=lJqUp0^-mb9b$9~U>;9%};W|Og{PFiu@7D*yVXX)P9mWp`Qt;ajHD6d(*lnKUP-QZ?Yp*tY?ok|S z6!s6X3`_yn$s(PAswx*VI*>s`v;nkz6GKY^oEQbY^QRv&x(F9pu?ZCW;E@(8Ab;Ml zat9`T^kX)QMOww|J9IW)S#-G{_|h3NKTX{pmmJ7d%1?S7F~NdugJwctf7-6^=u z8ZXhS4X2SBqU> z6uT(wk*(2-#Z#9_%w7$#to89W)pbe8_woL|a>(O6O7^JvYDtl!{{6J`=%$uc0cL^3 zfzL@)vf;twUinG9#QjJ_Wwps({gjsHd$&jr}g7~&KfI+saq}F7LC&x#tf0aET?*} zx>`?_SywDAJx;Y9+U^42fnKucs~wbw#oFzS^WkrEulEk}Kwfp`=+)ko}-{?cgSLncS3mb{$zyY17|_Zii@F?ho_y+OO#o!SQW zs~xKbv(0(EOCI_T?pj-I>4y9p^F?^iQdEe?A&R4t@f^;KaNN^I@M$;MdUReB49D-_ zQwH+Oj(KhfB6?uZl9Cdzusvl@1zS{-4U{F<(uIvk>i0j~SN)eY{6jY-wM(~aA)GA_ zm-E2i?=<&c#=FA=7M;ckRYco`4B-|@tCG&QSTj}6B8L<}Bo zr&}LuTOV+Me@2;|(h51h;YUW}XYnL8fuW#Cki2&R4<-mvPU=T4m(-6w^z5TXTK2uD zl#~=WvI)Q<+1lCy&)1arK0QJ~S7Bli%4IzYSSAtV0!C9QD7#lvXn=~@V@1W}zP9); zkMSC$)qE6uQbDV|6qM=V^r^$qq;<2wK91$XAzs`RK5HjmJRz7c6;c8Kq_qn?SY703 zr|I7uB!!y;p{c5TPq+JdVf&kprG%xQT<)qaT0hrsNzNd$-*qHnfmlI^#?e$-Hl`O&T*m2Fh9uZ=!`v%bL{Tfue&j!WLupqfmGK{icmCR1 zKlspe-8J_bO>*=!=o+04*!z9v@Wq@J?o}LwpzeX&#dRMr9jlVyp@>si9IBaFzk$u# zfy5S@tFb{ECsCx8`_arUUZxz05MCQcxmvU@PI^A0Ir3Qi0-}p1lV0WPkExxCT*>gz zL41%1r|W^aT3Ywc)QxnSRcLc#5Z(x>Yl366%HEDCU4W^;+nKmxZ)Tq*XosD!WO-6CgGQEHSmnOWd)rJaL; zPb+qE|F*05Z7a&^RuF-{jN_y-Tkla zcqPo$T1Ge!FWd1;ywmob<86$1xtJmABvSobreUzdD{6xdMg*#;s{c6aEZXZN2v}h5 z*Qjcf0(`aavwkttG0;c880donah)(|a3M1=7$s+|r#IwBnJ&9c#YBiumFyy^9#>Lw zUq-T|9)w$Ng9fxYv^9&Wn`Us8Q?4Kaerh8`06^F75G|sn?nls`Q`quWO*Kc3SeBid2O89*oq zBl=ui`ZWgKIrC`A{LK|p!VJ-l$3JoSS?j1|yWd7_(zBRr4((Xb@pHLYV4l*Lv>D97 z&^A~V<$QBSG=2vuVM^l#84St|lz;7!_eO?6xVy@!=-$h~k!*SfGQQMr>=^E?w3cov zFjiDlVk|MXFs>_Mbg%oV+K!|!KV6~~3ygYFp97vz0_n?_qVl*)<0#~7JJu@7?Jkia zquU$8pmVs>Vre3_tyBQA->O~rjP_|f$|*6~>-Wzd@1R6Dz9jmeB^AEB_YHXKAN9|7 z%y?9pci(<Jr;(5p`Zp)@eWV zACLo`h`A=CT%=?)4sEZia}x?Woz$PIn!X|5pPtiN^5~gRI}Sepp@Y<(^5~^DQD6NX z7h@JzA1qP|(a-aa?`jW0hRkn63Q^h~LcUrM=f zqGW&+`~)p!$3Kee5^E$)6`q4+k4a@&o#*a!PSJVH@)RtgC+l&ySyV`Oq?g?P+17{3 zJ5oPrMx*YyvKusb!X!s((KFW{8V!mjFC_>a4d)$LXw1z`b(9hAE+a*dDLC*57ym`c z(SSS1$QvgY*gg?2B`0v`k3U9*jU=_;q5#O`19S+2B$$qkNim@k(RK3$Tv@7S!V6-? zAI%4pQUkWsi2Dy+K^~fBj#tSDqL}N53kF4M3h32!>ql6zJe{iq4D|0aH8d?82Nufj zGI|3BQ5fIL?W!g0+6nONVOG`y00(S{nFN&MQq-}7;$Gib$@@?4x>`cJkQ|1jC}!pL z$)_&nZze?=3S_X{^}0+Q<5XA^Ca+2c5%5b$LW@PJDU@uXgrT|cAA7oR?cj#H66=Bq zI{c$|2h5BNZj*$pFs{xm0tRJHloic{&BvFo+her)vbi|gAL_?-`^1p*Cb++jR!=Nf zMihkVGHDhn_Rxm%jN3B+^!mc6|Jzn0nmg?yW8illOSs+gN4`FY($btpW~iSN1ONgE z6bd>S5!Q0q5{0>caL>IcWj^Ggnd3&4yG1`ud-`ErOrJ1D$|H0PU~M*O?tira zWaPY*Mp!J2$WB{!mJSF6O>dA80}thBg|ji~?L)9wG-bpvLtqLwd~tSlhv+iB8Ej>P zFm?!ZWtvDW;Esq=EqU1o{d85g!Jd>hWz`dttF|byGG5&%_U3;B>8${semrIIU z8-R@Qs8N)I+}ekX(CH#cpr08U4H*o8l4mz`tikP?2J=NBn~}(8M1;TA!HI8(M-sbW zlWLf4cEXBXHnIvMM1_?@Ao18P5ry4gBS)qZ=wN^xDkCAaV4cdbYqDFBnN`* z#2CfKh}2+ZAN4i18v+gNY>XWvF64PxOUVM0D(JC^jSR(qQd2;2>i$p&?PHF@NXEiw z=+KZ^kE74gV7ahjGZX&o!j2LdC5)U3`^xdnO;ZM)w1%F+jVNx3`?1tJl%^T#$p_O@ zfK!0UXx~@~Z^gi#kDxpA^Iv{LU;m>zsa`be1?4;A8vQRsV;5N%!|k>)7In68|EMWo zkPtA?5ostacvHnwC;P#sj^i&N zeummYB!Qjp{I#{wB^MkPmbEox{&`ITvckMzhSQ12kPVkX`|(vUOIVju&)S&Sn{YkM zwmcSiP>2#?MU&K+!N>stq@GYZlCX=;@-_hF+=NBphoQDovfgKWAiY%Za}qxq{4VDQ z*^~p|xl(x_B#SqbWFg7nK!NJoWCK)TW?{9%CN|YTL8{}(Kta18x4drDlcjU5MlP;` z(o#4DAI@z#)(;r+I^mHStQzXN3wCwTLaC<0H830F%Jig35&DVsfCFR`9r(K+9Eo2` zC0G5%%zn2f_}4_sE9wtFb@hEwVX+Poxhm=~B8+533~~KTfO{MP(1%$SLJRS23pFZ? zb;9YRsXD9bH(jumH`fHI)@jCj5cNe+x5wBw$BE=YRMJMFQPN_t5AXbUiBYIYL1wprDlt zbEe`|929IczahMW2yz5S6>R?9n2mzW`ZwZevV`fuLx10PFxRDYaM6IWT%FIqmC=Bv zPYzd!xJ-bqLA8(>1_mbMyY!dxI!6#=npSFFo6ap{xsklN&oatEa*4Z>ev*0}(SVQg zsOB6&C4!{7MWC$ZF7xK}EBpS{Xo8*f>Fi$6NKcs_ZbVWFeEc|&!ERK)T$&Wk24m%0 zQA;w86LF$Ew`8{uVN$d_420)@X_&Rww7|Pou#Tvay*%xXW<8PGcg095SPpVow^z~_!M<8>bc^`&xX<{A-d-LH zTY;N$wBAjHF>hisixdi>D(X$-*5SG%*%~zIQ*q@sLm1!0#Z?w+a6*tGGgO=*Uj-5KB_2vg1Mj zLk!QHp0V6DF2R`JiY7q6=eEH`_7@*?fF$2mHoXC=$ik6#r-}44qw3h-?O~qnTUjq`fOr)A#hc%Pg{0tn z*qoMc+ISHCJt1)k#5$6c-;XPlXIJN{$rSb7aS{!v_9Zgc8&~^Z$(^ zE9?Wo>+N3Y5i=cr73x8Fj))%(<6XL$BU$BF7P|3lkisWIe!1OoVtpexjR<_*Jfc<% zUM|R+-iEFL` zpV1>T3PS7RgQGV#40sZ&d$3)9hhiCFq&4}e`yZmqGsvluR@ZMx;nOxKtn=4W;(|~` z3ysbog9vS9ETF!vIuy7{!;n9%<$4aK%Bm+BqsC|O&h_L483)ocWap$Wk4JMY`iau6 z{QTsyutq>TpXW$7hpi_^cD@%H9S7NcY*?R;wVS{vaFY2>1w-E@k&Al;JgCEfjC7S+ zh=r@-jgx|$Vh0ovv0-fzx|OhM@Dl%gPc|zsGCDW@)riE(&!kkC65Sk*9-Lp!3K@*x zZ%T2Pc?zcP7j_eNOih&!9*PT9bs5OFC{2ffn@2@HK8sH88!Z+6THv|Y_iJ&Hk*jKA zm{>j77-QLQbg2*J3N<8Jsl$_TUG+9?-m+zTvdm8JN4;-oMKJNu(9c{=V3EAlVC>8e zFh(T-nO2pl*oIRa*#ZxUOK{{o%enIQEA?9&44(Pz7a$peUeKpPO>xcMzxmHAUWvo( z!MTbre?+jg?%<)srM*LI`dJ0~96SX%^w};7ecOYLFjn>kA;N_r37>#Z=I;8LhWD~8 zON72=qR1y8872z~j`F%`H%7okTvO(@_-=St#{D{npC<6(fuxqbRPE3Kt^Rs$lc3jtG<9 z;KPgFyJ$ZtORklDB{Q7WmjNJvONdDl9f1R4iE;ItPZ^fW&K9ID<<&s&mMut8N^;tH z{ufTaJ>=Xfc;%H<{V#n@mIqNYITr7vwdsl5sf1*jyW4ZSg^Kzw5EHcXOGv7nAi@sG z2##V^@=IWMeOeMO3K#%cLm|_ZxSM9&u9`#yxs*ceuW(8dPSL9AQoYwm%?yh-4V#V^fL}MgRjdqZm@CWuzp|+`P zRxWg9R3}bbYz*wcqM>ky8Vy^>o;9oc{xrgwK@o1D68lQ>)7oo4Jq00xw?JEV#ehZ; z-~UHQ&M&!Jnf7qA{Ralmbw5{8#6d@T@^~?A0;O3@b_zRmIx1KIY=FZzjOch7oA}#rBVbrPy$JKb_qV7w$Ast zo)z+F->am+@=mn_9bc+JmYWWRQIIX@d45ht7Smz3v$Es?201Bogzm3hpstqO)Li3k z9BWB47lR=|GS_^jYVz>(=f&;x2jX|I)4@czXWmM&V5)t5VuI%ek>w;&YpJ}7PO}fC zWpS^oGCu-xEazsN9#p{^ILWr?H88PLXmVf5IEd9m84yvG;E{i3bEMapa$dL-+ z`_5qg=)OEo)Eb#W5Ew-EygWlpsXz2IwRnH}MdvUFokv?T+kS9qRWx>r(d=}mUC?B#vS?XQp^Ussb$QVy!i zE7I$Kxp*s*5h}-GEURRv^Ce@CU>@>s@u8{THA{LE!rb=G=a266J=F}ac1z5mdxbCG zt^paWX+Nbo#OU{}vu~AYLtE}^r@{AA|47-04m``uEyzwbrULbLZ%^VMkjSap#QMpB zL>;H6n@mqp9*NkEz(_5gmd)Z#_s%=|q*sHh7S@VY%|df?lr}cuH39SVHb31QJvYuQ z#@&&Ehp3#QWGAUOhH2hzRmQ0-E!0v24Cm2YwW3bL#k~?s4z#Gi7a5=C47a6}Alz!b zr(*iiD&xtfUhSvcQ@b9TkAK5FmuEDbY2yr5ixy$VWe*2wx-r`vpDK3GkG9pP?ES)f z=T0j{IMZG59^nE>hYW!Fir=;9h`xpZeg~@E%g2=;g%hijN{SwD?-m{(&DQPI*D_Xr z#`qe^+)|SM~yfx^lcSdayVMaIvY+HLP5(o7HGOzP6oeC`4i&n$^HG}@B)`S z;K{swM$+UWIGDNZv1Hix@lTpVzos-#mG5o)A2Q#r;CNrLrxXMxc!J?^wlbn*sp0r6 z#(TY$wdkR8P;Wob(4%v`KkqT5DsTN+)ufny;E#Qxxw^ZDf&ldC>L)D5%HeQ6s$eg+ zM0c*w%anIbrPcgKelG|bmOJ*tq-6?%PH*aSC_GQo^1uzpe9!{ z2e%Yiioh$P8)7FbWZ89`mR3uw1vIqE3{JG4gm_!7O4)jSx`xAJJ|O+da~_!8wKT34L|LONcdbnbOKtNG`$B!YO^eR3f*Hue1EM8ge>5BTdH_?)Y(o=x|ZbE(AFH) z&Me`@l?ig5Sy0KZ6xA~|X{pW3KD+hUtPwM6zMfOE=Wn8DiSM-XaS@6XBO0l$fq z7t&`P=~b>xw<;gaG%w~6y^Be0?Ja&oM_*BPw~2VX~wo_Qrj5I9>e zcAw(W@MI3Ey~?$)t_^Q8Y^4h4$xM`3FSJcHlJLH(sHK=J0^dZ41Ii+4zB?z=L57Y! zwuU}VeQkfnuf*zEy+UsWubIM-d@4?lPU?NG_Gj|${`s`SWXh_2@6gRuR^qej?V39f zZfP!YdD>^4hg=JNG}9JzISHGiPtGHTiz8OK@4;{>583wVv|3QVvHXoWZ8J+q=5xX*eV$#z z`%t&-b-oQ|7rjK-a}Lq6U2<)wx)QtmL+m0==}Qe~&MV{`s8S{x1>QLhN`k`o@7~TA zG~8hdEWNEA)rmCJrC&wIgulv}NjvVBw|sBmJ|GBTy8Ph6_n`wJf{7r^P~vE=U6;PT zT*7kcA}F>0QLA-4+wIk>DNbHD+S~Tkt)Bob?7&n(o#t<|9>=W1T?3tZX+ks!vY!gS z?-$GO9I0xNF(t~057qI<^IFcd4kx4Y{60sa_U_+BS~Tu1Ym=>gz2{Q_7wm&L3(8x6 z)V;b8EW`%ih1%1D!Fh2ZdqaOSdF@Ps6>CJ#3vo(Xn|HgH z;q~f%-suYX~Kv=GuH)(}mVHS6R1=Ny@EJ0l&#NNfM0$sM-x zQm0bzxP*nvST9>rIc2+q*n$%?W$VsB$Wh8UI_#_dq54&`i)^z-i+#6%S$MO8T+gb* z?tX2PWBwSQjUWF|d%3du42^(SoRV4d2_E(Z!cL5U;0?)*+M~EOLK`wr&emwmh@+vb zKCWHlb%9C|dCP4C3BTGghiGtH6d?e)u#!~7R_IU`;a1Pa;Fo@p{71IkV zoxit24pgR=_~3mQW}~nG%{0jY5qa_ZbMoBM9N~H;#jNs;mFvvx#c3M@%TyY zUB&*n+inAQ^Fec3@{}V6kUy8i>IIT$+JJ*i)mI7+kj>JhVBypr!;Q8eF(Z93W7 zLUMj=l3x$HiLgg+pt=IHd#x{Z^@vL@PL+9m)tgSsSdCzSo8n-+1XJw4zsXbIzj{Y| z2vTBUl+@CSW7+i;tO3kO&+GOga7Z$}ZvCLC(^9?hkl%25IK*PUp2Mc`t1nkP^DWT2j62BAz! z`r@pKES1>^|83v8ig12YYcrdHpyM(*XY&FmT1=I$Dw+a|5IuhFpYtx9@;z@`8GY%( zyXG%iz9-On@^1W_>(TWP9@yuLp6!JuP6mvQ;B7=DanF*S?@_{wZ-1r+(E<%41x#iV z5L9b#4u^x%(@A!0vM+6Q?>2&6Wrq`*uOGWeHg1#1g;gT=Za`(8W!t$_j=gDypM8gI z4N4Am?@8Ga{0JrNjLko<+4@{<)=H#vxjL*Q1g$WmG0%1w(`2OW;|VgE=v|cA%uYM4 zd>^!B(wlKuNsVS?)Vo}@G>1b#8Sf5VbiXd~7AjDqZK=X5ow9HH5$Cg_O zi9}^;p_pC(e}w3E?mo7HPK}s1@9ib#Oppwh(021bC+IlTXKl5oGFDFN&60@ zps|R1TM77$5Z*4NoMpF&nAf+jX4?# zNMn}icn#)I!TL*^_l&HSMpeLx6O}%iY~~Azx*`hkV&{2##y5Qu+h}L4XE8|!{`)>o2C}IL#-|O<6Z=d1^_H@F6-7?7 z)!K```L;_i5{SpkhR@cLs6ff0BJ3GmL5c)5>yd|IVQ0Z{N}nJsqWB z1vWoiSLnqRAI6Y4_3RY?ZDH42F2T^dCd7oNnI&G~rX4u)TH{SVn9ovfMc~WZ&}sB( z8C=dm?-d1IN!2JVS(V%mN}gP=imq^QJlMblQj&nG9RrqW>O*A#UaHV}sP9w^kmOR_ zu$il!cYiv%kBLU$5LzrOSSs}u-4te$LtyIT&gSX@(5;t+E`Ez_F zR)py?xVO+BeGMCT%V=7=68=$$0lAdl#E`g%jSmk~S`tc0Do7y!M7xK_!}qrV7^>FdiRVg^49l`!Rg zm!Lg5Javm%d%;bc3ABsSb0H&Y8@J(4)nQmQXIC+)9L8^NTxMoW8=I(QiKoDM&U$6g zH#CfAIGHfu;XLL#h~MUoa45U{hM(?!YDvIZ6P?9N>7jgeUF?De2|!ULjRla=86{aP zZPbRSJ(lp845s&S%>MQHMp$0+%8-$G$!RS`FfA7chvK{~^B~S-k;=nVXOg# z0H6J1fzGV$l(&~1DVEb8Z|H2VR5_Pi|3$%u?7mlL1H$Mm%$W`Ai^NOz`Rq+bD()AV zR2ZFcw3WO_%Yy42zmQ&slR23AJaOZ4pR~are3C+snO){iMDWA+2VvrJX<7=*%?;+` zOTlwWajS#p1wI^9cIk#3Co*Ku9!-ad3uPb44VOXzG@2Qr*pqkXZ#Q*Eq)17n14)l=_6A*khP;ZH6V|33kJVrUq_@VB6#F_4>_f6?hfK>o?OJL4B}*4}oLYbIW++l3OkHT8M^-S;WqUd1ze({bO3u0Kv=7$B80)UkJ6}) zB)0k74S5ZOR(kn%y@98&uuVlQR1e3q5CzuDf0&-5H6xaaW-`XkyQu3|G&O&qt)ibM z?5X^WNW)}KBfvAla~)v+`giovpRht3nw?+x?VWaoC|q(Zs@A(6FYWD}`WI(+7kvTa zk1bLEeD7bM$0KOUrxkCL&zho5G=Q^}(p=uay~cyBt8b9fvh}mJRuHBgQ| zePLU*w+7|Uk*>_~*nvU;=mbhgZjirauW_21?w$eKmxQ;boA5_jMs@TJMs)<6SKyq) zARg+sDYgrO7WT&zy(B&kBb8xT!w7^+KhPaGW`3@p^S@ev=;o5B9|$Wa0BKYyl1^rp zdwm%3Cb1_1El68U>jldj4$;}LvZ5tbQEwN0i={Dll+3KPg$5k(J9!0yF=N*_NvsS2_}|>1xQ)L4_e3%0VP!4&!=0j|Kmtsq@ zA&=+f98!yWK)W7Opjo_zllNV8bx5#(eY@&v);%Nai0n&`IcbEx@IrIC?&J9f)vBtj zEWV9zUo1S_Z`Phi!nHrYd`w+XOk#Q+!`aK}*k*otuEcA#sq4lWmidK?6#FInr^dRf z9N@U%+w-0iO6NfH?zg&|O+N%M!klAw1Ha-=g*m*03IE?Scw&+yY4Ewy4F3Gw zi~ojH{~NRYUmW(oG28zg;{T1={_ha~Z_M_owfPPQyxw$%{3PuMD8DZk`G)9E$!*0+ zR#*@>s{5{I+MEh*VDcp%;kFk6&ZQDXB(_{`f-qC-nRQ zYDgNEm!5a$o(A^008Egg$pHBEpLg0s1o;2|d2geN8Q^22IK>L>`sbI9&Jc;p_Q>e- zP`${3|I^xAN5!>#38UPb1QH-<0t8JO3+`?qG}gGgySr;bfF@Yb4%)%p-3i{og1fuB z+dJgWd^5k9Z`ND0-s?Zk=~Y!{pQ^p9w$|B&&VY~eWGfl_YOTPo<<8W9#P7UPh%s-| z3aIvCS^G)cAjEvS?Ny+s1ZTX z+RB!*|Ai(!uz!dXZ{DOs-{0s>Xy8jqihv&GQS;y3>hySM2nR=h81VB$~d&;ywut*rc5&Yhk`veK8wJEx9GmlQWDxBUY8Yb82Xfn6kKgh%FikVnwR zAqnpH`lA3E7j-2~JLL05^(&I&(YsUadj>tOIlIu z(~!$?gfJF;<03xBR(MYs`Se>Kfc(W&Nz>#=>iXFJJhYOR9M~bIjv`}hw!rfpyx z_-^Q-__-W~2Hli53cY9N+ZVz*KdJoIhl61MGpntY;vre(Hkh(;>1`q*zgZ}kHf%l3 zMATNLKcH8n#m1tu5?BJmo;=^5Hbas?=&K!IzI^vR3wACe^r{kQ(sIsRZEO1s;IYJx3arW9-Y56A&FRQ6B8X{ zml-+Lrj11pcB)rs(3u#6s$qz;ea8bJ*hf;ai9#eOs0@Xx3G?0kK-k}KB*)%T5-nYR zcu#N``uS~;asS)lk)a=NpMP!*{h4d|jaJm-9RbF(yL7q3XA^bHYp=l(&Q;CKJ7~}A zX^k`in5_bdeaad~sOhl0a2a2*7>@S0Ad!jo5NFk2qTH16zi6i1KORW}A96TCqtf$; zvEL-(ea$J4esxa!LQ+SMSegc%+FlCoV!JuzJV1BJ%m9GYmzu1;eNF(%u-(dE&w^bX z=>|dFqmPq9BujqFD5qI_+?2eOPDOUV|OtamtoTtq+#>iC~I{D(&%AtBHotN*$FQ}q9}Vz+mAHFm<# zfIu)~o2#LOR#XEG7m*+OP%%K_v}LS1WMwtk8bvqt+^DS7TY>`$9o7C^RT`2URQH%9 z$<2~AW+czTQQm?*PK8tZ1$9>}4F{Fu4vqCDgdRtxce{Uo@^{?O1Td%8QGoWdSBO4& zB@2&>D2dAtPK*h~j9ic6gxQd}wJfZ&EeI#NtPR)<_-aL~_IoDIn*?{L5j|e0=;P{Q zM&}?rWx)&WY=fqKF_o7;B!M>{Pme4db!SbJQ~=^h6A(7NS2!Ahc&ek5`s{sbL^6n|>=yZ@dzgdYqkMAUUEoU;8CGJkU4( zoHD|P^_Y`9r)?;#c-2`<0-i$1gBPV2+C|BcAjys^aJD^Vtz6je`g21MFWt_Ml>=wF z(wv#X0vY?iNG5ulZ!fz*yQjfJ?&CiKYvOApz+kmkGCiw`$!T3}A@Z7@M-H-(E~msa zW5YDK)X*+9T;`>R6T)5_lrGPXgMs?p73jPDO|%AM+%SoDYqx`;J(mu|WNq6uh}iJ= zAZsDPVH_mCaFfoaP|oxX!rng3zvt*vvgxX#a98geO~zgP4*6r$ICdTCASl!ze)oM2 zWqTPl@v)Px;43^SwbjCO26jS>Lt-*457x?SeX)+4wz8b_Rh%J950K?=5Vi=0UJuiu zAX#_m#}BXE;c%un=Q-w8>tgW8pwMaSgqCNd986i`9ne|Q7k@OC);)-6P+BG{B#+(m z^ixTVvw%;CgltyT^`;RPOGlyEN*httOM;-N|B!%cJcOokZr{gb0}MVNaf@5h#}`#M zD~5)iF?TRa5jk_86DK7WDAUG4MEk{B>r3_xJT#J)>oX%%LJsU+8H6)4$4 zzl>GFq5moh4V9^op;Z|3&c$Se+3o^0HW)kUaf;TQY1o|!*hPbLLhHr$)gWh>2#Bq)<-Ia}^$(dw` zlWlso9R?1E{175sli;~Vg0FoXB$>Y(Xu&WosSL&BBzu?|(g!uvl2dmLGYQaj2QV<` zScFTNDhV=G+&dkKuLLKNOgywSck1cf8pin)bkmDQ3jRL(wtN=&%SHK_X>YL-h?-a#4n(_@g^GMy)TAhjlDyrohkb@=&fI}BdzP5fl>$PzCsS=mNQg?=0xh)%fZsFgeLkbcc<9yMy2niHo`87Ya0{uvnlHQypJ zd#g_Q{Tqx8=M2||;sWdv;t13KBU8S{ev^>y_-xIgd~^>6y`_xK7lv@Q9et8#Uc`SU zjE+bY&dkXW7RGw|2|qw#?5)bzB0gWoLLLXF^G{ ztAZ0<-^~48kwA9wJEhi3fusSCXJpyWfN@&Cn29I*OT>7TL1(P-^jL7d7Ym!o(NavM zGMPRv{abzzXT%tk+BGfgXL*>xCOA`%m+?5XEc8WIRxZq0<`|7%B-08;aDQaXi(m_r z<*LTTW(ra|Liz)HHUrT|_gqYKIPAA!^l)t9(rfOZp%Ca~J@Ez_WoAeCVJ4)G(gYm@ za=nNOOU9lgk}|B1Hfl123_PcgkqT_5>FV|>uw$_8wgx)tUsQDlH$65~H_o(Y&mtOo z9v3dgdT(BPeU+VUY|{Uhb+xc9gqR7{k~4zO{U0?C2~I#{|DpgUo^tP1!VYN->TGqyJ_`C3b_Fy&wgU6C-IHpq!Vdpk-t8Ceeoyr3nveBHTpWAd;y zr*zWo)5A?&BK})&Z-|mWjm5gfb>^(|h8&?q|RUnC>TI z_!7Rhu?>e@dhLcn@zf>ZkxV;bLP)rA8n(J=%-UKS9%p6oz^og~#541Q;FZ@#WERG=ea* znT!8{`$4IEn6jM=6Vtw9v5!q2uKw2O&B1-V+sbnI6h>Th>r*aVqGz!=@BVYD|*eTHTBJ@}9u#jky+!a{?F+>eH0MD>-G zX<~95qYlq)TY(55RRs7>d(AMV{bCXMXnLG0?vKo5)94(j-Udy{Lm)cO}1;K0dAJyAd zPyIjgL%(72nuD!;c;xQ%PRF=rX!KR5>^DtK_l+&__s(Pj3E2fT_wO}bhv3(n-7T6$ z3>OnLXXtehWf1M)NbkY07u*o_5t>eHU#*VwZ!x)tXF8PED+dbZT%BD|DDTV`qC_dJ zGR3o3_=*Pg?(6Y)ZlJ&RYE*1zICn`>V6ZDnoi)1_1!#IHlk9=blTv))0Rvm1m+`vO zfbc$6^MJf2-0&d|bwPcy%_oK!K5{gedy~|`v(@Qlap~lF${ffIN?(fHk{eWjlj5n=g_dlHjLl`Z>MM$6d93R};63aXp1Q>P05w3t?EuBmuip z3(S5z7c(IQi!t4u@|{w5)7Z^JwOclGNWkFHIoTMPh2z&*-DzQCw{Mff?o7ZC{9UH6 z4-!(yvT9t1^zNZhbIY&3uKT^Jxw`3GeDBYm&?Y$F8xh_onWAAjFOd-KsF=MhjmYVQd#B(Q7;w~8#u2eS!c>R%( zc8v3sZLj4H%^0NabDLU@v+kh}Htxv&bCM`po1@%uMW-XZ9;evX`<;P8 zR|-}YsehH$%>fCykY>K^rE>S;?9E8|c|)NRP0~zyUA2!&VDuCoP15Pc!7zMbS#{nE zKHvTYpwOf4xAf^TsV+J8#YkzpKPyH)4+aMjV)FzoDU}B~ zJQAIP4FuwVJr{Uj#fK!5yz#ghD|NhGvuCe(;UK4G7-g=hs^+d0igJe_rp&aKI5gA- zm=F@8kT7kO4y+ro;US0x$%XsGOCg7xI3W(NdEg|E&Xz?F@4xtk_+KP<7LNbz~% z(cUA6(6^%~eSZqPvs6c!b7t1e3_k57ggtcE9~{YlHk?G(r$S3^C$#Zn9VU3WT9KDV z-XGDMC0 zpb~M$pkr}RdTUP1*&0m;4t6`cW)@pxB-sx)-3SViW@scih)1i14?i5*pXW?V{Z%8d zG4ER>^y3ispGjm*mh@neT}&IDd3dkSpAfHdR`;a;YwSBvu+d;yUZ4sC2N6rWDP21= z6#5RuNx*w7PA{udpEYH`lx)GK{3;}pESbRviM ztJKWu%{i`4RVX>Zy$>JBxIal92gwq?s+03Q)Mvvc@iT{t*IUW}ohBjnFZ!&cALxNK?Z3B`s=@ZSxF^pKXQhGr|IX~=N-$aRefRBm zNlWaA!92cd_}P9joyCCRQFlcs(eTjQZinOvI^>mn;reJi?v_F#E*IteSFby2o1HV# z5K;b{CK~Z3P03g?l4B63Jmw9ZR#rSc?zz$dZQkt_kJJsGfgLok@!an?b~A&|h}n;K zK{&5E3QgJR!w^7vZ+~Og-jJv-Kd4qT0--_bKbL}$*c3y3BpO* z%c>!&pfZ({W%$Np1Y=ab{oemq@M|5w-b8e*xxbH&4gnOv{KRa)$Xx%}+@4lC`Bpf8 zNAOWSq+n7zO4)k0nfN{-zcK z339wb@1o?yK4AkJa?|vdgUp`rlYQ-W4|3Kq>NJ;)dd<^|$g3>Gj*6E8zMjYW^5L5l zHDv&lAjsqmXn0jx@jU3R?RfpO0X(*k5L{0y$xC+b&|8BQRc!GSNGuTxRg;B$rKQsq zJ{_lD_jo3hftWr+H`#=M(!|nzvlVdZHzI=?g;Q}mKCnkcj}gIRzed$^!6eoyi8Klo z4E!jTlwv{(Uqw;`AihL)#!Laz_FJFr3o5Kgwz^~{Qe4}o804>C(0rsPeFcS@@F*(! z!sSj;D!%5wL5_-&F|O7BW<>A~i#0RW`;JYR1BUt(H%-}5GP+*&Fj#|!!J{Fnk|ksSfw1LIVPHg}c9Jhhbl1<*$CgjfgmfJD#q*kx{~l@_%P`%a31wf5sa0 z+R(v|6-UjEK7fO^&wj|5;x&4YHwDP?d&57tMeTLu?|zZ&<{-uRS~9;`nP0wNRgpDW z*=I^yHo9E+rxduJin79z5qp_?U?Vbjgp7(Z5E^R@!h(piC2S9?1rTh${s_t%R;0=Z z{@5I(m5-uA)YkY}|GiW*W;TsRJDt7s8PZFdxRYn1rhpEGKF3TjPKW$4L|N?D7e~aX zp-Q6=;VGo-bh&1k5TBDBh(J%Udw+ZJXQtkm*C|t^Q7V>oaxjUEXhax=u=6CTu(!XZ zjA8Hio^Ju<^Uja=Izy=gdn)&fr6;I!k}NjSsSQGxeh^1Wtm1mO1~Qzvv(U3Dawq09 zT5mx(2@#hWOWW9l^|Uk;sPl1&-$t;1;y2&Z#Rt(AguzO}vzOeJL%NN1^zus6ddtjt z6XQO{Ml9n$s&fE6lfV?T1&)&kxKDplBUAKaeZ>AH_7rfYjkdkhqr$nW@e^E*e2QoE zitM?Q=DASIEp@lhuRx#1iJddgI(>dA@O9P-sO8X&!TZxwY>zAdP0Dw~+R}=>HT0oQ z+Mt-Fs#galO}Zsm&@02OZR(=2)!ePHn)L=fm)EF2-9ZwNr}A9k}8IU@+}!) z97u%&u9&G#RD{sXF$vnH?+NjCQ>Rpq730p4#ebr<)*}BcKE*{Ee~N@eyz+QPz`uue z|HU)$pX0s%`-;{*)0tDkEVP!pq28&50pI2->hq$Mi@O}NyXAR1gD_w{Ey^0?Dbprt z8Ff3A+zz(Yv><$KtmJl;?m}DQ9`2XncLYX{PC&P>{d#N->^E0Fa9>%tZ}ZxQtHrq! zIx|o;JAw#<7TcWj55^e9-!5VuD7RpEA?^&`t{t*43C1q%khK*Y#px zFfQx_V;*tR|KNQ;jEj)MsJ@CbJ3q#kgF*L=d>>9u?L#bl*AjFlWMvQ5F7BOH$WkvO zl`2<=THH;U{Ekkatq=xb0Z@T1SBxjVQK607PJDx%p!d!zkaY5{Y9Zpz=SVZ_@@m6R zXv4krDsDl$K-xR;p-?-mBsTo(Sfi?k{>9zjEhl!a2b7@TvD=_KI@6&JtjARoJ(Z8J z9&0f(Ri%9mswn@~M>=`dPp7mpVcq{a|9c#&3hnE3tGKTkX^_BTyS(plzpB1o{q!Td zZy8t?c@*lkd~?y%iAfXVmyxt+4Doep|Pl@63g-agFfl!^_)9 z3w{d#BGNu%(gXOUS_b5f#Vds50e(|$x4j<_-?Mo zQzvU&=P$_ocKtRnTLM`Cu>M|Le->+Nm-jQBM~MIC@cYNH_n+N+|36mPN0x8ZNBptY zCTZz==Os*6R#rA2-SPfK!*g>@mk&UI{4*)AT#+U*4h8;rIsd!U{eSev|L-aSo;~J| z))|?#5rpwAOYDz7X%4;FkR?XzBlGtf55c9LSDyl|@dt(lUIJbUye!tf4|(@%qGn7O zja=+x?$^()wD#UQyD*b)rTsR#P@a&B#7O44I6JUurc0V}tmk#tv=ahV&adj0Ly}v| ztZZkIscTnrIWOL-!5L<9M5XyNX{S)r!u$uY{WcY0FJ(ChwKD=eps7^&@59 zs$E^73kQ>#d~<;-2PrfUn|R`tmULrEzg4!1KHWz8p03(#9bTb5IY^=NB<1t`ZP8FC z5L%JZ4%6}3Y4*aSk~5PHYnWwZl__t)JiD;n50Q?*fb;kz6snG7#uuliHWgJfBy|xT zjIGV}I({zQoeLu3GIh`{G)^>$u{q$OsI=M5EfBA|jw+cnISE|CL@|RHQ;x8w%q^#> z!d9fthqG&$-M#6B)cOX$^UX2_H#KR^F09v!o@B2R(!|WojZ8G8%1$o7;&9lGoxZjw zGb2xA>c=3y*_8P45MRyx4l_)_tmU^DcqC)k-gkl=g|B)QG#5)m-pc6)Bz#|cXYKLI zYdyhCHktbf$P&LGVe0Z)1;6X#!%fuG(5H)mSJSiEo*H&jZkJ0t_=nyeu7^#y^*I}Q z&J_13Ks8g?%QMq6*csiSzeT1C!DM|lXB{LF?Sw)0{)^DkyEQ2a~FB)+6j#g z@*ERw)+aioDLO27l$90SOuNRK!Ca$!6$u%mB~=H1-tS)>1*Xn!B;=*w-0YHX^!x1R zom7c84+JD9)iWE}2wnG(5-AvHj!CUIx*$4AnQn_Fg)bh=5?*PuW_N7jL_@mG-22 zdNZ+H4$jXbOA4#{fzRh9I-oH-`(nX9Mz;hZ<@}expuWf zD+R5ls@g{&hB|Xd$95nJ)?J7~w!S^+ww1Cie4}1f=j-qQ!Qb+BsCNxIc)ziuTdeE1 z$DVYvnQa$_G&9xL*LSQwZl6+Ey!xvKi!Nbpc|Sl-kXzt%01PRqJd$;Ur|5$-#b2FHW5;GislG^Xk-C;M3 zH-k^bgT7@2VMdyh$CmI($;Rdri7IPvmcX)+P0qXkTfE;XqP3^2Moi4~{L~?IENLyT z#bb{NFR{En#2iAZZ6<(mQ#W1l9J+IdZ|v(mJ2KYJlOnP~#h1hf?b)^#qIcC!;TCZB z9Y#bXr3i@gx^Cm<$fYE0x-w0{cB~WThg_B1$b3Eu9^KdSsJ-WMz^oWBOat#~n|rE-I9ap1jm*;Z?|WJ*d>(s}GqDpwWfLsN%aFzUA_Au)i$dr%##r zFrm`DHrZfgTBi=$xK9-v7sK5M-l^}Io;s1}mi1XS%#$A95lCoZE^Vyt3{em`b|E#6 z$w?95Vt>0f<62c+y>IC>O||-ya%51%s#=8$=Bc@zm^wM>Kb~h5sJ+q~Sz+7A**Z3j z(2$eXW#Ad3G%E8OyCN@r8BsbT;ySTE-yBhg7zx;*CfU7Qm%R*%ubiwrO>Y+TllCb; zM_oIXDvr%7qokhqT)b{!w=TXzX~_JUMq^c0lmmB}q%!u1;~O({D$veUGIHEQXQKD2 z^SrAX*=_A#Ao#1g0+OYe)U`d@tdgfZ4(o#!x?T*BU|5wQAjXNtl(d8WVR}?}8M zg8PjHTnQ&a*GRyse7&4gh_%vzx)fPHtD1rDCsK45r$V&#B&s?BF3WvmftC|$a&sDm zZX7M_e5|QVvJlz?r)P<@l~W3t@?R_mn0(%Nn@ zb`OKa(W@6}A<*37xO9tpZ48j10KLwg$j#nx)*)}IU_j?Pk4uN2? zCW1buSE;dnbi1aCtcHX;mW92e!Sn{kE7%54=^EiUuR z&bT)_?6|1%666$wK&?5`qcxIe^e4(}+7uk*G+MZsxyQ!ahL0H&=^FTfF3j*k&0PZn zv=N>d!|Rh%7d=KW zE?yAo64z~391rO%VfV%dJJe}f7c(!+&$KLX3h~+- z@(-#AA*Mf+IJ)jgmw{JlrSW@&F{-N)kh{gCtD6R^clGhKN|fA~!^b0g3>G9N#%?QD zcy-8+FRd3+Q+gY6dBrNWHgQvKzT?o5WC}VMOi$P6#M!Kzm!9)jfH!8Pau&|c zR#h|$;bjHqOS~wt6RdzIg6#vO9X zi+!W2^-9us+f(QoXHWUwwUX5Ms^Sl9k0atK*edwX28c>j^qfiV7V5_}r5x&Jyr#Q@ zWPe58h0a$ed}{GsdD)P%w{@^_?&dZ6sb>DxDze)^XXoTc+iDMjEh{2o951cL$8@oX zYrd4L&g(i5&(&<>^uv1iM9=i7M{Z01+V_-s3H(ZD5xTxE@ z7CqoE=fe}R6R7GuJ2(>?!C;1zk2-YtnLqy;GvVkz>qb*^QnQ;VJ)P$>uENo%^ARYL zo!Mo)xLQ>}VzzB#`lx_}xr@bW_nHu1TZ<^fU)4J;qdNNis4*UZWbVkjW>7KJ880 zyK`EXhpRU$j3{w=QxuNXl~b}k>qGO|YbfpWm!E2WH!*}`WM^`jPgl4dAlDb4^Dft4 zM5bJt$MZEdhIVD8xpgBf&rZ*@q(VQ{CKROLyo~ftL77^09h3+lZyzfdXl|(~=|qgn zhHYEtS(OzR)z^VXV6a;yOOYqji;h~;U%R(8eUpi7t(FK`WXdZ9?wS~hI2cGmF}f{J zy2nb%sF>o=R?a5QsASwX24p|+c`T=(YlIXsrr9lVd0A?mP7>;k?gD(_q&2l|F`O%PNghd8R9Z>*kixc%>xMwa%Zc-hPBq&&YTTw?xveJem|F=lHKF8&pbnQgb@h`fI-Gk3_XB)mun2bo)C@w8Y8r>^Lqk_HOF)<0nzi1s? z{NCB0r=JdKt3BMW?~RDRjCAsJUTmx@@v}S8yunBvpNV{4G;{0B`D6OYP2mR7d3y?L z?Tk~{K2;LO!nhE1LyA&OQRkl1LIe2#3DUUo#pMF&swMd?pH?0cWz?_1KM zzeL}niW(auC$)4<+^%EGSwrl1|4mYuQOw-Un;-XzN>0jXSHU6DX0E$#Ttl0H+eq-d z=RPj9Pc8z(4pLG)6{EN8yv~H)=vKVxvAg+`0}dSL__Ha7yr&~i$#SRNCpp}_nVrvm zH-r4sz1G~IvlSJhe_#DOe+m!FzGFiVdx-YjUGTIv#&l+{nLyF(?(9tK59{&Q^<`2< zQiCK&wlTQWvh*tU73*d6reE zCBKQD{$nI43JQ*oHboBjaqAkU6y0c=4kX=RRK;ceHMQ=Dy>+s`zfY1WmrV9O3hi2Z zVkvk-khf%DT7aQgU}9yWkXO;ZJnK!|uBxLu|1%YrN~hg6C5iRZ#vH9zS~?Z@SxZB2 z8l3v94?L{pDvDEiefAw6?nzenXII9F@YXRZi;g3Q{?!O!L>87@$N1W?8<_T!O%&L| zD1zlRx8Bz#*}sujch}VtCZ077Ip5Xh-fcVWNo<;C7pR=HtD5WOL3{y)Yz0@}{FL1Wc3GC`=^i7QYbvTtWtr9vM4;{P zj6RwWciObl^jq!OM?pTzX&-g^A1$hW@8(qtgI*`kpVqiH7c-$1;a?fTZjO8RO#c>l zJ0oMOz()yQ&7+Fc06%^Qp(8<9mtpHE1_lI$(C8 zlF0BaXMu#WA}*o$>=POi@#L!>IjI4V{SNOq$KTH@2ls* zIGJm4bEuQ|=9W{}71Mr~R?}Qv4)5zI`dV7op3m7{wCS>Kn08U2G3>2{ys$hl%jrTM z=MYP3{8n8oqLT&Rxv|d@bkNQ%nd&?vp5kJv4h=>vPd$yB=lnZaGize*%Il; z_o_Bj*;3gjXSmYm@+q+EA&Dke=V${C~}22Sf!G4ak!4S6m$M7 zE&q=NaKZIJM8AZ8#=7Hx71e|=!RrODIyYE@RU3Ng`^#)nP6AfyyM4wG9?6_3JzLF3 zG%^kY&UM7#4o~%Z2zb?4hZB_456S96F{|JWHHm?uR@Bdlx?qaH0j~|5*tOd2z|J*1 zLc0Z4bc!u1v&7NRw`BoRoB*hH zVd!ZboyHw*IC4|{Z(!v$D6)(|V#v)#v8`B2_~uTm)S9ArtJ;p0Yi%NchJv{PV8;R3c~vb;JSB>gx~kZ`Q(SB(ZJG~k z3Y<{bV=AT9n7} zQ@vXyz=3xrdGu)G5rS;|oJ#cAb*LlH91AyMepKK7o^Gmt zt{xt~mZcNhLT=r=HyCFJ7E~ag<;ueKhF!W6#`)F7f!FIZUI1TO7e|o|+o-#f5~Qud zQP8;22i0$Q>XyVtbm_rWPE0fqUizyAh4>fo?O8Q z=K@Xcf9R#`9(mdXLjSI_${Abj8L$2Pc#)R9Hs*1@-}Lq+MlNH41!IfIRMM>4m_glC z)#Z#BA7A}1{BBceN8S_@pL`(EUoJugHkk5e5O((SlM|SJVs2)t2oi7*fvYh^T9(Dl z$IHzg4^JqAbZ1XD%zSmUS!%xHYPKsVXg_G;Go^GaPr2czW0;%L;`KUt@??X0?j~P= z*_K0Qdw0ufrs1Nk6>-t6gF&lwGA)H&yk0zCyu{(@a@~bFG`(-*P)~?wF1PVrno{|Ee9!h*L)=)6Da-4>H0y$B zi!S8VcFn{O=Gzd+KI(3~+8cx%T>FSB#+v>LWBP3>GqnX@UXIg!ZjGYUX5XD{w=m=! zC8v!%A1m!?i4>xik9KSSCV7Y=yDJpA3qnm?DD%qkWUkIi{4&ODuXbZ*O9t<&4GjLP z@>1;x;WTu?oje*H& zq<1NwJ|(I0{Je(UcZMELMod_(8KNz4>AJ16u1h$prt7gb&c!MSfZ~QF-6<8+tj`J& z3ON;QH=0m$3;H@fF>~+=atYYLK&nwXV=^4Q-(K4(Y0|Yy+h` diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index 6ced2c7dff5..28c77ec82bc 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -35,25 +35,25 @@
    -

    Go to... +

    1) Go to : https://www.linkedin.com/secure/developer

    -

    Log you in Linkedin if you did not yet

    -

    Add a new Application

    -

    Fill in the form

    +

    2) Log you in Linkedin if you did not yet

    +

    3) Add a New Application

    +

    4) Fill in the Form

    - +
    -

    Copy the API Key: - +

    5) Copy the API Key: +

    - +
    @@ -69,14 +69,14 @@
    Record Not Found.
    -
    +
    - - - -
    -
    -
    @@ -630,9 +622,9 @@ - + or Import - +
    @@ -652,7 +644,6 @@ - @@ -664,26 +655,23 @@ - - + + t-att-class="'oe_list_field_cell' + (align ? ' oe_number' : '') + + (column.tag === 'button' ? ' oe_button' : '')" + t-att-data-field="column.id"> + + - - - - - - discard - + + + - or - - Cancel + + @@ -1494,7 +1479,7 @@ - or Cancel + - + From 4ec356892ca623182a830cfc7e7040037ba2af81 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Thu, 19 Jul 2012 15:21:39 +0530 Subject: [PATCH 066/214] [IMP]code improvement bzr revid: sgo@tinyerp.com-20120719095139-6zwcjzs0d12m4wgm --- addons/web/static/src/js/view_form.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index b615c9af6cd..f6db12edd0b 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -4499,8 +4499,8 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ var self = this; var content = instance.web.qweb.render("FieldStatus.content", {widget: this, _:_}); this.$element.html(content); - clickable = this.node.attrs.clickable; - if(clickable == 'true') + clickable = this.node.attrs.clickable.toLowerCase(); + if(clickable == 'true' || clickable == '1') { var elemts = this.$element.find('.oe_form_steps_item') _.each(elemts, function(element){ From c5bbcb470528685e05b3d5f02fd57682c3b6fe13 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Thu, 19 Jul 2012 15:25:05 +0530 Subject: [PATCH 067/214] [IMP]crm:make stages clickable for statusbar with stage bzr revid: sgo@tinyerp.com-20120719095505-m9tgj782pln74j4r --- addons/crm/crm_lead.py | 14 +++++++++++++- addons/crm/crm_lead_view.xml | 10 +--------- addons/hr_recruitment/hr_recruitment_view.xml | 12 +----------- 3 files changed, 15 insertions(+), 21 deletions(-) diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py index adf15e93a89..7680f8c49e5 100644 --- a/addons/crm/crm_lead.py +++ b/addons/crm/crm_lead.py @@ -289,9 +289,21 @@ class crm_lead(base_stage, osv.osv): if not stage_id: return {'value':{}} stage = self.pool.get('crm.case.stage').browse(cr, uid, stage_id, context) + if stage.state == "draft": + return {'value':{'probability': 0.0}} + if stage.state == "open": + cases = self.browse(cr, uid, ids, context=context) + data = {'active': True} + for case in cases: + if case.stage_id and case.stage_id.state == 'draft': + data['date_open'] = fields.datetime.now() + if not case.user_id: + data['user_id'] = uid + return {'value':data} if not stage.on_change: return {'value':{}} - return {'value':{'probability': stage.probability}} + else: + return {'value':{'probability': stage.probability}} def _check(self, cr, uid, ids=False, context=None): """ Override of the base.stage method. diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 73c687e4ad0..dc17facc6be 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -432,26 +432,18 @@
    -
    diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 7881d6f1e37..218a699a0e3 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -107,19 +107,9 @@
    From da96b5c89acc27c927d501e933de7f943a81f6ba Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Thu, 19 Jul 2012 17:23:56 +0530 Subject: [PATCH 068/214] [IMP]make stages clickable for hr_recruitment bzr revid: sgo@tinyerp.com-20120719115356-5wob5o6on83m19nz --- addons/hr_recruitment/hr_recruitment.py | 29 +++++++++++++++++-- addons/hr_recruitment/hr_recruitment_view.xml | 4 +-- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 1caceeac137..b36518b15d1 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -242,6 +242,28 @@ class hr_applicant(base_stage, osv.Model): _group_by_full = { 'stage_id': _read_group_stage_ids } + + def onchange_stage_id(self, cr, uid, ids, stage_id, context={}): + if context is None: + context = {} + if not stage_id: + return {'value':{}} + stage = self.pool.get('hr.recruitment.stage').browse(cr, uid, stage_id, context) + if stage.state == 'done': + context['onchange'] = True + self.case_close_with_emp(cr, uid, ids, context) + if stage.state == "draft": + return {'value':{'active': True,'date_open': False, 'date_closed': False}} + if stage.state == "open": + cases = self.browse(cr, uid, ids, context=context) + data = {'active': True} + for case in cases: + if case.stage_id and case.stage_id.state == 'draft': + data['date_open'] = fields.datetime.now() + if not case.user_id: + data['user_id'] = uid + return {'value':data} + return {'value':{}} def onchange_job(self,cr, uid, ids, job, context=None): result = {} @@ -409,8 +431,11 @@ class hr_applicant(base_stage, osv.Model): 'address_home_id': address_id, 'department_id': applicant.department_id.id }) - self.write(cr, uid, [applicant.id], {'emp_id': emp_id}, context=context) - self.case_close(cr, uid, [applicant.id], context) + if context.get('onchange') == True: + return {'value':{'emp_id': emp_id,'active': True, 'date_closed': fields.datetime.now()}} + else: + self.write(cr, uid, [applicant.id], {'emp_id': emp_id}, context=context) + self.case_close(cr, uid, [applicant.id], context) else: raise osv.except_osv(_('Warning!'),_('You must define Applied Job for this applicant.')) diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index 218a699a0e3..ef99e687185 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -105,11 +105,11 @@
    -
    From ae9a9def1bf35c9d3aae6f514dc05b393fd88822 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Thu, 19 Jul 2012 18:44:04 +0530 Subject: [PATCH 069/214] [IMP]hr,project:make stage clickable bzr revid: sgo@tinyerp.com-20120719131404-hzzrfh0xwg3l0ukm --- addons/hr_recruitment/hr_recruitment_view.xml | 2 +- addons/project/project_view.xml | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index ef99e687185..8c2931a8bb9 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -109,7 +109,7 @@ states="open,pending" class="oe_highlight"/> -

    -
    - - - - - - Follow - - - - -
    Record Not Found.
    -
    - -
    - -
    -
    - - - - - - - -
    - - -
      -
    • - - - - - -
      - - - - - - - -
      - -
      -
    • -
    - - -
    -
    \ No newline at end of file From c5427f3faa4b04df168cc0cce7ea0356a6ca7fc8 Mon Sep 17 00:00:00 2001 From: help <> Date: Tue, 31 Jul 2012 18:12:10 +0530 Subject: [PATCH 112/214] [IMP]improved exception warnings as per suggestion bzr revid: help-20120731124210-7vjw7puesjm3884p --- addons/hr_timesheet_sheet/hr_timesheet_sheet.py | 2 +- addons/hr_timesheet_sheet/i18n/hr_timesheet_sheet.pot | 2 +- addons/import_google/i18n/import_google.pot | 4 ++-- addons/import_google/wizard/import_google_data.py | 2 +- addons/mrp_operations/i18n/mrp_operations.pot | 2 +- addons/mrp_operations/mrp_operations.py | 2 +- addons/purchase/i18n/purchase.pot | 2 +- addons/purchase/purchase.py | 2 +- addons/sale/i18n/sale.pot | 4 ++-- addons/sale/sale.py | 6 +++--- addons/stock/i18n/stock.pot | 2 +- addons/stock/wizard/stock_partial_picking.py | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py index 6a0c24b553e..73a4368caaf 100644 --- a/addons/hr_timesheet_sheet/hr_timesheet_sheet.py +++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet.py @@ -315,7 +315,7 @@ class hr_timesheet_sheet(osv.osv): def check_sign(self, cr, uid, ids, typ, context=None): sheet = self.browse(cr, uid, ids, context=context)[0] if not sheet.date_current == time.strftime('%Y-%m-%d'): - raise osv.except_osv(_('Error !'), _('You cannot sign in/sign out from an other date than today.')) + raise osv.except_osv(_('Error !'), _('You cannot sign in/sign out from other date than today.')) return True def sign(self, cr, uid, ids, typ, context=None): diff --git a/addons/hr_timesheet_sheet/i18n/hr_timesheet_sheet.pot b/addons/hr_timesheet_sheet/i18n/hr_timesheet_sheet.pot index 8149ce4ec92..2bf91768bad 100644 --- a/addons/hr_timesheet_sheet/i18n/hr_timesheet_sheet.pot +++ b/addons/hr_timesheet_sheet/i18n/hr_timesheet_sheet.pot @@ -971,7 +971,7 @@ msgstr "" #. module: hr_timesheet_sheet #: code:addons/hr_timesheet_sheet/hr_timesheet_sheet.py:318 #, python-format -msgid "You cannot sign in/sign out from an other date than today." +msgid "You cannot sign in/sign out from other date than today." msgstr "" #. module: hr_timesheet_sheet diff --git a/addons/import_google/i18n/import_google.pot b/addons/import_google/i18n/import_google.pot index de5a0a257ec..175b8c1b75d 100644 --- a/addons/import_google/i18n/import_google.pot +++ b/addons/import_google/i18n/import_google.pot @@ -33,8 +33,8 @@ msgstr "" #. module: import_google #: code:addons/import_google/wizard/import_google_data.py:71 #, python-format -msgid "No Google username or password is defined for user.\n" -"Please define in user view." +msgid "No Google Username or password is defined for user.\n" +"Please define on user's form." msgstr "" #. module: import_google diff --git a/addons/import_google/wizard/import_google_data.py b/addons/import_google/wizard/import_google_data.py index 32ef6f82534..324f11293f5 100644 --- a/addons/import_google/wizard/import_google_data.py +++ b/addons/import_google/wizard/import_google_data.py @@ -73,7 +73,7 @@ class synchronize_google(osv.osv_memory): user_obj = self.pool.get('res.users').browse(cr, uid, uid,context=context) google=self.pool.get('google.login') if not user_obj.gmail_user or not user_obj.gmail_password: - raise osv.except_osv(_('Warning !'), _("No Google username or password is defined for user.\nPlease define in user view.")) + raise osv.except_osv(_('Warning !'), _("No Google Username or password is defined for user.\nPlease define on user's form.")) gd_client = google.google_login(user_obj.gmail_user,user_obj.gmail_password,type='group') if not gd_client: return [('failed', 'Connection to google fail')] diff --git a/addons/mrp_operations/i18n/mrp_operations.pot b/addons/mrp_operations/i18n/mrp_operations.pot index 0cd82aaca0c..4642c7cc917 100644 --- a/addons/mrp_operations/i18n/mrp_operations.pot +++ b/addons/mrp_operations/i18n/mrp_operations.pot @@ -164,7 +164,7 @@ msgstr "" #. module: mrp_operations #: code:addons/mrp_operations/mrp_operations.py:486 #, python-format -msgid "There is no Operation to be cancelled!" +msgid "No operation to cancel." msgstr "" #. module: mrp_operations diff --git a/addons/mrp_operations/mrp_operations.py b/addons/mrp_operations/mrp_operations.py index 2700ed2654d..8692dab5c87 100644 --- a/addons/mrp_operations/mrp_operations.py +++ b/addons/mrp_operations/mrp_operations.py @@ -533,7 +533,7 @@ class mrp_operations_operation(osv.osv): return False if code.start_stop=='cancel': if not 'start' in code_lst : - raise osv.except_osv(_('Error!'),_('There is no Operation to be cancelled!')) + raise osv.except_osv(_('Error!'),_('No operation to cancel.')) return False if 'done' in code_lst: raise osv.except_osv(_('Error!'),_('Operation is already finished!')) diff --git a/addons/purchase/i18n/purchase.pot b/addons/purchase/i18n/purchase.pot index b270870c33f..d0b77b2ea66 100644 --- a/addons/purchase/i18n/purchase.pot +++ b/addons/purchase/i18n/purchase.pot @@ -443,7 +443,7 @@ msgstr "" #. module: purchase #: code:addons/purchase/purchase.py:499 #, python-format -msgid "First cancel all receptions related to this purchase order." +msgid "You must first cancel all receptions related to this purchase order." msgstr "" #. module: purchase diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index 17e2c4151bf..dbf3f89dc56 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -503,7 +503,7 @@ class purchase_order(osv.osv): if inv and inv.state not in ('cancel','draft'): raise osv.except_osv( _('Unable to cancel this purchase order.'), - _('First cancel all receptions related to this purchase order.')) + _('You must first cancel all receptions related to this purchase order.')) if inv: wf_service.trg_validate(uid, 'account.invoice', inv.id, 'invoice_cancel', cr) self.write(cr,uid,ids,{'state':'cancel'}) diff --git a/addons/sale/i18n/sale.pot b/addons/sale/i18n/sale.pot index d6e213c3936..19f86364672 100644 --- a/addons/sale/i18n/sale.pot +++ b/addons/sale/i18n/sale.pot @@ -131,7 +131,7 @@ msgstr "" #: code:addons/sale/sale.py:295 #, python-format msgid "" -"In order to delete a confirmed sales order, you must cancel it before ! To " +"In order to delete a confirmed sales order, you must cancel it! To " "cancel a sale order, you must first cancel related picking for delivery " "orders." msgstr "" @@ -1492,7 +1492,7 @@ msgstr "" #. module: sale #: code:addons/sale/sale.py:604 #, python-format -msgid "First cancel all picking attached to this sales order." +msgid "You must first cancel all delivery order(s) attached to this sales order." msgstr "" #. module: sale diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 8ea9eb151b9..21f5d34ced7 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -295,7 +295,7 @@ class sale_order(osv.osv): if s['state'] in ['draft', 'cancel']: unlink_ids.append(s['id']) else: - raise osv.except_osv(_('Invalid action !'), _('In order to delete a confirmed sales order, you must cancel it before ! To cancel a sale order, you must first cancel related picking for delivery orders.')) + raise osv.except_osv(_('Invalid action !'), _('In order to delete a confirmed sales order, you must cancel it! To cancel a sale order, you must first cancel related picking for delivery orders.')) return osv.osv.unlink(self, cr, uid, unlink_ids, context=context) @@ -703,7 +703,7 @@ class sale_order(osv.osv): if pick.state not in ('draft', 'cancel'): raise osv.except_osv( _('Cannot cancel sales order!'), - _('First cancel all picking attached to this sales order.')) + _('You must first cancel all delivery order(s) attached to this sales order.')) if pick.state == 'cancel': for mov in pick.move_lines: proc_ids = proc_obj.search(cr, uid, [('move_id', '=', mov.id)]) @@ -1210,7 +1210,7 @@ class sale_order_line(osv.osv): account_id = self.pool.get('account.fiscal.position').map_account(cr, uid, fpos, account_id) if not account_id: raise osv.except_osv(_('Error !'), - _('Please define Fiscal Position or income category account for Product Categories default Properties.')) + _('There is no Fiscal Position defined or Income category account defined for default properties of Product categories.')) return { 'name': line.name, 'origin': line.order_id.name, diff --git a/addons/stock/i18n/stock.pot b/addons/stock/i18n/stock.pot index 6e75333fc92..9b46cdde703 100644 --- a/addons/stock/i18n/stock.pot +++ b/addons/stock/i18n/stock.pot @@ -2842,7 +2842,7 @@ msgstr "" #: code:addons/stock/stock.py:2379 code:addons/stock/stock.py:2440 #: code:addons/stock/wizard/stock_partial_picking.py:141 #, python-format -msgid "Please provide proper quantity." +msgid "Please provide proper Quantity." msgstr "" #. module: stock diff --git a/addons/stock/wizard/stock_partial_picking.py b/addons/stock/wizard/stock_partial_picking.py index 728e3d0047e..d8520002b52 100644 --- a/addons/stock/wizard/stock_partial_picking.py +++ b/addons/stock/wizard/stock_partial_picking.py @@ -167,7 +167,7 @@ class stock_partial_picking(osv.osv_memory): #Quantiny must be Positive if wizard_line.quantity < 0: - raise osv.except_osv(_('Warning!'), _('Please provide proper quantity.')) + raise osv.except_osv(_('Warning!'), _('Please provide proper Quantity.')) #Compute the quantity for respective wizard_line in the line uom (this jsut do the rounding if necessary) qty_in_line_uom = uom_obj._compute_qty(cr, uid, line_uom.id, wizard_line.quantity, line_uom.id) From 41d1135812915fd1ca4f97becceca730e284392b Mon Sep 17 00:00:00 2001 From: help <> Date: Tue, 31 Jul 2012 19:04:25 +0530 Subject: [PATCH 113/214] [IMP]improved exception warnings in remaining modules as per suggestion bzr revid: help-20120731133425-2zlm5sakpowuc6rk --- addons/account_analytic_plans/account_analytic_plans.py | 2 +- addons/account_analytic_plans/i18n/account_analytic_plans.pot | 2 +- addons/document/document.py | 2 +- addons/event/event.py | 2 +- addons/google_base_account/i18n/google_base_account.pot | 2 +- addons/google_base_account/wizard/google_login.py | 2 +- addons/hr_attendance/hr_attendance.py | 2 +- addons/hr_contract/hr_contract.py | 2 +- addons/hr_contract/i18n/hr_contract.pot | 2 +- addons/hr_evaluation/hr_evaluation.py | 2 +- addons/hr_evaluation/i18n/hr_evaluation.pot | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py index f701b737d7b..505aaf232ed 100644 --- a/addons/account_analytic_plans/account_analytic_plans.py +++ b/addons/account_analytic_plans/account_analytic_plans.py @@ -218,7 +218,7 @@ class account_analytic_plan_instance(osv.osv): pids = ana_plan_instance_obj.search(cr, uid, [('name','=',vals['name']), ('code','=',vals['code']), ('plan_id','<>',False)], context=context) if pids: - raise osv.except_osv(_('Error!'), _('A model having same name and code.')) + raise osv.except_osv(_('Error!'), _('A model having this name and code already exists !')) res = acct_anal_plan_line_obj.search(cr, uid, [('plan_id','=',journal.plan_id.id)], context=context) for i in res: diff --git a/addons/account_analytic_plans/i18n/account_analytic_plans.pot b/addons/account_analytic_plans/i18n/account_analytic_plans.pot index b36f4db2087..75b4654850e 100644 --- a/addons/account_analytic_plans/i18n/account_analytic_plans.pot +++ b/addons/account_analytic_plans/i18n/account_analytic_plans.pot @@ -183,7 +183,7 @@ msgstr "" #. module: account_analytic_plans #: code:addons/account_analytic_plans/account_analytic_plans.py:221 #, python-format -msgid "A model having same name and code." +msgid "A model having this name and code already exists !" msgstr "" #. module: account_analytic_plans diff --git a/addons/document/document.py b/addons/document/document.py index a8994992717..27abb92c80c 100644 --- a/addons/document/document.py +++ b/addons/document/document.py @@ -61,7 +61,7 @@ class document_file(osv.osv): return False if ids is not None: - raise NotImplementedError("Ids is just there by convention,please donot use it yet.") + raise NotImplementedError("Ids is just there by convention,please do not use it.") cr.execute("UPDATE ir_attachment " \ "SET parent_id = %s, db_datas = decode(encode(db_datas,'escape'), 'base64') " \ diff --git a/addons/event/event.py b/addons/event/event.py index e8c6eb31e3e..114432493a5 100644 --- a/addons/event/event.py +++ b/addons/event/event.py @@ -365,7 +365,7 @@ class event_registration(osv.osv): self.write(cr, uid, ids, values) self.message_append(cr, uid, ids, _('State set to Done'), body_text=_('Done')) else: - raise osv.except_osv(_('Error!'),_("You must wait the event starting day to do this action.") ) + raise osv.except_osv(_('Error!'),_("You must wait for the starting day of the event to do this action.") ) return True def button_reg_cancel(self, cr, uid, ids, context=None, *args): diff --git a/addons/google_base_account/i18n/google_base_account.pot b/addons/google_base_account/i18n/google_base_account.pot index 5a56073a7e7..41693f54adf 100644 --- a/addons/google_base_account/i18n/google_base_account.pot +++ b/addons/google_base_account/i18n/google_base_account.pot @@ -106,7 +106,7 @@ msgstr "" #. module: google_base_account #: code:addons/google_base_account/wizard/google_login.py:75 #, python-format -msgid "Authentication fail check the user and password !" +msgid "Authentication failed check the user and password !" msgstr "" #. module: google_base_account diff --git a/addons/google_base_account/wizard/google_login.py b/addons/google_base_account/wizard/google_login.py index b6cb4f185b9..756657f001f 100644 --- a/addons/google_base_account/wizard/google_login.py +++ b/addons/google_base_account/wizard/google_login.py @@ -74,7 +74,7 @@ class google_login(osv.osv_memory): } self.pool.get('res.users').write(cr, uid, uid, res, context=context) else: - raise osv.except_osv(_('Error'), _("Authentication fail check the user and password !")) + raise osv.except_osv(_('Error'), _("Authentication failed check the user and password !")) return self._get_next_action(cr, uid, context=context) diff --git a/addons/hr_attendance/hr_attendance.py b/addons/hr_attendance/hr_attendance.py index ab370f63397..16f3530c1e9 100644 --- a/addons/hr_attendance/hr_attendance.py +++ b/addons/hr_attendance/hr_attendance.py @@ -137,7 +137,7 @@ class hr_employee(osv.osv): warning_sign = "Sign Out" for emp in self.read(cr, uid, ids, ['id'], context=context): if not self._action_check(cr, uid, emp['id'], dt, context): - raise osv.except_osv(_('Warning !'), _('You try to %s with a date before to another event !\nTry to contact the administrator to correct attendances.')%(warning_sign,)) + raise osv.except_osv(_('Warning !'), _('You tried to %s with a date anterior to another event !\nTry to contact the administrator to correct attendances.')%(warning_sign,)) res = {'action': type, 'employee_id': emp['id']} if dt: diff --git a/addons/hr_contract/hr_contract.py b/addons/hr_contract/hr_contract.py index 07742ed5fe4..90f42d8487a 100644 --- a/addons/hr_contract/hr_contract.py +++ b/addons/hr_contract/hr_contract.py @@ -97,7 +97,7 @@ class hr_contract(osv.osv): return True _constraints = [ - (_check_dates, 'Error! Contract start-date must be lower then contract end-date.', ['date_start', 'date_end']) + (_check_dates, 'Error! Contract start-date must be less than contract end-date.', ['date_start', 'date_end']) ] hr_contract() diff --git a/addons/hr_contract/i18n/hr_contract.pot b/addons/hr_contract/i18n/hr_contract.pot index 016fef341ae..f444a602208 100644 --- a/addons/hr_contract/i18n/hr_contract.pot +++ b/addons/hr_contract/i18n/hr_contract.pot @@ -234,7 +234,7 @@ msgstr "" #. module: hr_contract #: constraint:hr.contract:0 -msgid "Error! Contract start-date must be lower then contract end-date." +msgid "Error! Contract start-date must be less than contract end-date." msgstr "" #. module: hr_contract diff --git a/addons/hr_evaluation/hr_evaluation.py b/addons/hr_evaluation/hr_evaluation.py index d3e410bab1c..decdf56eb47 100644 --- a/addons/hr_evaluation/hr_evaluation.py +++ b/addons/hr_evaluation/hr_evaluation.py @@ -240,7 +240,7 @@ class hr_evaluation(osv.osv): self.write(cr, uid, ids, {'state':'progress'}, context=context) for id in self.browse(cr, uid, ids, context=context): if len(id.survey_request_ids) != len(request_obj.search(cr, uid, [('evaluation_id', '=', id.id),('state', 'in', ['done','cancel'])], context=context)): - raise osv.except_osv(_('Warning !'),_("You cannot change state, because some appraisal in waiting answer or draft state.")) + raise osv.except_osv(_('Warning !'),_("You cannot change state, because some appraisal(s) are in waiting answer or draft state.")) return True def button_done(self,cr, uid, ids, context=None): diff --git a/addons/hr_evaluation/i18n/hr_evaluation.pot b/addons/hr_evaluation/i18n/hr_evaluation.pot index c6c8e63dd72..0b52d0ced50 100644 --- a/addons/hr_evaluation/i18n/hr_evaluation.pot +++ b/addons/hr_evaluation/i18n/hr_evaluation.pot @@ -812,7 +812,7 @@ msgstr "" #: code:addons/hr_evaluation/hr_evaluation.py:244 #, python-format msgid "" -"You cannot change state, because some appraisal in waiting answer or draft." +"You cannot change state, because some appraisal(s) are in waiting answer or draft state." "state" msgstr "" From 7818bce5f7be645e617239efb1a507a09d6c6580 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Tue, 31 Jul 2012 16:23:21 +0200 Subject: [PATCH 114/214] [ADD] Changed s for From 050b4caa285e1361a6211ae5503882dc1b022c15 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Wed, 1 Aug 2012 15:27:33 +0200 Subject: [PATCH 115/214] wip bzr revid: nicolas.vanhoren@openerp.com-20120801132733-p1xjpxf005skr94o --- addons/web_linkedin/__init__.py | 2 +- addons/web_linkedin/__openerp__.py | 3 +- addons/web_linkedin/res_config.py | 53 -------------- addons/web_linkedin/res_config_view.xml | 24 ------- addons/web_linkedin/res_partner_view.xml | 6 -- .../static/src/img/Linkedin_blue.png | Bin 0 -> 5435 bytes addons/web_linkedin/static/src/js/linkedin.js | 68 +++++++++++++++++- .../web_linkedin/static/src/xml/linkedin.xml | 4 +- addons/web_linkedin/web_linkedin.py | 47 ------------ addons/web_linkedin/web_linkedin_view.xml | 21 ++++++ 10 files changed, 93 insertions(+), 135 deletions(-) delete mode 100644 addons/web_linkedin/res_config.py delete mode 100644 addons/web_linkedin/res_config_view.xml delete mode 100644 addons/web_linkedin/res_partner_view.xml create mode 100644 addons/web_linkedin/static/src/img/Linkedin_blue.png create mode 100644 addons/web_linkedin/web_linkedin_view.xml diff --git a/addons/web_linkedin/__init__.py b/addons/web_linkedin/__init__.py index 92b70f98cf8..88f4dc36398 100644 --- a/addons/web_linkedin/__init__.py +++ b/addons/web_linkedin/__init__.py @@ -1,2 +1,2 @@ -import res_config + import web_linkedin \ No newline at end of file diff --git a/addons/web_linkedin/__openerp__.py b/addons/web_linkedin/__openerp__.py index 680bef0c47b..122453d6096 100644 --- a/addons/web_linkedin/__openerp__.py +++ b/addons/web_linkedin/__openerp__.py @@ -9,8 +9,7 @@ This module provides the Integration of the LinkedIn with OpenERP. """, 'update_xml': [ - 'res_partner_view.xml', - 'res_config_view.xml', + 'web_linkedin_view.xml', ], "depends" : ["base"], "js": [ diff --git a/addons/web_linkedin/res_config.py b/addons/web_linkedin/res_config.py deleted file mode 100644 index 4678279f40e..00000000000 --- a/addons/web_linkedin/res_config.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- -############################################################################## -# -# OpenERP, Open Source Business Applications -# Copyright (C) 2004-2012 OpenERP S.A. (). -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as -# published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. -# -# 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 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 . -# -############################################################################## - -from osv import osv, fields - -class base_config_settings(osv.osv_memory): - _inherit = 'base.config.settings' - _name = 'base.config.settings' - _columns = { - 'default_linkedin_api_key': fields.char('LinkedIn API key', size=128, default_model='res.company', - help="""Give API key of linkedin."""), - 'generate_key': fields.text('Go to URL', readonly=True, - help="""If you have not generate linkedin API Key yet than Go to URL to generate and enter it in above text field."""), - } - _defaults = { - 'generate_key': "To find contact persons from LinkedIn "\ - "\n====================================="\ - "\n* Go to this URL : https://www.linkedin.com/secure/developer "\ - "\n* Add New Application and fill the form,"\ - "\n - JavaScript API Domain is Your domain name (e.g. https://yourcompany.my.openerp.com),"\ - "\n - You can give multiple domain (e.g. yourcompany.my.openerp.com),"\ - "\n - programming tools is Javascript"\ - '\n* Copy the "API Key" and paste it in the field "LinkedIn API Key" here above.' - } - - def execute(self, cr, uid, ids, context=None): - super(base_config_settings,self).execute(cr, uid, ids, context=context) - company_obj = self.pool.get('res.company') - data = self.browse(cr, uid, ids[0], context=context) - company_id = company_obj._company_default_get(cr, uid, 'res.users', context=context) - company_obj.write(cr, uid, [company_id], {'linkedin_api_key': data.default_linkedin_api_key}, context=context) - -base_config_settings() - - diff --git a/addons/web_linkedin/res_config_view.xml b/addons/web_linkedin/res_config_view.xml deleted file mode 100644 index 991f637ec08..00000000000 --- a/addons/web_linkedin/res_config_view.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - General Settings - base.config.settings - - form - 20 - - - - - - - - - - - - - - - diff --git a/addons/web_linkedin/res_partner_view.xml b/addons/web_linkedin/res_partner_view.xml deleted file mode 100644 index de5d694c850..00000000000 --- a/addons/web_linkedin/res_partner_view.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/addons/web_linkedin/static/src/img/Linkedin_blue.png b/addons/web_linkedin/static/src/img/Linkedin_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..c37d0218f7d64711a93bf02cd0469faad5dba9a5 GIT binary patch literal 5435 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 literal 0 HcmV?d00001 diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index d1b163f45ad..d4dc2baf114 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -5,6 +5,72 @@ openerp.web_linkedin = function(instance) { var QWeb = instance.web.qweb; var _t = instance.web._t; - + + instance.web_linkedin.LinkedinTester = instance.web.Class.extend({ + init: function() { + this.api_key = "cxnr0l53n73x"; + this.linkedin_added = false; + this.linkedin_def = $.Deferred(); + }, + test_linkedin: function() { + var self = this; + return this.test_api_key().pipe(function() { + if (self.linkedin_added) + return self.linkedin_def.promise(); + var tag = document.createElement('script'); + tag.type = 'text/javascript'; + tag.src = "http://platform.linkedin.com/in.js"; + tag.innerHTML = 'api_key : ' + self.api_key + '\nauthorize : true'; + document.getElementsByTagName('head')[0].appendChild(tag); + linkedin_added = true; + $(tag).load(function() { + self.linkedin_def.resolve(); + }); + return self.linkedin_def.promise(); + }, function() { + /*return new instance.web.Model("ir.config_parameter").call("set_param", ["web.linkedin.apikey", "cxnr0l53n73x"]).pipe(function() { + return self.test_linkedin(); + });*/ + }); + }, + test_api_key: function() { + if (this.api_key) { + return $.when(); + } + return new instance.web.Model("ir.config_parameter").call("get_param", ["web.linkedin.apikey"]).pipe(function(a) { + if (a !== false) { + self.api_key = a; + return true; + } else { + return $.Deferred().reject(); + } + }); + }, + }); + + instance.web_linkedin.tester = new instance.web_linkedin.LinkedinTester(); + + instance.web_linkedin.Linkedin = instance.web.form.FieldChar.extend({ + init: function() { + this._super.apply(this, arguments); + var self = this; + this.display_dm = new instance.web.DropMisordered(true); + this.on("linkedin_loaded", this, function() { + $("input", self.$element).after(QWeb.render("FieldChar.linkedin")); + }); + }, + initialize_content: function() { + this._super(); + var self = this; + if (! this.get("effective_readonly")) { + this.display_dm.add(instance.web_linkedin.tester.test_linkedin()).then(function() { + self.trigger("linkedin_loaded"); + }); + } else { + this.display_dm.add($.when()); + } + }, + }); + instance.web.form.widgets.add('linkedin', 'instance.web_linkedin.Linkedin'); }; // vim:et fdc=0 fdl=0: diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index ff4d920d031..33ae10752fa 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -2,5 +2,7 @@ - + + Yop + \ No newline at end of file diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py index 0cbb0b66ed0..4bb525db1ff 100644 --- a/addons/web_linkedin/web_linkedin.py +++ b/addons/web_linkedin/web_linkedin.py @@ -18,52 +18,5 @@ # along with this program. If not, see . # ############################################################################## -import base64 -import urllib2 -import xmlrpclib -import zlib -from web import common -openerpweb = common.http - -from osv import fields, osv - -class company(osv.osv): - _inherit = 'res.company' - _columns = { - 'linkedin_api_key': fields.char('LinkedIn API key', size=128), - } - -company() - -class users(osv.osv): - _inherit = 'res.users' - - def set_linkedin_api_key(self, cr, uid, key, context=None): - company_obj = self.pool.get('res.company') - company_id = company_obj._company_default_get(cr, uid, 'res.users', context=context) - company_obj.write(cr, uid, [company_id], {'linkedin_api_key': key }) - ir_values = self.pool.get('ir.values') - ir_values.set_default(cr, uid, 'res.company', 'linkedin_api_key', key) - - return True -users() - -class res_partner(osv.osv): - _inherit = 'res.partner' - - _columns = { - } - -res_partner() - -# don't know yet if I will remove it -class Binary(openerpweb.Controller): - _cp_path = "/web_linkedin/binary" - - @openerpweb.jsonrequest - def url2binary(self, req,url): - bfile = urllib2.urlopen(url) - return base64.b64encode(bfile.read()) - diff --git a/addons/web_linkedin/web_linkedin_view.xml b/addons/web_linkedin/web_linkedin_view.xml new file mode 100644 index 00000000000..b636722e2c7 --- /dev/null +++ b/addons/web_linkedin/web_linkedin_view.xml @@ -0,0 +1,21 @@ + + + + + res.partner.linkedin.inherit + res.partner + form + + + + + + + + + + From 6f39a63957da18da62a216b50db5f4aa3137dd2d Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Thu, 2 Aug 2012 10:47:45 +0200 Subject: [PATCH 116/214] Did better stuff bzr revid: nicolas.vanhoren@openerp.com-20120802084745-02bahalf1q3ht1l4 --- addons/web_linkedin/static/src/js/linkedin.js | 31 ++++++++++--------- .../web_linkedin/static/src/xml/linkedin.xml | 3 +- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index d4dc2baf114..ad8a1fa6a52 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -22,15 +22,11 @@ openerp.web_linkedin = function(instance) { tag.src = "http://platform.linkedin.com/in.js"; tag.innerHTML = 'api_key : ' + self.api_key + '\nauthorize : true'; document.getElementsByTagName('head')[0].appendChild(tag); - linkedin_added = true; + self.linkedin_added = true; $(tag).load(function() { self.linkedin_def.resolve(); }); return self.linkedin_def.promise(); - }, function() { - /*return new instance.web.Model("ir.config_parameter").call("set_param", ["web.linkedin.apikey", "cxnr0l53n73x"]).pipe(function() { - return self.test_linkedin(); - });*/ }); }, test_api_key: function() { @@ -48,6 +44,10 @@ openerp.web_linkedin = function(instance) { }, }); + /*return new instance.web.Model("ir.config_parameter").call("set_param", ["web.linkedin.apikey", "cxnr0l53n73x"]).pipe(function() { + return self.test_linkedin(); + });*/ + instance.web_linkedin.tester = new instance.web_linkedin.LinkedinTester(); instance.web_linkedin.Linkedin = instance.web.form.FieldChar.extend({ @@ -55,20 +55,21 @@ openerp.web_linkedin = function(instance) { this._super.apply(this, arguments); var self = this; this.display_dm = new instance.web.DropMisordered(true); - this.on("linkedin_loaded", this, function() { - $("input", self.$element).after(QWeb.render("FieldChar.linkedin")); - }); }, initialize_content: function() { this._super(); + var $ht = $(QWeb.render("FieldChar.linkedin")); + var $in = this.$("input"); + $in.replaceWith($ht); + this.$(".oe_linkedin_input").append($in); + this.$(".oe_linkedin_img").click(_.bind(this.search_linkedin, this)); + + }, + search_linkedin: function() { var self = this; - if (! this.get("effective_readonly")) { - this.display_dm.add(instance.web_linkedin.tester.test_linkedin()).then(function() { - self.trigger("linkedin_loaded"); - }); - } else { - this.display_dm.add($.when()); - } + this.display_dm.add(instance.web_linkedin.tester.test_linkedin()).then(function() { + debugger; + }); }, }); instance.web.form.widgets.add('linkedin', 'instance.web_linkedin.Linkedin'); diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index 33ae10752fa..42f0ad6f851 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -3,6 +3,7 @@ --> - Yop + +
    \ No newline at end of file From 19b50c49029f963442a41c3e02973a16a652577d Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Thu, 2 Aug 2012 16:33:49 +0200 Subject: [PATCH 117/214] [FIX] typo bzr revid: al@openerp.com-20120802143349-ezwts1po29r2v9et --- addons/auth_reset_password/__init__.py | 3 +-- addons/auth_reset_password/auth_reset_password.py | 4 ++-- addons/auth_reset_password/static/src/js/reset_password.js | 2 +- addons/auth_signup/__init__.py | 2 +- addons/auth_signup/__openerp__.py | 2 +- .../auth_signup/static/src/js/{signup.js => auth_signup.js} | 2 +- .../static/src/xml/{signup.xml => auth_signup.xml} | 0 7 files changed, 7 insertions(+), 8 deletions(-) rename addons/auth_signup/static/src/js/{signup.js => auth_signup.js} (92%) rename addons/auth_signup/static/src/xml/{signup.xml => auth_signup.xml} (100%) diff --git a/addons/auth_reset_password/__init__.py b/addons/auth_reset_password/__init__.py index 7055f8145e5..28bbdd18161 100644 --- a/addons/auth_reset_password/__init__.py +++ b/addons/auth_reset_password/__init__.py @@ -1,2 +1 @@ -import res_users -import controllers +import auth_reset_password diff --git a/addons/auth_reset_password/auth_reset_password.py b/addons/auth_reset_password/auth_reset_password.py index 6145c9cba4d..dd8e383dcef 100644 --- a/addons/auth_reset_password/auth_reset_password.py +++ b/addons/auth_reset_password/auth_reset_password.py @@ -35,7 +35,7 @@ class res_users(osv.osv): ('email_uniq', 'UNIQUE (user_email)', 'You can not have two users with the same email!') ] - def _auth_reset_password_secret(self, cr, uid, ids, context=None) + def _auth_reset_password_secret(self, cr, uid, ids, context=None): uuid = self.pool.get('ir.config_parameter').get_param(cr, uid, 'database.uuid') res = { 'dbname': cr.dbname, @@ -95,7 +95,7 @@ class auth_reset_password(osv.TransientModel): raise osv.except_osv('Error', 'Passwords missmatch') Users = self.pool.get('res.users') - data = Users._auth_reset_password_check_token(self, cr, uid, values['token']): + data = Users._auth_reset_password_check_token(self, cr, uid, values['token']) if data: Users.write(cr, 1, data['uid'], {'password': pw}, context=context) else: diff --git a/addons/auth_reset_password/static/src/js/reset_password.js b/addons/auth_reset_password/static/src/js/reset_password.js index a4d023e9869..4429ae0e2b4 100644 --- a/addons/auth_reset_password/static/src/js/reset_password.js +++ b/addons/auth_reset_password/static/src/js/reset_password.js @@ -1,4 +1,4 @@ -openerp.reset_password = function(instance) { +openerp.auth_reset_password = function(instance) { var _t = instance.web._t; instance.web.Login.include({ start: function() { diff --git a/addons/auth_signup/__init__.py b/addons/auth_signup/__init__.py index d70c1894925..2e404949550 100644 --- a/addons/auth_signup/__init__.py +++ b/addons/auth_signup/__init__.py @@ -1,2 +1,2 @@ import res_config -import signup +import auth_signup diff --git a/addons/auth_signup/__openerp__.py b/addons/auth_signup/__openerp__.py index c150121cc54..bf34ec27abf 100644 --- a/addons/auth_signup/__openerp__.py +++ b/addons/auth_signup/__openerp__.py @@ -8,8 +8,8 @@ 'installable': True, 'depends': ['anonymous', 'base_setup'], 'data': [ + 'auth_signup.xml', 'res_config.xml', - 'signup.xml', ], 'js': [ 'static/src/js/auth_signup.js', diff --git a/addons/auth_signup/static/src/js/signup.js b/addons/auth_signup/static/src/js/auth_signup.js similarity index 92% rename from addons/auth_signup/static/src/js/signup.js rename to addons/auth_signup/static/src/js/auth_signup.js index 5024cc56f9b..73fe1c20236 100644 --- a/addons/auth_signup/static/src/js/signup.js +++ b/addons/auth_signup/static/src/js/auth_signup.js @@ -9,7 +9,7 @@ openerp.auth_signup = function(instance) { var am = p.action_manager; am.do_action({ type:'ir.actions.act_window', - res_model: 'signup.signup', + res_model: 'auth.signup', views: [[false, 'form']], target: 'new', name: 'Sign Up' diff --git a/addons/auth_signup/static/src/xml/signup.xml b/addons/auth_signup/static/src/xml/auth_signup.xml similarity index 100% rename from addons/auth_signup/static/src/xml/signup.xml rename to addons/auth_signup/static/src/xml/auth_signup.xml From 6b23be4a25db4a869d918360c15aadd9e61c66fa Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 2 Aug 2012 17:14:08 +0200 Subject: [PATCH 118/214] [FIX] anonymous: use callback to reload client when logged in + only auto log if not logged bzr revid: chs@openerp.com-20120802151408-q81m5l90rjfe8azd --- addons/anonymous/static/src/js/anonymous.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/addons/anonymous/static/src/js/anonymous.js b/addons/anonymous/static/src/js/anonymous.js index 15c03a6ce63..5140429d030 100644 --- a/addons/anonymous/static/src/js/anonymous.js +++ b/addons/anonymous/static/src/js/anonymous.js @@ -4,8 +4,8 @@ openerp.anonymous = function(instance) { start: function() { var self = this; return $.when(this._super()).pipe(function() { - var dblist = self._db_list; - if (dblist && dblist.length === 1) { + var dblist = self._db_list || []; + if (!self.session.session_is_valid() && dblist.length === 1) { self.remember_credentials = false; // XXX get login/pass from server (via a rpc call) ? return self.do_login(dblist[0], 'anonymous', 'anonymous') @@ -30,8 +30,16 @@ openerp.anonymous = function(instance) { var p = self.getParent(); var am = p.action_manager; p.$element.find('.oe_leftbar').hide(); - am.do_action({type:'ir.actions.client', tag:'login', target: 'new'}); - am.dialog_widget.on('login', p, p.restart); + am.do_action({ + type:'ir.actions.client', + tag:'login', + target: 'new', + params: { + login_successful: function() { + am.do_action("reload"); + } + } + }); }); } }); From 2f9da3ba1e08db8e680df3d9e0a1056eb31fab22 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Thu, 2 Aug 2012 17:47:49 +0200 Subject: [PATCH 119/214] [IMP] rename module "anonymous" to "auth_anonymous" + recategorize auth modules bzr revid: chs@openerp.com-20120802154749-rl2240e8fak1457q --- addons/{anonymous => auth_anonymous}/__init__.py | 0 addons/{anonymous => auth_anonymous}/__openerp__.py | 8 ++++---- .../anonymous.xml => auth_anonymous/auth_anonymous.xml} | 0 .../static/src/js/auth_anonymous.js} | 4 ++-- .../static/src/xml/auth_anonymous.xml} | 2 +- addons/auth_reset_password/__openerp__.py | 4 ++-- addons/auth_signup/__openerp__.py | 4 ++-- addons/auth_signup/static/src/xml/auth_signup.xml | 2 +- addons/portal/__openerp__.py | 4 ++-- addons/portal/portal_data.xml | 2 +- addons/users_ldap/__openerp__.py | 2 +- 11 files changed, 16 insertions(+), 16 deletions(-) rename addons/{anonymous => auth_anonymous}/__init__.py (100%) rename addons/{anonymous => auth_anonymous}/__openerp__.py (64%) rename addons/{anonymous/anonymous.xml => auth_anonymous/auth_anonymous.xml} (100%) rename addons/{anonymous/static/src/js/anonymous.js => auth_anonymous/static/src/js/auth_anonymous.js} (93%) rename addons/{anonymous/static/src/xml/anonymous.xml => auth_anonymous/static/src/xml/auth_anonymous.xml} (90%) diff --git a/addons/anonymous/__init__.py b/addons/auth_anonymous/__init__.py similarity index 100% rename from addons/anonymous/__init__.py rename to addons/auth_anonymous/__init__.py diff --git a/addons/anonymous/__openerp__.py b/addons/auth_anonymous/__openerp__.py similarity index 64% rename from addons/anonymous/__openerp__.py rename to addons/auth_anonymous/__openerp__.py index 3494fca7a9f..95d98e65fea 100644 --- a/addons/anonymous/__openerp__.py +++ b/addons/auth_anonymous/__openerp__.py @@ -3,17 +3,17 @@ 'description': 'Allow anonymous access to OpenERP.', 'author': 'OpenERP SA', 'version': '1.0', - 'category': 'Tools', + 'category': 'Authentication', 'website': 'http://www.openerp.com', 'installable': True, 'depends': ['web'], 'data': [ - 'anonymous.xml', + 'auth_anonymous.xml', ], 'js': [ - 'static/src/js/anonymous.js', + 'static/src/js/auth_anonymous.js', ], 'qweb': [ - 'static/src/xml/anonymous.xml', + 'static/src/xml/auth_anonymous.xml', ], } diff --git a/addons/anonymous/anonymous.xml b/addons/auth_anonymous/auth_anonymous.xml similarity index 100% rename from addons/anonymous/anonymous.xml rename to addons/auth_anonymous/auth_anonymous.xml diff --git a/addons/anonymous/static/src/js/anonymous.js b/addons/auth_anonymous/static/src/js/auth_anonymous.js similarity index 93% rename from addons/anonymous/static/src/js/anonymous.js rename to addons/auth_anonymous/static/src/js/auth_anonymous.js index 5140429d030..fab2be1fd53 100644 --- a/addons/anonymous/static/src/js/anonymous.js +++ b/addons/auth_anonymous/static/src/js/auth_anonymous.js @@ -1,4 +1,4 @@ -openerp.anonymous = function(instance) { +openerp.auth_anonymous = function(instance) { instance.web.Login.include({ start: function() { @@ -19,7 +19,7 @@ openerp.anonymous = function(instance) { init: function(parent) { this._super(parent); if (this.session.username == 'anonymous') { - this.template = 'UserMenu.anonymous'; + this.template = 'UserMenu.auth_anonymous'; this.do_update = function() {}; // avoid change of avatar } }, diff --git a/addons/anonymous/static/src/xml/anonymous.xml b/addons/auth_anonymous/static/src/xml/auth_anonymous.xml similarity index 90% rename from addons/anonymous/static/src/xml/anonymous.xml rename to addons/auth_anonymous/static/src/xml/auth_anonymous.xml index 7429efff458..79d7efcbdc8 100644 --- a/addons/anonymous/static/src/xml/anonymous.xml +++ b/addons/auth_anonymous/static/src/xml/auth_anonymous.xml @@ -3,7 +3,7 @@ --> - +

  • @@ -19,7 +19,7 @@
  • Email
  • -
  • < Back
  • +
  • From 206252d6067c66fa11693bc2001a68e23f560bd8 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 3 Aug 2012 19:26:36 +0200 Subject: [PATCH 132/214] [IMP] fix a first batch of typos and spelling mistakes (listed by UCO on the 2012-08-01) bzr revid: abo@openerp.com-20120803172636-s23g6yturpb5chd6 --- addons/account/account.py | 22 +++++++++---------- addons/delivery/delivery.py | 2 +- .../marketing_campaign/marketing_campaign.py | 2 +- .../wizard/pos_open_statement.py | 10 ++++----- addons/product/product.py | 10 ++++----- addons/project/project.py | 4 ++-- 6 files changed, 25 insertions(+), 25 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index b2a4589b9cb..e018546f897 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -136,7 +136,7 @@ class account_account_type(osv.osv): def _get_current_report_type(self, cr, uid, ids, name, arg, context=None): obj_data = self.pool.get('ir.model.data') - obj_financial_report = self.pool.get('account.financial.report') + obj_financial_report = self.pool.get('account.financial.report') res = {} financial_report_ref = { 'asset': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_assets0')[1], context=context), @@ -154,7 +154,7 @@ class account_account_type(osv.osv): def _save_report_type(self, cr, uid, account_type_id, field_name, field_value, arg, context=None): obj_data = self.pool.get('ir.model.data') - obj_financial_report = self.pool.get('account.financial.report') + obj_financial_report = self.pool.get('account.financial.report') #unlink if it exists somewhere in the financial reports related to BS or PL financial_report_ref = { 'asset': obj_financial_report.browse(cr, uid, obj_data.get_object_reference(cr, uid, 'account','account_financial_report_assets0')[1], context=context), @@ -179,7 +179,7 @@ class account_account_type(osv.osv): 'Balance' will generally be used for cash accounts. 'Detail' will copy each existing journal item of the previous year, even the reconciled ones. 'Unreconciled' will copy only the journal items that were unreconciled on the first day of the new fiscal year."""), - 'report_type': fields.function(_get_current_report_type, fnct_inv=_save_report_type, type='selection', string='P&L / BS Category', + 'report_type': fields.function(_get_current_report_type, fnct_inv=_save_report_type, type='selection', string='P&L / BS Category', selection= [('none','/'), ('income', _('Profit & Loss (Income account)')), ('expense', _('Profit & Loss (Expense account)')), @@ -2742,7 +2742,7 @@ class account_chart_template(osv.osv): _columns={ 'name': fields.char('Name', size=64, required=True), 'parent_id': fields.many2one('account.chart.template', 'Parent Chart Template'), - 'code_digits': fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"), + 'code_digits': fields.integer('# of Digits', required=True, help="No. of Digits to use for account code"), 'visible': fields.boolean('Can be Visible?', help="Set this to False if you don't want this template to be used actively in the wizard that generate Chart of Accounts from templates, this is useful when you want to generate accounts of this template only when loading its child template."), 'complete_tax_set': fields.boolean('Complete Set of Taxes', help='This boolean helps you to choose if you want to propose to the user to encode the sale and purchase rates or choose from list of taxes. This last choice assumes that the set of tax defined on this template is complete'), 'account_root_id': fields.many2one('account.account.template', 'Root Account', domain=[('parent_id','=',False)]), @@ -3026,7 +3026,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): return res def default_get(self, cr, uid, fields, context=None): - res = super(wizard_multi_charts_accounts, self).default_get(cr, uid, fields, context=context) + res = super(wizard_multi_charts_accounts, self).default_get(cr, uid, fields, context=context) tax_templ_obj = self.pool.get('account.tax.template') if 'bank_accounts_id' in fields: @@ -3102,7 +3102,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): # Get the analytic journal data = False if journal_type in ('sale', 'sale_refund'): - data = obj_data.get_object_reference(cr, uid, 'account', 'analytic_journal_sale') + data = obj_data.get_object_reference(cr, uid, 'account', 'analytic_journal_sale') elif journal_type in ('purchase', 'purchase_refund'): pass elif journal_type == 'general': @@ -3128,7 +3128,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): if journal_type in ('general', 'situation'): data = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_view') elif journal_type in ('sale_refund', 'purchase_refund'): - data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_refund_journal_view') + data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_refund_journal_view') else: data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_journal_view') return data and data[1] or False @@ -3357,7 +3357,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): def _prepare_bank_journal(self, cr, uid, line, current_num, default_account_id, company_id, context=None): ''' - This function prepares the value to use for the creation of a bank journal created through the wizard of + This function prepares the value to use for the creation of a bank journal created through the wizard of generating COA from templates. :param line: dictionary containing the values encoded by the user related to his bank account @@ -3375,9 +3375,9 @@ class wizard_multi_charts_accounts(osv.osv_memory): tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view') view_id_cash = tmp and tmp[1] or False - # we need to loop again to find next number for journal code + # we need to loop again to find next number for journal code # because we can't rely on the value current_num as, - # its possible that we already have bank journals created (e.g. by the creation of res.partner.bank) + # its possible that we already have bank journals created (e.g. by the creation of res.partner.bank) # and the next number for account code might have been already used before for journal for num in xrange(current_num, 100): # journal_code has a maximal size of 5, hence we can enforce the boundary num < 100 @@ -3464,7 +3464,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): journal_data.append(vals) ref_acc_bank = obj_wizard.chart_template_id.bank_account_view_id if journal_data and not ref_acc_bank.code: - raise osv.except_osv(_('Configuration Error !'), _('The bank account defined on the selected chart of accounts hasnot a code.')) + raise osv.except_osv(_('Configuration Error !'), _('You have to set a code for the bank account defined on the selected chart of accounts.')) current_num = 1 for line in journal_data: diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py index b03bb095d5d..d6d584aa62e 100644 --- a/addons/delivery/delivery.py +++ b/addons/delivery/delivery.py @@ -217,7 +217,7 @@ class delivery_grid(osv.osv): ok = True break if not ok: - raise osv.except_osv(_('No price available!'), _('No line matched this product or order in the choosed delivery grid.')) + raise osv.except_osv(_('No price available!'), _('No line matched this product or order in the chosen delivery grid.')) return price diff --git a/addons/marketing_campaign/marketing_campaign.py b/addons/marketing_campaign/marketing_campaign.py index 30fb1ecf358..e268f3db5dd 100644 --- a/addons/marketing_campaign/marketing_campaign.py +++ b/addons/marketing_campaign/marketing_campaign.py @@ -539,7 +539,7 @@ class marketing_campaign_transition(osv.osv): assert len(ids) == 1 transition = self.browse(cr, uid, ids[0], context=context) if transition.trigger != 'time': - raise ValueError('Delta is only relevant for timed transiton.') + raise ValueError('Delta is only relevant for timed transition.') return relativedelta(**{str(transition.interval_type): transition.interval_nbr}) diff --git a/addons/point_of_sale/wizard/pos_open_statement.py b/addons/point_of_sale/wizard/pos_open_statement.py index a5f4ae252d8..572f6470c34 100644 --- a/addons/point_of_sale/wizard/pos_open_statement.py +++ b/addons/point_of_sale/wizard/pos_open_statement.py @@ -46,7 +46,7 @@ class pos_open_statement(osv.osv_memory): st_ids = [] j_ids = journal_obj.search(cr, uid, [('journal_user','=',1)], context=context) if not j_ids: - raise osv.except_osv(_('No Cash Register Defined !'), _('You must define which payment method must be available through the point of sale by reusing existing bank and cash through "Accounting > Configuration > Financial Accounting > Journals". Select a journal and check the field "PoS Payment Method" from the "Point of Sale" tab. You can also create new payment methods directly from menu "PoS Backend > Configuration > Payment Methods".')) + raise osv.except_osv(_('No Cash Register Defined !'), _('You have to define which payment method must be available in the point of sale by reusing existing bank and cash through "Accounting / Configuration / Journals / Journals". Select a journal and check the field "PoS Payment Method" from the "Point of Sale" tab. You can also create new payment methods directly from menu "PoS Backend / Configuration / Payment Methods".')) for journal in journal_obj.browse(cr, uid, j_ids, context=context): ids = statement_obj.search(cr, uid, [('state', '!=', 'confirm'), ('user_id', '=', uid), ('journal_id', '=', journal.id)], context=context) @@ -60,11 +60,11 @@ class pos_open_statement(osv.osv_memory): 'journal_id': journal.id, 'user_id': uid, 'state': 'draft', - 'name': number + 'name': number }) statement_id = statement_obj.create(cr, uid, data, context=context) st_ids.append(int(statement_id)) - + if journal.opening_control: statement_obj.button_open(cr, uid, [statement_id], context) @@ -74,7 +74,7 @@ class pos_open_statement(osv.osv_memory): form_id = form_res and form_res[1] or False search_res = mod_obj.get_object_reference(cr, uid, 'account', 'view_account_bank_statement_filter') search_id = search_res and search_res[1] or False - + return { 'type': 'ir.actions.act_window', 'name': _('List of Cash Registers'), @@ -85,7 +85,7 @@ class pos_open_statement(osv.osv_memory): 'views': [(tree_id, 'tree'), (form_id, 'form')], 'search_view_id': search_id, } - + pos_open_statement() # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/product/product.py b/addons/product/product.py index 09f2f6f877a..7911929f898 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -167,7 +167,7 @@ class product_uom(osv.osv): if value == 'reference': return {'value': {'factor': 1, 'factor_inv': 1}} return {} - + def write(self, cr, uid, ids, vals, context=None): if 'category_id' in vals: for uom in self.browse(cr, uid, ids, context=context): @@ -231,7 +231,7 @@ class product_category(osv.osv): _parent_store = True _parent_order = 'sequence, name' _order = 'parent_left' - + def _check_recursion(self, cr, uid, ids, context=None): level = 100 while len(ids): @@ -330,7 +330,7 @@ class product_template(osv.osv): for product in self.browse(cr, uid, ids, context=context): old_uom = product.uom_po_id if old_uom.category_id.id != new_uom.category_id.id: - raise osv.except_osv(_('Unit of Measure categories Mismatch!'), _("New Unit of Measure '%s' must belong to same Unit of Measure category '%s' as of old Unit of Measure '%s'. If you need to change the unit of measure, you may desactivate this product from the 'Procurement & Locations' tab and create a new one.") % (new_uom.name, old_uom.category_id.name, old_uom.name,)) + raise osv.except_osv(_('Unit of Measure categories Mismatch!'), _("New Unit of Measure '%s' must belong to same Unit of Measure category '%s' as of old Unit of Measure '%s'. If you need to change the unit of measure, you may deactivate this product from the 'Procurement & Locations' tab and create a new one.") % (new_uom.name, old_uom.category_id.name, old_uom.name,)) return super(product_template, self).write(cr, uid, ids, vals, context=context) _defaults = { @@ -461,8 +461,8 @@ class product_product(osv.osv): res[p.id] = (data['code'] and ('['+data['code']+'] ') or '') + \ (data['name'] or '') + (data['variants'] and (' - '+data['variants']) or '') return res - - + + def _get_main_product_supplier(self, cr, uid, product, context=None): """Determines the main (best) product supplier for ``product``, returning the corresponding ``supplierinfo`` record, or False diff --git a/addons/project/project.py b/addons/project/project.py index dda2b86c8bb..7bcfa5c1c92 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -155,7 +155,7 @@ class project(osv.osv): def unlink(self, cr, uid, ids, *args, **kwargs): for proj in self.browse(cr, uid, ids): if proj.tasks: - raise osv.except_osv(_('Operation Not Permitted !'), _('You cannot delete a project containing tasks. I suggest you to desactivate it.')) + raise osv.except_osv(_('Operation Not Permitted !'), _('You cannot delete a project containing tasks. You can either delete all the project\'s tasks and then delete the project or simply deactivate the project.')) return super(project, self).unlink(cr, uid, ids, *args, **kwargs) def _task_count(self, cr, uid, ids, field_name, arg, context=None): @@ -1227,7 +1227,7 @@ class account_analytic_account(osv.osv): 'use_tasks': fields.boolean('Tasks Mgmt.',help="If check,this contract will be available in the project menu and you will be able to manage tasks or track issues"), 'company_uom_id': fields.related('company_id', 'project_time_mode_id', type='many2one', relation='product.uom'), } - + def on_change_template(self, cr, uid, ids, template_id, context=None): res = super(account_analytic_account, self).on_change_template(cr, uid, ids, template_id, context=context) if template_id and 'value' in res: From b55ca0fad10a68916e52f5d4ffaee969018173b6 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Sun, 5 Aug 2012 15:54:20 +0200 Subject: [PATCH 133/214] Did better images bzr revid: nicolas.vanhoren@openerp.com-20120805135420-ra5m523lpen8n2sk --- .../static/src/img/ghost_profile_60x60_v1.png | Bin 0 -> 349 bytes addons/web_linkedin/static/src/js/linkedin.js | 12 ++++++------ addons/web_linkedin/static/src/xml/linkedin.xml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) create mode 100644 addons/web_linkedin/static/src/img/ghost_profile_60x60_v1.png diff --git a/addons/web_linkedin/static/src/img/ghost_profile_60x60_v1.png b/addons/web_linkedin/static/src/img/ghost_profile_60x60_v1.png new file mode 100644 index 0000000000000000000000000000000000000000..6662a87462b52a17eaf8db3c7685e944fc920f94 GIT binary patch literal 349 zcmV-j0iyniP)r#&@uf3gh;HXav(8~=9S?h6VT;KN(Q!ES;@ebD=XPl zux4pr6|B*dP5N9lYid+F!!*arjoy*j!47?4#z=*g+H`eSftdL9Eh)sNOFY)qs<9F$ zu3rX=0n}q5j$E_~$AW=u)g)_=>HXCF&gih3_hZOS3k(S&f&>qWesY{y^~kZB^xarN v_k`(!Z)~v@d*KnA84qY|M`8Qe5Et?U8bw;r?F+Hf00000NkvXXu0mjfb#R|> literal 0 HcmV?d00001 diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index af78c17992a..b1e91b05810 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -110,10 +110,11 @@ openerp.web_linkedin = function(instance) { var self = this; cdef = $.Deferred(); pdef = $.Deferred(); - IN.API.Raw(_.str.sprintf("company-search?keywords=%s&count=%d", encodeURI(this.text), this.limit)).result(function (result) { + IN.API.Raw(_.str.sprintf("company-search:(companies:(id,name,logo-url))?keywords=%s&count=%d", encodeURI(this.text), this.limit)).result(function (result) { cdef.resolve(result); }); - IN.API.PeopleSearch().params({"keywords": this.text, "count": this.limit}).result(function(result) { + IN.API.PeopleSearch().fields(["id", "first-name", "last-name","picture-url"]). + params({"keywords": this.text, "count": this.limit}).result(function(result) { pdef.resolve(result); }); return $.when(cdef, pdef).then(function(companies, people) { @@ -129,7 +130,7 @@ openerp.web_linkedin = function(instance) { el.__type = "people"; return el; }); - lst = lst.concat(plst); + lst = plst.concat(lst); console.log("Linkedin search found:", lst.length, lst); self.result = lst; self.display_result(); @@ -169,11 +170,10 @@ openerp.web_linkedin = function(instance) { }); if (this.data.__type === "company") { this.$("h3").text(this.data.name); - IN.API.Raw(_.str.sprintf("companies/%d:(logo-url)", this.data.id)).result(function (result) { - self.$("img").attr("src", result.logoUrl); - }); + self.$("img").attr("src", this.data.logoUrl); } else { // people this.$("h3").text(_.str.sprintf("%s %s", this.data.firstName, this.data.lastName)); + self.$("img").attr("src", this.data.pictureUrl); } }, }); diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index 6f42d224c66..eb547029877 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -17,7 +17,7 @@
    - +

    From d3e2a13c17ce69dc37f7fe58e1d0fc6854e8ff45 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Sun, 5 Aug 2012 16:03:32 +0200 Subject: [PATCH 134/214] Corrected small bug bzr revid: nicolas.vanhoren@openerp.com-20120805140332-mfldrt9zx38b68ww --- addons/web_linkedin/static/src/js/linkedin.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index b1e91b05810..013ad888cb9 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -118,14 +118,14 @@ openerp.web_linkedin = function(instance) { pdef.resolve(result); }); return $.when(cdef, pdef).then(function(companies, people) { - var lst = companies.companies.values; - var plst = people.people.values; + var lst = companies.companies.values || []; + var plst = people.people.values || []; lst = _.initial(lst, _.min([self.limit / 2, plst.length])); _.map(lst, function(el) { el.__type = "company"; return el; }); - plst = _.first(people.people.values, self.limit - lst.length) + plst = _.first(plst, self.limit - lst.length) _.map(plst, function(el) { el.__type = "people"; return el; From 873b4913596e8e67ad8a0c7c50be09d89bcb2b6b Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 6 Aug 2012 12:07:30 +0200 Subject: [PATCH 135/214] wip bzr revid: nicolas.vanhoren@openerp.com-20120806100730-jnsx4mx6o9ykdz2y --- addons/web_linkedin/static/src/js/linkedin.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 013ad888cb9..cd9a8882497 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -82,19 +82,22 @@ openerp.web_linkedin = function(instance) { }); }, selected_entity: function(entity) { + var to_change = {}; if (entity.__type === "company") { - + to_change.name = entity.name; } else { //people - + to_change.name = _.str.sprintf("%s %s", entity.firstName, entity.lastName); } + this.view.on_processed_onchange({value:to_change}); }, }); + instance.web.form.widgets.add('linkedin', 'instance.web_linkedin.Linkedin'); instance.web_linkedin.LinkedinPopup = instance.web.Dialog.extend({ template: "Linkedin.popup", init: function(parent, text) { - this._super(parent); + this._super(parent, {title:_t("LinkedIn search")}); this.text = text; this.limit = 15; }, @@ -151,6 +154,7 @@ openerp.web_linkedin = function(instance) { pc.$element.css("width", "20%"); pc.on("selected", self, function(data) { self.trigger("selected", data); + self.destroy(); }); i++; }); From 3bbe3ddbd5d8bab3938351ba75aaf06c86c18a02 Mon Sep 17 00:00:00 2001 From: "pso (OpenERP)" Date: Mon, 6 Aug 2012 16:12:04 +0530 Subject: [PATCH 136/214] Improvements bzr revid: pso@tinyerp.com-20120806104204-yd7mqqttglgaer8h --- addons/project/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/project/project.py b/addons/project/project.py index 7bcfa5c1c92..13810c2bf87 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -155,7 +155,7 @@ class project(osv.osv): def unlink(self, cr, uid, ids, *args, **kwargs): for proj in self.browse(cr, uid, ids): if proj.tasks: - raise osv.except_osv(_('Operation Not Permitted !'), _('You cannot delete a project containing tasks. You can either delete all the project\'s tasks and then delete the project or simply deactivate the project.')) + raise osv.except_osv(_('Operation Not Permitted !'), _('You cannot delete a project containing tasks. You can either delete all the project\'s tasks and then delete the project or simply deactivate the project.')) return super(project, self).unlink(cr, uid, ids, *args, **kwargs) def _task_count(self, cr, uid, ids, field_name, arg, context=None): From 9d15842745237d20aff5e425a3ca3c8acbf17fb9 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Mon, 6 Aug 2012 14:21:50 +0200 Subject: [PATCH 137/214] [ADD] Added some imgs to draw the stagesbar accordingly to the new design, very awful (just for testing)). bzr revid: vta@openerp.com-20120806122150-sqq650v7vmvy34i6 --- addons/web/static/src/img/form_steps_blue_red.png | Bin 0 -> 412 bytes addons/web/static/src/img/form_steps_reb_blue.png | Bin 0 -> 424 bytes .../web/static/src/img/form_steps_separator.png | Bin 0 -> 544 bytes .../static/src/img/form_steps_separator_v2.png | Bin 0 -> 652 bytes addons/web/static/src/js/view_form.js | 8 +++++--- addons/web/static/src/xml/base.xml | 7 +++++-- 6 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 addons/web/static/src/img/form_steps_blue_red.png create mode 100644 addons/web/static/src/img/form_steps_reb_blue.png create mode 100644 addons/web/static/src/img/form_steps_separator.png create mode 100644 addons/web/static/src/img/form_steps_separator_v2.png diff --git a/addons/web/static/src/img/form_steps_blue_red.png b/addons/web/static/src/img/form_steps_blue_red.png new file mode 100644 index 0000000000000000000000000000000000000000..52dff9ded8b087976a143e6a8bcc452f1f70b545 GIT binary patch literal 412 zcmeAS@N?(olHy`uVBq!ia0vp^Ahs+A8<3p*@b5ez#aJBV?!>U}oXkrghb_t5-G!lx zp_5_Pao5a?KoQOYkH}&M25w;xW@MN(M*=9wUgGKN%6^A~jhn%!V&k0-peZt*E{-7< zr(36N^kOj-aqa)TYyg5;htYIqPn5jaf$1x(&q^}(H7W<1 zdp51*w?AO{VS@3cUjfV=yCQ|&6f?wh>^iG*-JtsFTibirly8z7 zJfy0#+4pqp`mJ)~aQcCDD{gx>H4DDd0jlP!>DZNdj^hLOA5qOiQ;Znxnr}^>Q^*&i zmTt224fEp#-}J)M?rrbOKQ^U^cMbbiJ1#!1oF`#FcIXJO`f3I{Ok)i?rv0Gc>Ybxq zOtB&+OLLglJHE9jj}e`)@AWPx#24YJ`L;$(~Jpea1I(P;E000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn- z3jiBB14QHi00AgTL_t(I%Y~FNOT;i3K%e(@auM9b$>Dy0B&(yd;ChG-2Tr2XA>okV zP{rw>q6kW-bH7;%qHBAd#UJ484@hz8L6Ii;#`1W4uOV40iXsDEs?ya2W&peaIguGS zYZkzl(lUt|0WN@ZrDYfdoi#te6nKgman|GjO3OG1wsQ(xDJ@$;&{^{h+yhz6h_mJn z*il*zy5AGe?qgsPG`7|ncvV^+gJ26^0{cqKUJ&f8kViph%{%a+w2Wd#fM1|VLWJ0K z2z=H{w;40efa|8=co4810^3#T9%3=Gw%UI(V$)k-qbgnL{o!rENxgLIu_Jt51$aTR z=?IWjK*)Flob~OU^aRx2s~|Sr1&;m)^cgc?(lpGyx3CSMD&0Kx04QHTcm4o-#b8#_ SN+p;80000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn- z3Oqzl3dq9kmp`~V?M!YQ;D(hB|ntAMSb*xW2}vpZ*|nJHf0`yIY}XXZ{sjBt!g z?bis$rIc2#!3DT`WS8c*4xQ9(43T1@3n!;ube6;ZesTj;@Pn6AtUg>O+!lh+Zk> z7T2FD;sB2mSu5AfDB`kX5i_~#gb(o?50Z2#*WCCk*y&Kj2s_h7Obdtg`Lsh3N-3w= ihyD>>b$FX};{E|GB8iwrZuHFn0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn- z3rv2TCAd2jxG zI|UJG0{iuPy+ba7ARx;!vMi(5>+J&jTI(*B2!KyOD@{{u%jiU;=mNe2j{E(7!v?HY ztB1fbaL)w`IuTJeAV3#rPbQO>`4_W5rBnxK1KTbjz++%7Ns>#p z4_PU7A6OHSi!R`wX-h5K5l_eRRNxSP0gjR+*>Y6*88`y21s=O6KYbytBJ@Y?3`>FKVq$Jy-wvDW$optL~r z0QjJk`sS$aDWJ60-%YNxz=#`R7%q7j@fA4Zn&mxDBle6DHsB^u^e|!zC~B?$oApx8 zh;3jU=s2n~I&45=M90&Jt_^q&xE_XK%>g?Pya&#@E~zHa@GznYH1bB|ft%Am##;{~ m&|0@$7ySj`w#P(x>HY!|yl=5cwizb?0000
  • - - + + + + +
  • From 00cbc1d84f59d9ea3203df29177c1f95d850c827 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 6 Aug 2012 16:09:25 +0200 Subject: [PATCH 138/214] Added loading of images bzr revid: nicolas.vanhoren@openerp.com-20120806140925-2i8o7wla0tfgfdsj --- addons/web_linkedin/static/src/js/linkedin.js | 18 +++++++++++++++++- addons/web_linkedin/web_linkedin.py | 11 +++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index cd9a8882497..9ddbff78fa6 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -82,13 +82,29 @@ openerp.web_linkedin = function(instance) { }); }, selected_entity: function(entity) { + var self = this; var to_change = {}; + var defs = []; if (entity.__type === "company") { to_change.name = entity.name; + if (entity.logoUrl) { + defs.push(self.rpc('/web_linkedin/binary/url2binary', + {'url': entity.logoUrl}).pipe(function(data){ + to_change.photo = data; + })); + } } else { //people to_change.name = _.str.sprintf("%s %s", entity.firstName, entity.lastName); + if (entity.pictureUrl) { + defs.push(self.rpc('/web_linkedin/binary/url2binary', + {'url': entity.pictureUrl}).pipe(function(data){ + to_change.photo = data; + })); + } } - this.view.on_processed_onchange({value:to_change}); + $.when.apply($, defs).then(function() { + self.view.on_processed_onchange({value:to_change}); + }); }, }); diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py index 4bb525db1ff..acce3c45735 100644 --- a/addons/web_linkedin/web_linkedin.py +++ b/addons/web_linkedin/web_linkedin.py @@ -19,4 +19,15 @@ # ############################################################################## +import web.common.http +import base64 +import urllib2 + +class Binary(web.common.http.Controller): + _cp_path = "/web_linkedin/binary" + + @web.common.http.jsonrequest + def url2binary(self, req,url): + bfile = urllib2.urlopen(url) + return base64.b64encode(bfile.read()) From 2662110aaa6f856a147c048833e44a5bda746244 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 6 Aug 2012 16:19:38 +0200 Subject: [PATCH 139/214] Began profile url bzr revid: nicolas.vanhoren@openerp.com-20120806141938-lbbv9e0eqfvlijvz --- addons/web_linkedin/static/src/js/linkedin.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 9ddbff78fa6..77296943177 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -93,7 +93,10 @@ openerp.web_linkedin = function(instance) { to_change.photo = data; })); } - } else { //people + /* + to_change.linkedinUrl = _.str.sprintf("http://www.linkedin.com/company/%d", entity.id); + */ + } else { // people to_change.name = _.str.sprintf("%s %s", entity.firstName, entity.lastName); if (entity.pictureUrl) { defs.push(self.rpc('/web_linkedin/binary/url2binary', @@ -101,6 +104,9 @@ openerp.web_linkedin = function(instance) { to_change.photo = data; })); } + /* + to_change.linkedinUrl = entity.publicProfileUrl; + */ } $.when.apply($, defs).then(function() { self.view.on_processed_onchange({value:to_change}); @@ -132,7 +138,7 @@ openerp.web_linkedin = function(instance) { IN.API.Raw(_.str.sprintf("company-search:(companies:(id,name,logo-url))?keywords=%s&count=%d", encodeURI(this.text), this.limit)).result(function (result) { cdef.resolve(result); }); - IN.API.PeopleSearch().fields(["id", "first-name", "last-name","picture-url"]). + IN.API.PeopleSearch().fields(["id", "first-name", "last-name", "picture-url", "public-profile-url"]). params({"keywords": this.text, "count": this.limit}).result(function(result) { pdef.resolve(result); }); From 33cd3834ef7d00a3713ad569e8b5ceef74b4caa4 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Mon, 6 Aug 2012 16:23:59 +0200 Subject: [PATCH 140/214] [ADD] Trying to improve the form_steps_separtor.png. bzr revid: vta@openerp.com-20120806142359-m6saukyiwx33mibf --- .../static/src/img/form_steps_separator_v3.png | Bin 0 -> 652 bytes .../static/src/img/form_steps_separator_v4.png | Bin 0 -> 431 bytes addons/web/static/src/js/view_form.js | 4 ++-- addons/web/static/src/xml/base.xml | 6 ++---- 4 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 addons/web/static/src/img/form_steps_separator_v3.png create mode 100644 addons/web/static/src/img/form_steps_separator_v4.png diff --git a/addons/web/static/src/img/form_steps_separator_v3.png b/addons/web/static/src/img/form_steps_separator_v3.png new file mode 100644 index 0000000000000000000000000000000000000000..f5d651647402f45b0031d87ff0baa0c9fe9244df GIT binary patch literal 652 zcmV;70(1R|P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn- z4iX+TRsvH100In2L_t(Y$BmUSXj4%XhQHSYL6CQc3>r#?LX#l{sbt8M>FyTAr7eQR zfRiW=SriACih~p)7Nr;$vn#qN2V&zAFrzjyBa z&*35>brIQ|E8%n~u>yPp8nf99Upk$Lq%`0s;H=eZ)uz)aaapNUJ_2XJBMk`f5O~mT zxAQ)z(}~Es2K)m&0p9q4<#Ku8bQ%!gJwT_^sYX#mT$W0u27rj%)qnu^fT!JVH#?b3 zh)bsvkt-VT9C!uPeN`5V#otb+0RdhDYp18DTRv!^Pv}QVHg?(mIvCvhBnJb35_^%M)-g`Kq`R|yFkiXd${~9y=25b zum$v#>YNTA&>7K7XvB#RxCz`2!|<{Ky9Rs)u4<1|9jFCCpv`t2s4W|@4BP=Q#(YR% m1lHQ7_RyDr`w1o@k?ucUt;SgW02ZeJ0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyn- z4iy3RADLkQ00A#aL_t(Y$E}mC(t|J%Mel|h6rw{NFM#ItnL%NyK~%J&t~GTCcDYq_ zzMqB?nw^PC=H%?&L`V_=B_gu8Z)QP207#O=3w2G?h?!v=N0`~FwNyI*Ff&Zk1T%wk z?xW!_3{2DXt)&Biwr$1CpsHV6zI2Yqqo^v@uE*m+Z_9Iy-EZ_DCFM^=Q^EEL9_f2`p*CW002ovPDHLkV1mJ5wIcuk literal 0 HcmV?d00001 diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 76469461677..75ff1f1a1f0 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -4706,7 +4706,7 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ _.each(elemts, function(element){ $item = $(element); if ($item.attr("data-id") != self.selected_value) { - $item.attr("style", "cursor: pointer; background: #ba3d37;"); + $item.attr("style", "cursor: pointer; background: #ba3d37; position: relative; left: 5px;"); $item.parent().attr("style", "background: #ba3d37;"); $item.click(function(event){ var data_id = parseInt($(this).attr("data-id")) @@ -4715,7 +4715,7 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ }); }); } else { - $item.attr("style", "background: #8a89ba;"); + $item.attr("style", "background: #8a89ba; position: relative; left: 5px;"); $item.parent().attr("style", "background: #8a89ba;"); } }); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 2bf636c3dce..d597d399467 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1032,10 +1032,8 @@
  • - - - - + +
  • From dfc114f6decd70ea29a9cc1d50b5cbb4f9af9d8d Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 6 Aug 2012 16:33:43 +0200 Subject: [PATCH 141/214] Small correction in image bzr revid: nicolas.vanhoren@openerp.com-20120806143343-oowyy3apn489cl07 --- .../static/src/img/ghost_profile_60x60_v1.png | Bin 349 -> 453 bytes addons/web_linkedin/static/src/js/linkedin.js | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web_linkedin/static/src/img/ghost_profile_60x60_v1.png b/addons/web_linkedin/static/src/img/ghost_profile_60x60_v1.png index 6662a87462b52a17eaf8db3c7685e944fc920f94..c132fc829b24f522c73fe3d67cea9425a76e7709 100644 GIT binary patch delta 426 zcmV;b0agCp0>uL^iBL{Q4GJ0x0000DNk~Le0000+0000+1Oos70D}Pkw*UYD0drDE zLIAGL9O;oECVv0{VoOIv0Eh)0NB{r;32;bRa{vGf6951U69E94oEQKA00(qQO+^RX z2nG%yHFcV=VgLXECP_p=R7l6|)G==YF$@LZP*Ji1s*aUPz|9?il~(9j5mjO3XwF^X zfb#cCiwkt=IXM4_(iTOM2Y2?##%PXzw#uX;-u;buA>hvoJ z`(GEC$8%+v9`h<{ih&jm^G#PL(5#qtNI%WvyM(2mroQ#*182%)#|Dy`)`xKy*&8+` z;8MNNtY3gnO%`Sufi0;#nA}eGDE>1QaAhv{W(e-6omhh}{j*HRYZfB$8YRG=AG)j? ULo2DV&T$-tH?e=FHkux4pr6|B*dP5N9lYid+F!!*arjoy*j!47?4 z#z=*g+H`eSftdL9Eh)sNOFY)qs<9F$u3rX=0n}q5j$E_~$AW=u)g)_=>HXCF&gih3 z_hZOS3k(S&f&>qWesY{y^~kZB^xarN_k`(!Z)~v@d*KnA84qY|M`8Qe7!Vio1R6zJ U(CrJc(*OVf07*qoM6N<$g5YY3JOBUy diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 77296943177..3b2285215cb 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -93,7 +93,7 @@ openerp.web_linkedin = function(instance) { to_change.photo = data; })); } - /* + /* TODO to_change.linkedinUrl = _.str.sprintf("http://www.linkedin.com/company/%d", entity.id); */ } else { // people @@ -104,7 +104,7 @@ openerp.web_linkedin = function(instance) { to_change.photo = data; })); } - /* + /* TODO to_change.linkedinUrl = entity.publicProfileUrl; */ } From d159b218c71781d5c8ed4ed0d8b202578d4c718c Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Mon, 6 Aug 2012 16:47:22 +0200 Subject: [PATCH 142/214] [IMP] Improved visual aspect of the stagesbar. bzr revid: vta@openerp.com-20120806144722-9cich1qg6t8ad3iq --- addons/web/static/src/css/base.css | 2 +- addons/web/static/src/js/view_form.js | 8 ++++---- addons/web/static/src/xml/base.xml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 8f35c81de2d..a7a749be187 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1952,7 +1952,7 @@ } .openerp ul.oe_form_steps li { border-right: none; - padding: 0; + padding: 0px; margin: 0; float: left; vertical-align: top; diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index 75ff1f1a1f0..b8ec1ac9d37 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -4706,8 +4706,8 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ _.each(elemts, function(element){ $item = $(element); if ($item.attr("data-id") != self.selected_value) { - $item.attr("style", "cursor: pointer; background: #ba3d37; position: relative; left: 5px;"); - $item.parent().attr("style", "background: #ba3d37;"); + $item.attr("style", "cursor: pointer; background: #ba3d37; position: relative; left: 5px; top: -3px;"); + $item.parent().attr("style", "background: #ba3d37; height: 24px; margin-top: 3px;"); $item.click(function(event){ var data_id = parseInt($(this).attr("data-id")) self.view.dataset.call('stage_set', [[self.view.datarecord.id],data_id]).then(function() { @@ -4715,8 +4715,8 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ }); }); } else { - $item.attr("style", "background: #8a89ba; position: relative; left: 5px;"); - $item.parent().attr("style", "background: #8a89ba;"); + $item.attr("style", "background: #8a89ba; position: relative; left: 5px; top: -3px;"); + $item.parent().attr("style", "background: #8a89ba; height: 24px; margin-top: 3px;"); } }); } diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index d597d399467..112f1321a28 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1033,7 +1033,7 @@
  • - +
  • From 98ab0c6ebb0856a4a5d246304c4b9673743fce2c Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 6 Aug 2012 16:54:35 +0200 Subject: [PATCH 143/214] Added some mappings for people bzr revid: nicolas.vanhoren@openerp.com-20120806145435-isbyu9fefja0w4lv --- addons/web_linkedin/static/src/js/linkedin.js | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 3b2285215cb..4743c7654d3 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -86,6 +86,7 @@ openerp.web_linkedin = function(instance) { var to_change = {}; var defs = []; if (entity.__type === "company") { + to_change.is_company = true; to_change.name = entity.name; if (entity.logoUrl) { defs.push(self.rpc('/web_linkedin/binary/url2binary', @@ -97,13 +98,26 @@ openerp.web_linkedin = function(instance) { to_change.linkedinUrl = _.str.sprintf("http://www.linkedin.com/company/%d", entity.id); */ } else { // people - to_change.name = _.str.sprintf("%s %s", entity.firstName, entity.lastName); + to_change.is_company = false; + to_change.name = entity.formattedName; if (entity.pictureUrl) { defs.push(self.rpc('/web_linkedin/binary/url2binary', {'url': entity.pictureUrl}).pipe(function(data){ to_change.photo = data; })); + } else { + to_change.photo = false; } + to_change.mobile = false; + to_change.phone = false; + _.each(entity.phoneNumbers.values || [], function(el) { + if (el.phoneType === "mobile") { + to_change.mobile = el.phoneNumber; + } else { + to_change.phone = el.phoneNumber; + } + }); + to_change.function = entity.headline; /* TODO to_change.linkedinUrl = entity.publicProfileUrl; */ @@ -135,10 +149,14 @@ openerp.web_linkedin = function(instance) { var self = this; cdef = $.Deferred(); pdef = $.Deferred(); - IN.API.Raw(_.str.sprintf("company-search:(companies:(id,name,logo-url))?keywords=%s&count=%d", encodeURI(this.text), this.limit)).result(function (result) { + IN.API.Raw(_.str.sprintf( + "company-search:(companies:(id,name,logo-url))?keywords=%s&count=%d", + encodeURI(this.text), this.limit)).result(function (result) { cdef.resolve(result); }); - IN.API.PeopleSearch().fields(["id", "first-name", "last-name", "picture-url", "public-profile-url"]). + IN.API.PeopleSearch().fields(["id", "picture-url", "public-profile-url", + "formatted-name", "location", "phone-numbers", "im-accounts", + "main-address", "headline"]). params({"keywords": this.text, "count": this.limit}).result(function(result) { pdef.resolve(result); }); @@ -198,7 +216,7 @@ openerp.web_linkedin = function(instance) { this.$("h3").text(this.data.name); self.$("img").attr("src", this.data.logoUrl); } else { // people - this.$("h3").text(_.str.sprintf("%s %s", this.data.firstName, this.data.lastName)); + this.$("h3").text(this.data.formattedName); self.$("img").attr("src", this.data.pictureUrl); } }, From 8978f47ebbb5e1263529c803c8d8ba7909df2da9 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 6 Aug 2012 17:03:04 +0200 Subject: [PATCH 144/214] Mapped some fields for companies bzr revid: nicolas.vanhoren@openerp.com-20120806150304-b4s4vouwzzpokeah --- addons/web_linkedin/static/src/js/linkedin.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 4743c7654d3..2145bbd6dd5 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -88,25 +88,30 @@ openerp.web_linkedin = function(instance) { if (entity.__type === "company") { to_change.is_company = true; to_change.name = entity.name; + to_change.photo = false; if (entity.logoUrl) { defs.push(self.rpc('/web_linkedin/binary/url2binary', {'url': entity.logoUrl}).pipe(function(data){ to_change.photo = data; })); } + to_change.website = entity.websiteUrl; + to_change.phone = false; + _.each(entity.locations.values || [], function(el) { + to_change.phone = el.contactInfo.phone1; + }); /* TODO to_change.linkedinUrl = _.str.sprintf("http://www.linkedin.com/company/%d", entity.id); */ } else { // people to_change.is_company = false; to_change.name = entity.formattedName; + to_change.photo = false; if (entity.pictureUrl) { defs.push(self.rpc('/web_linkedin/binary/url2binary', {'url': entity.pictureUrl}).pipe(function(data){ to_change.photo = data; })); - } else { - to_change.photo = false; } to_change.mobile = false; to_change.phone = false; @@ -150,7 +155,8 @@ openerp.web_linkedin = function(instance) { cdef = $.Deferred(); pdef = $.Deferred(); IN.API.Raw(_.str.sprintf( - "company-search:(companies:(id,name,logo-url))?keywords=%s&count=%d", + "company-search:(companies:" + + "(id,name,logo-url,description,industry,website-url,locations))?keywords=%s&count=%d", encodeURI(this.text), this.limit)).result(function (result) { cdef.resolve(result); }); From 91191932b64bd6b36c925a9f0ef3b2990cf31a10 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 6 Aug 2012 17:28:09 +0200 Subject: [PATCH 145/214] Added loading of company members bzr revid: nicolas.vanhoren@openerp.com-20120806152809-ciug91i6z1gn8qsn --- addons/web_linkedin/static/src/js/linkedin.js | 36 ++++++++++++++++--- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 2145bbd6dd5..8f691d920df 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -82,6 +82,12 @@ openerp.web_linkedin = function(instance) { }); }, selected_entity: function(entity) { + var self = this; + this.create_on_change(entity).then(function(to_change) { + self.view.on_processed_onchange({value:to_change}); + }); + }, + create_on_change: function(entity) { var self = this; var to_change = {}; var defs = []; @@ -100,6 +106,24 @@ openerp.web_linkedin = function(instance) { _.each(entity.locations.values || [], function(el) { to_change.phone = el.contactInfo.phone1; }); + var children_def = $.Deferred(); + IN.API.PeopleSearch().fields(commonPeopleFields).params({ + "company-name" : entity.name, + "current-company": true, + "count": 25, + }).result(function(result) { + children_def.resolve(result); + }); + defs.push(children_def.pipe(function(result) { + var defs = _.map(result.people.values || [], function(el) { + el.__type = "people"; + return self.create_on_change(el); + }); + return $.when.apply($, defs).pipe(function() { + var p_to_change = _.toArray(arguments); + to_change.child_ids = p_to_change; + }); + })); /* TODO to_change.linkedinUrl = _.str.sprintf("http://www.linkedin.com/company/%d", entity.id); */ @@ -127,14 +151,18 @@ openerp.web_linkedin = function(instance) { to_change.linkedinUrl = entity.publicProfileUrl; */ } - $.when.apply($, defs).then(function() { - self.view.on_processed_onchange({value:to_change}); + return $.when.apply($, defs).pipe(function() { + return to_change; }); }, }); instance.web.form.widgets.add('linkedin', 'instance.web_linkedin.Linkedin'); + var commonPeopleFields = ["id", "picture-url", "public-profile-url", + "formatted-name", "location", "phone-numbers", "im-accounts", + "main-address", "headline"]; + instance.web_linkedin.LinkedinPopup = instance.web.Dialog.extend({ template: "Linkedin.popup", init: function(parent, text) { @@ -160,9 +188,7 @@ openerp.web_linkedin = function(instance) { encodeURI(this.text), this.limit)).result(function (result) { cdef.resolve(result); }); - IN.API.PeopleSearch().fields(["id", "picture-url", "public-profile-url", - "formatted-name", "location", "phone-numbers", "im-accounts", - "main-address", "headline"]). + IN.API.PeopleSearch().fields(commonPeopleFields). params({"keywords": this.text, "count": this.limit}).result(function(result) { pdef.resolve(result); }); From ccbc0df1ddda89186506f0744981edc5474c66d5 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Mon, 6 Aug 2012 17:38:32 +0200 Subject: [PATCH 146/214] [FIX] auth_signup: move wizard trigger to login page bzr revid: chs@openerp.com-20120806153832-0joy03c20y28bmx4 --- addons/auth_signup/__openerp__.py | 9 ++-- addons/auth_signup/auth_signup.py | 1 - .../static/src/css/auth_signup.css | 9 ++++ .../auth_signup/static/src/js/auth_signup.js | 51 ++++++++++++++----- .../static/src/xml/auth_signup.xml | 14 ++--- 5 files changed, 62 insertions(+), 22 deletions(-) create mode 100644 addons/auth_signup/static/src/css/auth_signup.css diff --git a/addons/auth_signup/__openerp__.py b/addons/auth_signup/__openerp__.py index 8c8a4919550..60d99534bec 100644 --- a/addons/auth_signup/__openerp__.py +++ b/addons/auth_signup/__openerp__.py @@ -8,11 +8,14 @@ 'installable': True, 'depends': ['auth_anonymous', 'base_setup'], 'data': [ - 'auth_signup.xml', - 'res_config.xml', + 'auth_signup.xml', + 'res_config.xml', ], 'js': [ - 'static/src/js/auth_signup.js', + 'static/src/js/auth_signup.js', + ], + 'css': [ + 'static/src/css/auth_signup.css', ], 'qweb': [ 'static/src/xml/auth_signup.xml', diff --git a/addons/auth_signup/auth_signup.py b/addons/auth_signup/auth_signup.py index a7c0b1f4010..64760bed599 100644 --- a/addons/auth_signup/auth_signup.py +++ b/addons/auth_signup/auth_signup.py @@ -54,4 +54,3 @@ class signup_signup(osv.TransientModel): if pw != cpw: return {'value': {'state': 'missmatch'}} return {'value': {'state': 'draft'}} - diff --git a/addons/auth_signup/static/src/css/auth_signup.css b/addons/auth_signup/static/src/css/auth_signup.css new file mode 100644 index 00000000000..1e8d7d9d8d8 --- /dev/null +++ b/addons/auth_signup/static/src/css/auth_signup.css @@ -0,0 +1,9 @@ +.openerp .oe_login .oe_login_pane ul.oe_signup a { + color: #eeeeee; + margin: 0 8px; +} +.openerp .oe_login .oe_login_pane ul.oe_signup a:hover { + text-decoration: underline; +} + + diff --git a/addons/auth_signup/static/src/js/auth_signup.js b/addons/auth_signup/static/src/js/auth_signup.js index 73fe1c20236..fd5c9c93dfa 100644 --- a/addons/auth_signup/static/src/js/auth_signup.js +++ b/addons/auth_signup/static/src/js/auth_signup.js @@ -1,19 +1,46 @@ openerp.auth_signup = function(instance) { + var _t = instance.web._t; - instance.web.UserMenu.include({ + instance.web.Login.include({ start: function() { var self = this; - this._super.apply(this, arguments); - this.$element.find('a.oe_topbar_signup').click(function() { - var p = self.getParent(); - var am = p.action_manager; - am.do_action({ - type:'ir.actions.act_window', - res_model: 'auth.signup', - views: [[false, 'form']], - target: 'new', - name: 'Sign Up' - }); + + this.$('a.oe_signup').click(function() { + var db = self.$("form [name=db]").val(); + if (!db) { + self.do_warn(_t("Login"), _t("No database selected!")); + return false; + } + + var cnx = instance.connection; + if (cnx.session_is_valid()) { + self._signup(); + } else { + cnx.session_authenticate(db, 'anonymous', 'anonymous', true).then(function() { + self._signup(); + }).fail(function(error, event) { + console.log(error); + // cannot log as anonymous or auth_signup not installed + self.do_warn(_t('Sign Up'), _.str.sprintf(_t('Signup functionnality is not available for database %s'), db), true); + }); + } + return true; + }); + return this._super(); + + }, + + _signup: function() { + this.do_action({ + type:'ir.actions.act_window', + res_model: 'auth.signup', + views: [[false, 'form']], + target: 'new', + name: 'Sign Up' + }, function() { + // mmh, no way to have access to dialog befor close... + // TODO autolog user + console.log('onclose', this, arguments); }); } }); diff --git a/addons/auth_signup/static/src/xml/auth_signup.xml b/addons/auth_signup/static/src/xml/auth_signup.xml index 7b3ed6de77b..df24bca3ef1 100644 --- a/addons/auth_signup/static/src/xml/auth_signup.xml +++ b/addons/auth_signup/static/src/xml/auth_signup.xml @@ -3,12 +3,14 @@ --> - - - + + +
  • + +
  • + + +
    From 48e091580429476977c2b29b501b39589528d1e4 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Mon, 6 Aug 2012 17:44:10 +0200 Subject: [PATCH 147/214] [IMP] rephrase some error and warning messages in account remove exclamation marks at the end of messages remove first person usage ('I' and 'We') remove unjustified capital letters rephrase the clumsy form 'No is defined' bzr revid: abo@openerp.com-20120806154410-kbf9aai2uzq2b0c4 --- addons/account/account.py | 40 +++--- addons/account/account_analytic_line.py | 4 +- addons/account/account_cash_statement.py | 6 +- addons/account/account_invoice.py | 32 ++--- addons/account/account_move_line.py | 30 ++-- addons/account/report/common_report_header.py | 2 +- .../account/wizard/account_change_currency.py | 8 +- .../wizard/account_fiscalyear_close.py | 8 +- .../account/wizard/account_invoice_refund.py | 4 +- .../account/wizard/account_invoice_state.py | 4 +- addons/account/wizard/account_move_journal.py | 14 +- .../wizard/account_open_closed_fiscalyear.py | 2 +- .../account_report_aged_partner_balance.py | 4 +- .../account/wizard/account_report_common.py | 2 +- .../wizard/account_validate_account_move.py | 4 +- .../account_analytic_plans.py | 2 +- .../wizard/account_crossovered_analytic.py | 2 +- .../wizard/analytic_plan_create_model.py | 4 +- .../account_bank_statement.py | 10 +- addons/account_coda/account_coda.py | 130 +++++++++--------- addons/account_payment/account_move_line.py | 2 +- addons/account_voucher/account_voucher.py | 6 +- 22 files changed, 160 insertions(+), 160 deletions(-) diff --git a/addons/account/account.py b/addons/account/account.py index e018546f897..14eccafbc7b 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -125,7 +125,7 @@ class account_payment_term_line(osv.osv): return True _constraints = [ - (_check_percent, 'Percentages for Payment Term Line must be between 0 and 1, Example: 0.02 for 2% .', ['value_amount']), + (_check_percent, 'Percentages for Payment Term Line must be between 0 and 1, Example: 0.02 for 2%.', ['value_amount']), ] account_payment_term_line() @@ -409,7 +409,7 @@ class account_account(osv.osv): period_obj = self.pool.get('account.period') pids = period_obj.search(cr, uid, [('special','=',True),('company_id','=',account.company_id.id)], context=context) if not pids: - raise osv.except_osv(_('Error!'),_("No opening/closing period is defined, please create one to set the initial balance!")) + raise osv.except_osv(_('Error!'),_("There is no opening/closing period defined, please create one to set the initial balance.")) move_obj = self.pool.get('account.move.line') move_id = move_obj.search(cr, uid, [ @@ -619,9 +619,9 @@ class account_account(osv.osv): if line_obj.search(cr, uid, [('account_id', 'in', account_ids)]): if method == 'write': - raise osv.except_osv(_('Error !'), _('You cannot deactivate an account that contains some journal items.')) + raise osv.except_osv(_('Error !'), _('You cannot deactivate an account that contains journal items.')) elif method == 'unlink': - raise osv.except_osv(_('Error !'), _('You cannot remove an account containing journal items.')) + raise osv.except_osv(_('Error !'), _('You cannot remove an account that contains journal items.')) #Checking whether the account is set as a property to any Partner or not value = 'account.account,' + str(ids[0]) partner_prop_acc = self.pool.get('ir.property').search(cr, uid, [('value_reference','=',value)], context=context) @@ -790,7 +790,7 @@ class account_journal(osv.osv): if 'company_id' in vals and journal.company_id.id != vals['company_id']: move_lines = self.pool.get('account.move.line').search(cr, uid, [('journal_id', 'in', ids)]) if move_lines: - raise osv.except_osv(_('Warning !'), _('You cannot modify the company of this journal as its related record exist in journal items.')) + raise osv.except_osv(_('Warning !'), _('This journal already contains items, therefore you cannot modify its company field.')) return super(account_journal, self).write(cr, uid, ids, vals, context=context) def create_sequence(self, cr, uid, vals, context=None): @@ -915,7 +915,7 @@ class account_fiscalyear(osv.osv): return True _constraints = [ - (_check_duration, 'Error! The start date of the fiscal year must be less than the end date.', ['date_start','date_stop']) + (_check_duration, 'Error! The start date of a fiscal year must precede its end date.', ['date_start','date_stop']) ] def create_period3(self, cr, uid, ids, context=None): @@ -966,7 +966,7 @@ class account_fiscalyear(osv.osv): ids = self.search(cr, uid, args, context=context) if not ids: if exception: - raise osv.except_osv(_('Error !'), _('No fiscal year is defined for this date !\nPlease create one from the configuration of the accounting menu.')) + raise osv.except_osv(_('Error !'), _('There is no fiscal year defined for this date.\nPlease create one from the configuration of the accounting menu.')) else: return [] return ids @@ -1033,7 +1033,7 @@ class account_period(osv.osv): _constraints = [ (_check_duration, 'Error ! The duration of the Period(s) is/are invalid. ', ['date_stop']), - (_check_year_limit, 'Invalid period ! Some periods overlap or the date period which is not in the scope of the fiscal year. ', ['date_stop']) + (_check_year_limit, 'Error ! The period is invalid. Either some periods are overlapping or the period\'s dates are not matching the scope of the fiscal year.', ['date_stop']) ] def next(self, cr, uid, period, step, context=None): @@ -1055,7 +1055,7 @@ class account_period(osv.osv): args.append(('company_id', '=', company_id)) ids = self.search(cr, uid, args, context=context) if not ids: - raise osv.except_osv(_('Error !'), _('No period is defined for this date: %s !\nPlease create one.')%dt) + raise osv.except_osv(_('Error !'), _('There is no period defined for this date: %s.\nPlease create one.')%dt) return ids def action_draft(self, cr, uid, ids, *args): @@ -1080,7 +1080,7 @@ class account_period(osv.osv): if 'company_id' in vals: move_lines = self.pool.get('account.move.line').search(cr, uid, [('period_id', 'in', ids)]) if move_lines: - raise osv.except_osv(_('Warning !'), _('You cannot modify company of this period as some journal items exist.')) + raise osv.except_osv(_('Warning !'), _('This journal already contains items for this period, therefore you cannot modify its company field.')) return super(account_period, self).write(cr, uid, ids, vals, context=context) def build_ctx_periods(self, cr, uid, period_from_id, period_to_id): @@ -1095,7 +1095,7 @@ class account_period(osv.osv): if company1_id != company2_id: raise osv.except_osv(_('Error!'), _('You should choose the periods that belong to the same company.')) if period_date_start > period_date_stop: - raise osv.except_osv(_('Error!'), _('Start period should be smaller than End period.')) + raise osv.except_osv(_('Error!'), _('Start period should precede then end period.')) #for period from = january, we want to exclude the opening period (but it has same date_from, so we have to check if period_from is special or not to include that clause or not in the search). if period_from.special: return self.search(cr, uid, [('date_start', '>=', period_date_start), ('date_stop', '<=', period_date_stop), ('company_id', '=', company1_id)]) @@ -1134,7 +1134,7 @@ class account_journal_period(osv.osv): cr.execute('select * from account_move_line where journal_id=%s and period_id=%s limit 1', (obj.journal_id.id, obj.period_id.id)) res = cr.fetchall() if res: - raise osv.except_osv(_('Error !'), _('You cannot modify/delete a journal with entries for this period !')) + raise osv.except_osv(_('Error !'), _('You cannot modify/delete a journal with entries for this period.')) return True def write(self, cr, uid, ids, vals, context=None): @@ -1303,7 +1303,7 @@ class account_move(osv.osv): _constraints = [ (_check_centralisation, - 'You cannot create more than one move per period on centralized journal.', + 'You cannot create more than one move per period on a centralized journal.', ['journal_id']), ] @@ -1314,7 +1314,7 @@ class account_move(osv.osv): valid_moves = self.validate(cr, uid, ids, context) if not valid_moves: - raise osv.except_osv(_('Integrity Error !'), _('You cannot validate a non-balanced entry !\nMake sure you have configured payment terms properly !\nThe latest payment term line should be of the type "Balance" !')) + raise osv.except_osv(_('Integrity Error !'), _('You cannot validate a non-balanced entry.\nMake sure you have configured payment terms properly.\nThe latest payment term line should be of the "Balance" type.')) obj_sequence = self.pool.get('ir.sequence') for move in self.browse(cr, uid, valid_moves, context=context): if move.name =='/': @@ -1328,7 +1328,7 @@ class account_move(osv.osv): c = {'fiscalyear_id': move.period_id.fiscalyear_id.id} new_name = obj_sequence.next_by_id(cr, uid, journal.sequence_id.id, c) else: - raise osv.except_osv(_('Error'), _('Please define sequence on the journal !')) + raise osv.except_osv(_('Error !'), _('Please define a sequence on the journal.')) if new_name: self.write(cr, uid, [move.id], {'name':new_name}) @@ -1358,7 +1358,7 @@ class account_move(osv.osv): def button_cancel(self, cr, uid, ids, context=None): for line in self.browse(cr, uid, ids, context=context): if not line.journal_id.update_posted: - raise osv.except_osv(_('Error !'), _('You cannot modify a posted entry of this journal !\nYou should set the journal to allow cancelling entries if you want to do that.')) + raise osv.except_osv(_('Error !'), _('You cannot modify a posted entry of this journal.\nFirst you should set the journal to allow cancelling entries.')) if ids: cr.execute('UPDATE account_move '\ 'SET state=%s '\ @@ -1446,7 +1446,7 @@ class account_move(osv.osv): for move in self.browse(cr, uid, ids, context=context): if move['state'] != 'draft': raise osv.except_osv(_('UserError!'), - _('You cannot delete a posted journal entry "%s"!') % \ + _('You cannot delete a posted journal entry "%s".') % \ move['name']) line_ids = map(lambda x: x.id, move.line_id) context['journal_id'] = move.journal_id.id @@ -1475,14 +1475,14 @@ class account_move(osv.osv): mode2 = 'debit' if not account_id: raise osv.except_osv(_('UserError'), - _('No default debit account is defined \n' \ + _('There is no default debit account defined \n' \ 'on journal "%s".') % move.journal_id.name) else: account_id = move.journal_id.default_credit_account_id.id mode2 = 'credit' if not account_id: raise osv.except_osv(_('UserError'), - _('No default credit account is defined \n' \ + _('There is no default credit account defined \n' \ 'on journal "%s".') % move.journal_id.name) # find the first line of this move with the current mode @@ -2623,7 +2623,7 @@ class account_add_tmpl_wizard(osv.osv_memory): ptids = tmpl_obj.read(cr, uid, [tids[0]['parent_id'][0]], ['code']) res = None if not ptids or not ptids[0]['code']: - raise osv.except_osv(_('Error !'), _('I cannot locate a parent code for the template account!')) + raise osv.except_osv(_('Error !'), _('There is no parent code for the template account.')) res = acc_obj.search(cr, uid, [('code','=',ptids[0]['code'])]) return res and res[0] or False diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py index 8dc7fb8abf4..e56629644ea 100644 --- a/addons/account/account_analytic_line.py +++ b/addons/account/account_analytic_line.py @@ -88,7 +88,7 @@ class account_analytic_line(osv.osv): a = prod.categ_id.property_account_expense_categ.id if not a: raise osv.except_osv(_('Error !'), - _('No expense account is defined ' \ + _('There is no expense account defined ' \ 'for this product: "%s" (id:%d).') % \ (prod.name, prod.id,)) else: @@ -97,7 +97,7 @@ class account_analytic_line(osv.osv): a = prod.categ_id.property_account_income_categ.id if not a: raise osv.except_osv(_('Error !'), - _('No income account is defined ' \ + _('There is no income account defined ' \ 'for this product: "%s" (id:%d).') % \ (prod.name, prod_id,)) diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index a5141cd6b3f..af0a772e239 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -260,7 +260,7 @@ class account_cash_statement(osv.osv): if journal_type == 'bank': return super(account_cash_statement, self).balance_check(cr, uid, cash_id, journal_type, context) if not self._equal_balance(cr, uid, cash_id, context): - raise osv.except_osv(_('Error !'), _('The closing balance should be equal to compute balance on the cash register !')) + raise osv.except_osv(_('Error !'), _('The closing balance should be equal to compute balance on the cash register.')) return True def statement_close(self, cr, uid, ids, journal_type='bank', context=None): @@ -289,8 +289,8 @@ class account_cash_statement(osv.osv): for item_label, item_account in TALBES: if getattr(obj.journal_id, item_account): - raise osv.except_osv(_('Error !'), - _('No %s Account on the Journal %s.') % (item_label, obj.journal_id.name,)) + raise osv.except_osv(_('Error !'), + _('There is no %s Account on the journal %s.') % (item_label, obj.journal_id.name,)) is_profit = obj.difference < 0.0 diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index 6a63f129396..79e5bc10c17 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -319,7 +319,7 @@ class account_invoice(osv.osv): res['fields'][field]['selection'] = journal_select doc = etree.XML(res['arch']) - + if context.get('type', False): for node in doc.xpath("//field[@name='partner_bank_id']"): if context['type'] == 'in_refund': @@ -327,7 +327,7 @@ class account_invoice(osv.osv): elif context['type'] == 'out_refund': node.set('domain', "[('partner_id', '=', partner_id)]") res['arch'] = etree.tostring(doc) - + if view_type == 'search': if context.get('type', 'in_invoice') in ('out_invoice', 'out_refund'): for node in doc.xpath("//group[@name='extended filter']"): @@ -364,7 +364,7 @@ class account_invoice(osv.osv): except Exception, e: if '"journal_id" viol' in e.args[0]: raise orm.except_orm(_('Configuration Error!'), - _('No Sale/Purchase Journal(s) is defined!')) + _('There is no Sale/Purchase Journal(s) defined.')) else: raise orm.except_orm(_('Unknown Error!'), str(e)) @@ -425,7 +425,7 @@ class account_invoice(osv.osv): if t['state'] in ('draft', 'cancel') and t['internal_number']== False: unlink_ids.append(t['id']) else: - raise osv.except_osv(_('Invalid action !'), _('You cannot delete an invoice which is open or paid. We suggest you to refund it instead.')) + raise osv.except_osv(_('Invalid action !'), _('You cannot delete an invoice which is open or paid. You should refund it instead.')) osv.osv.unlink(self, cr, uid, unlink_ids, context=context) return True @@ -577,7 +577,7 @@ class account_invoice(osv.osv): obj_l = account_obj.browse(cr, uid, inv_line[2]['account_id']) if obj_l.company_id.id != company_id: raise osv.except_osv(_('Configuration Error !'), - _('Company of invoice line account and the company of invoice does not match.')) + _('Invoice line account\'s company and invoice\'s compnay does not match.')) else: continue if company_id and type: @@ -840,7 +840,7 @@ class account_invoice(osv.osv): raise osv.except_osv(_('No Invoice Lines !'), _('Please create some invoice lines.')) if inv.move_id: continue - + ctx = context.copy() ctx.update({'lang': inv.partner_id.lang}) if not inv.date_invoice: @@ -866,7 +866,7 @@ class account_invoice(osv.osv): total_percent += line.value_amount total_fixed = (total_fixed * 100) / (inv.amount_total or 1.0) if (total_fixed + total_percent) > 100: - raise osv.except_osv(_('Error !'), _("Cannot create the invoice !\nThe related payment term is probably misconfigured as it gives a computed amount greater than the total invoiced amount. The latest line of your payment term must be of type 'balance' to avoid rounding issues.")) + raise osv.except_osv(_('Error !'), _("Cannot create the invoice.\nThe related payment term is probably misconfigured as it gives a computed amount greater than the total invoiced amount. In order to avoid rounding issues, the latest line of your payment term must be of type 'balance'.")) # one move line per tax line iml += ait_obj.move_line_get(cr, uid, inv.id) @@ -979,7 +979,7 @@ class account_invoice(osv.osv): move_obj.post(cr, uid, [move_id], context=ctx) self._log_event(cr, uid, ids) return True - + def invoice_validate(self, cr, uid, ids, context=None): self.write(cr, uid, ids, {'state':'open'}, context=context) return True @@ -1061,7 +1061,7 @@ class account_invoice(osv.osv): pay_ids = account_move_line_obj.browse(cr, uid, i['payment_ids']) for move_line in pay_ids: if move_line.reconcile_partial_id and move_line.reconcile_partial_id.line_partial_ids: - raise osv.except_osv(_('Error !'), _('You cannot cancel an invoice which is partially paid! You need to unreconcile related payment entries first!')) + raise osv.except_osv(_('Error !'), _('You cannot cancel an invoice which is partially paid. You need to unreconcile related payment entries first.')) # First, set the invoices as cancelled and detach the move ids self.write(cr, uid, ids, {'state':'cancel', 'move_id':False}) @@ -1281,11 +1281,11 @@ class account_invoice(osv.osv): # Update the stored value (fields.function), so we write to trigger recompute self.pool.get('account.invoice').write(cr, uid, ids, {}, context=context) return True - + # ----------------------------------------- # OpenChatter notifications and need_action # ----------------------------------------- - + def _get_document_type(self, type): type_dict = { 'out_invoice': 'Customer invoice', @@ -1294,19 +1294,19 @@ class account_invoice(osv.osv): 'in_refund': 'Supplier Refund', } return type_dict.get(type, 'Invoice') - + def create_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): self.message_append_note(cr, uid, [obj.id],body=_("%s created.") % (self._get_document_type(obj.type)), context=context) - + def confirm_paid_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): self.message_append_note(cr, uid, [obj.id], body=_("%s paid.") % (self._get_document_type(obj.type)), context=context) - + def invoice_cancel_send_note(self, cr, uid, ids, context=None): for obj in self.browse(cr, uid, ids, context=context): self.message_append_note(cr, uid, [obj.id], body=_("%s cancelled.") % (self._get_document_type(obj.type)), context=context) - + account_invoice() class account_invoice_line(osv.osv): @@ -1475,7 +1475,7 @@ class account_invoice_line(osv.osv): if prod.uom_id.category_id.id != prod_uom.category_id.id: warning = { 'title': _('Warning!'), - 'message': _('Selected Unit of Measure is not compatible with the Unit of Measure of the product.') + 'message': _('The selected unit of measure is not compatible with the unit of measure of the product.') } return {'value': res['value'], 'warning': warning} return res diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 645dd16c541..6ce15529842 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -95,7 +95,7 @@ class account_move_line(osv.osv): if initial_bal and not context.get('periods', False) and not where_move_lines_by_date: #we didn't pass any filter in the context, and the initial balance can't be computed using only the fiscalyear otherwise entries will be summed twice #so we have to invalidate this query - raise osv.except_osv(_('Warning !'),_("You havenot supplied enough argument to compute the initial balance, please select a period and journal in the context.")) + raise osv.except_osv(_('Warning !'),_("You have not supplied enough arguments to compute the initial balance, please select a period and a journal in the context.")) if context.get('journal_ids', False): @@ -752,7 +752,7 @@ class account_move_line(osv.osv): else: currency_id = line.company_id.currency_id if line.reconcile_id: - raise osv.except_osv(_('Warning !'), _('Already Reconciled!')) + raise osv.except_osv(_('Warning !'), _('Already reconciled.')) if line.reconcile_partial_id: for line2 in line.reconcile_partial_id.line_partial_ids: if not line2.reconcile_id: @@ -823,15 +823,15 @@ class account_move_line(osv.osv): r = cr.fetchall() #TODO: move this check to a constraint in the account_move_reconcile object if not unrec_lines: - raise osv.except_osv(_('Error !'), _('Entry is already reconciled!')) + raise osv.except_osv(_('Error !'), _('Entry is already reconciled.')) account = account_obj.browse(cr, uid, account_id, context=context) if r[0][1] != None: - raise osv.except_osv(_('Error !'), _('Some entries are already reconciled !')) + raise osv.except_osv(_('Error !'), _('Some entries are already reconciled.')) if (not currency_obj.is_zero(cr, uid, account.company_id.currency_id, writeoff)) or \ (account.currency_id and (not currency_obj.is_zero(cr, uid, account.currency_id, currency))): if not writeoff_acc_id: - raise osv.except_osv(_('Warning !'), _('You have to provide an account for the write off/exchange difference entry !')) + raise osv.except_osv(_('Warning !'), _('You have to provide an account for the write off/exchange difference entry.')) if writeoff > 0: debit = writeoff credit = 0.0 @@ -1092,7 +1092,7 @@ class account_move_line(osv.osv): if res[1] != 'draft': raise osv.except_osv(_('UserError!'), _('The account move (%s) for centralisation ' \ - 'has been confirmed!') % res[2]) + 'has been confirmed.') % res[2]) return res def _remove_move_reconcile(self, cr, uid, move_ids=[], context=None): @@ -1139,9 +1139,9 @@ class account_move_line(osv.osv): if isinstance(ids, (int, long)): ids = [ids] if vals.get('account_tax_id', False): - raise osv.except_osv(_('Unable to change tax !'), _('You cannot change the tax, you should remove and recreate lines !')) + raise osv.except_osv(_('Unable to change tax!'), _('You cannot change the tax, you should remove and recreate lines.')) if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']: - raise osv.except_osv(_('Bad account!'), _('You cannot use an inactive account!')) + raise osv.except_osv(_('Bad account!'), _('You cannot use an inactive account.')) if update_check: if ('account_id' in vals) or ('journal_id' in vals) or ('period_id' in vals) or ('move_id' in vals) or ('debit' in vals) or ('credit' in vals) or ('date' in vals): self._update_check(cr, uid, ids, context) @@ -1202,9 +1202,9 @@ class account_move_line(osv.osv): for line in self.browse(cr, uid, ids, context=context): err_msg = _('Move name (id): %s (%s)') % (line.move_id.name, str(line.move_id.id)) if line.move_id.state <> 'draft' and (not line.journal_id.entry_posted): - raise osv.except_osv(_('Error !'), _('You cannot do this modification on a confirmed entry! You can just change some non legal fields or you must unconfirm the journal entry first! \n%s.') % err_msg) + raise osv.except_osv(_('Error !'), _('You cannot do this modification on a confirmed entry. You can just change some non legal fields or you must unconfirm the journal entry first.\n%s.') % err_msg) if line.reconcile_id: - raise osv.except_osv(_('Error !'), _('You cannot do this modification on a reconciled entry! You can just change some non legal fields or you must unreconcile first!\n%s.') % err_msg) + raise osv.except_osv(_('Error !'), _('You cannot do this modification on a reconciled entry. You can just change some non legal fields or you must unreconcile first.\n%s.') % err_msg) t = (line.journal_id.id, line.period_id.id) if t not in done: self._update_journal_check(cr, uid, line.journal_id.id, line.period_id.id, context) @@ -1224,7 +1224,7 @@ class account_move_line(osv.osv): if company_id: vals['company_id'] = company_id[0] if ('account_id' in vals) and not account_obj.read(cr, uid, vals['account_id'], ['active'])['active']: - raise osv.except_osv(_('Bad account!'), _('You cannot use an inactive account!')) + raise osv.except_osv(_('Bad account!'), _('You cannot use an inactive account.')) if 'journal_id' in vals: context['journal_id'] = vals['journal_id'] if 'period_id' in vals: @@ -1237,10 +1237,10 @@ class account_move_line(osv.osv): if 'period_id' not in context or not isinstance(context.get('period_id', ''), (int, long)): period_candidate_ids = self.pool.get('account.period').name_search(cr, uid, name=context.get('period_id','')) if len(period_candidate_ids) != 1: - raise osv.except_osv(_('Encoding error!'), _('No period is found or more than one period found for the given date.')) + raise osv.except_osv(_('Encoding error!'), _('No period found or more than one period found for the given date.')) context['period_id'] = period_candidate_ids[0][0] if not context.get('journal_id', False) and context.get('search_default_journal_id', False): - context['journal_id'] = context.get('search_default_journal_id') + context['journal_id'] = context.get('search_default_journal_id') self._update_journal_check(cr, uid, context['journal_id'], context['period_id'], context) move_id = vals.get('move_id', False) journal = journal_obj.browse(cr, uid, context['journal_id'], context=context) @@ -1263,7 +1263,7 @@ class account_move_line(osv.osv): move_id = move_obj.create(cr, uid, v, context) vals['move_id'] = move_id else: - raise osv.except_osv(_('No piece number !'), _('Cannot create an automatic sequence for this piece!\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.')) + raise osv.except_osv(_('No piece number !'), _('Cannot create an automatic sequence for this piece.\nPut a sequence in the journal definition for automatic numbering or create a sequence manually for this piece.')) ok = not (journal.type_control_ids or journal.account_control_ids) if ('account_id' in vals): account = account_obj.browse(cr, uid, vals['account_id'], context=context) @@ -1288,7 +1288,7 @@ class account_move_line(osv.osv): vals['amount_currency'] = cur_obj.compute(cr, uid, account.company_id.currency_id.id, account.currency_id.id, vals.get('debit', 0.0)-vals.get('credit', 0.0), context=ctx) if not ok: - raise osv.except_osv(_('Bad account !'), _('You cannot use this general account in this journal, check the tab \'Entry Controls\' on the related journal !')) + raise osv.except_osv(_('Bad account !'), _('You cannot use this general account in this journal, check the tab \'Entry Controls\' on the related journal.')) if vals.get('analytic_account_id',False): if journal.analytic_journal_id: diff --git a/addons/account/report/common_report_header.py b/addons/account/report/common_report_header.py index 3711de09b2a..c93c3e02ee3 100644 --- a/addons/account/report/common_report_header.py +++ b/addons/account/report/common_report_header.py @@ -89,7 +89,7 @@ class common_report_header(object): return '' def _get_sortby(self, data): - raise (_('Error!'), _('Not implemented!')) + raise (_('Error!'), _('Not implemented.')) def _get_filter(self, data): if data.get('form', False) and data['form'].get('filter', False): diff --git a/addons/account/wizard/account_change_currency.py b/addons/account/wizard/account_change_currency.py index 4a49f4ded0b..d51df1e4d70 100644 --- a/addons/account/wizard/account_change_currency.py +++ b/addons/account/wizard/account_change_currency.py @@ -35,7 +35,7 @@ class account_change_currency(osv.osv_memory): context = {} if context.get('active_id',False): if obj_inv.browse(cr, uid, context['active_id']).state != 'draft': - raise osv.except_osv(_('Error!'), _('You can only change currency for Draft Invoice !')) + raise osv.except_osv(_('Error!'), _('You can only change currency for Draft Invoice.')) pass def change_currency(self, cr, uid, ids, context=None): @@ -56,18 +56,18 @@ class account_change_currency(osv.osv_memory): if invoice.company_id.currency_id.id == invoice.currency_id.id: new_price = line.price_unit * rate if new_price <= 0: - raise osv.except_osv(_('Error!'), _('New currency is not configured properly !')) + raise osv.except_osv(_('Error!'), _('New currency is not configured properly.')) if invoice.company_id.currency_id.id != invoice.currency_id.id and invoice.company_id.currency_id.id == new_currency: old_rate = invoice.currency_id.rate if old_rate <= 0: - raise osv.except_osv(_('Error!'), _('Current currency is not configured properly !')) + raise osv.except_osv(_('Error!'), _('Current currency is not configured properly.')) new_price = line.price_unit / old_rate if invoice.company_id.currency_id.id != invoice.currency_id.id and invoice.company_id.currency_id.id != new_currency: old_rate = invoice.currency_id.rate if old_rate <= 0: - raise osv.except_osv(_('Error!'), _('Current currency is not configured properly !')) + raise osv.except_osv(_('Error!'), _('Current currency is not configured properly.')) new_price = (line.price_unit / old_rate ) * rate obj_inv_line.write(cr, uid, [line.id], {'price_unit': new_price}) obj_inv.write(cr, uid, [invoice.id], {'currency_id': new_currency}, context=context) diff --git a/addons/account/wizard/account_fiscalyear_close.py b/addons/account/wizard/account_fiscalyear_close.py index 85b36b5e778..a79f9b22770 100644 --- a/addons/account/wizard/account_fiscalyear_close.py +++ b/addons/account/wizard/account_fiscalyear_close.py @@ -51,9 +51,9 @@ class account_fiscalyear_close(osv.osv_memory): """ def _reconcile_fy_closing(cr, uid, ids, context=None): """ - This private function manually do the reconciliation on the account_move_line given as `ids´, and directly + This private function manually do the reconciliation on the account_move_line given as `ids´, and directly through psql. It's necessary to do it this way because the usual `reconcile()´ function on account.move.line - object is really resource greedy (not supposed to work on reconciliation between thousands of records) and + object is really resource greedy (not supposed to work on reconciliation between thousands of records) and it does a lot of different computation that are useless in this particular case. """ #check that the reconcilation concern journal entries from only one company @@ -85,7 +85,7 @@ class account_fiscalyear_close(osv.osv_memory): fy2_period_set = ','.join(map(lambda id: str(id[0]), cr.fetchall())) if not fy_period_set or not fy2_period_set: - raise osv.except_osv(_('UserError!'), _('The periods to generate opening entries were not found.')) + raise osv.except_osv(_('UserError!'), _('The periods to generate opening entries cannot be found.')) period = obj_acc_period.browse(cr, uid, data[0].period_id.id, context=context) new_fyear = obj_acc_fiscalyear.browse(cr, uid, data[0].fy2_id.id, context=context) @@ -100,7 +100,7 @@ class account_fiscalyear_close(osv.osv_memory): _('The journal must have default credit and debit account.')) if (not new_journal.centralisation) or new_journal.entry_posted: raise osv.except_osv(_('UserError!'), - _('The journal must have centralized counterpart without the Skipping draft state option checked!')) + _('The journal must have centralized counterpart without the Skipping draft state option checked.')) #delete existing move and move lines if any move_ids = obj_acc_move.search(cr, uid, [ diff --git a/addons/account/wizard/account_invoice_refund.py b/addons/account/wizard/account_invoice_refund.py index 96eb0e6a944..be3c9ccaca6 100644 --- a/addons/account/wizard/account_invoice_refund.py +++ b/addons/account/wizard/account_invoice_refund.py @@ -108,7 +108,7 @@ class account_invoice_refund(osv.osv_memory): if inv.state in ['draft', 'proforma2', 'cancel']: raise osv.except_osv(_('Error !'), _('Cannot %s draft/proforma/cancel invoice.') % (mode)) if inv.reconciled and mode in ('cancel', 'modify'): - raise osv.except_osv(_('Error !'), _('Cannot %s invoice which is already reconciled, invoice should be unreconciled first. You can only Refund this invoice.') % (mode)) + raise osv.except_osv(_('Error !'), _('Cannot %s invoice which is already reconciled, invoice should be unreconciled first. You can only refund this invoice.') % (mode)) if form.period.id: period = form.period.id else: @@ -144,7 +144,7 @@ class account_invoice_refund(osv.osv_memory): if not period: raise osv.except_osv(_('Data Insufficient !'), \ - _('No Period is found on Invoice!')) + _('No period found on the invoice.')) refund_id = inv_obj.refund(cr, uid, [inv.id], date, period, description, journal_id) refund = inv_obj.browse(cr, uid, refund_id[0], context=context) diff --git a/addons/account/wizard/account_invoice_state.py b/addons/account/wizard/account_invoice_state.py index 78ebe5de5fa..55eab584040 100644 --- a/addons/account/wizard/account_invoice_state.py +++ b/addons/account/wizard/account_invoice_state.py @@ -41,7 +41,7 @@ class account_invoice_confirm(osv.osv_memory): for record in data_inv: if record['state'] not in ('draft','proforma','proforma2'): - raise osv.except_osv(_('Warning!'), _("Selected Invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-Forma' state!")) + raise osv.except_osv(_('Warning!'), _("Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-Forma' state.")) wf_service.trg_validate(uid, 'account.invoice', record['id'], 'invoice_open', cr) return {'type': 'ir.actions.act_window_close'} @@ -65,7 +65,7 @@ class account_invoice_cancel(osv.osv_memory): for record in data_inv: if record['state'] in ('cancel','paid'): - raise osv.except_osv(_('Warning!'), _("Selected Invoice(s) cannot be cancelled as they are already in 'Cancelled' or 'Done' state!")) + raise osv.except_osv(_('Warning!'), _("Selected invoice(s) cannot be cancelled as they are already in 'Cancelled' or 'Done' state.")) wf_service.trg_validate(uid, 'account.invoice', record['id'], 'invoice_cancel', cr) return {'type': 'ir.actions.act_window_close'} diff --git a/addons/account/wizard/account_move_journal.py b/addons/account/wizard/account_move_journal.py index d7c692e0619..f14e8c555e6 100644 --- a/addons/account/wizard/account_move_journal.py +++ b/addons/account/wizard/account_move_journal.py @@ -83,25 +83,25 @@ class account_move_journal(osv.osv_memory): if context: if not view_id: return res - + period_pool = self.pool.get('account.period') journal_pool = self.pool.get('account.journal') - + journal_id = self._get_journal(cr, uid, context) period_id = self._get_period(cr, uid, context) - + journal = False if journal_id: journal = journal_pool.read(cr, uid, [journal_id], ['name'])[0]['name'] journal_string = _("Journal: %s") % tools.ustr(journal) else: journal_string = _("Journal: All") - + period = False if period_id: period = period_pool.browse(cr, uid, [period_id], ['name'])[0]['name'] period_string = _("Period: %s") % tools.ustr(period) - + open_string = _("Open") view = """ @@ -116,7 +116,7 @@ class account_move_journal(osv.osv_memory):

    @@ -1193,11 +1194,11 @@ - + - - + + From f92a925ec80508fe7a80584fe0a19db48b7fad5f Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 7 Aug 2012 15:43:43 +0200 Subject: [PATCH 161/214] [CHG] resequence on arbitrary field with @widget=handle bzr revid: xmo@openerp.com-20120807134343-ch16bcp5s7goqxsl --- addons/web/static/src/css/base.css | 13 ++++++++++++ addons/web/static/src/css/base.sass | 5 +++++ addons/web/static/src/js/formats.js | 2 ++ addons/web/static/src/js/view_list.js | 29 ++++++++++++++++++++------- 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 434ee9377ab..295f2689a6d 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -2477,6 +2477,19 @@ .openerp .oe_list_content .numeric input { text-align: right; } +.openerp .oe_list_content .oe_list_field_handle { + width: 1em; +} +.openerp .oe_list_content .oe_list_field_handle .oe_list_handle { + font-size: 1px; + letter-spacing: -1px; + color: transparent; +} +.openerp .oe_list_content .oe_list_field_handle .oe_list_handle:before { + font: 21px "mnmliconsRegular"; + content: "ö"; + color: #404040; +} .openerp .tree_header { background-color: #f0f0f0; border-bottom: 1px solid #cacaca; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 949befdef77..8005449b226 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1926,6 +1926,11 @@ $sheet-max-width: 860px width: 82px input text-align: right + .oe_list_field_handle + width: 1em + .oe_list_handle + @include text-to-icon("ö") + // }}} // Tree view {{{ .tree_header diff --git a/addons/web/static/src/js/formats.js b/addons/web/static/src/js/formats.js index 6ceb7090e44..6aae9677ec4 100644 --- a/addons/web/static/src/js/formats.js +++ b/addons/web/static/src/js/formats.js @@ -343,6 +343,8 @@ instance.web.format_cell = function (row_data, column, options) { '<%-value%>%', { value: _.str.sprintf("%.0f", row_data[column.id].value || 0) }); + case 'handle': + return '
    '; } return _.escape(instance.web.format_value( diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index 4bce8d639f8..d78a732fc58 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -1468,18 +1468,31 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we }, setup_resequence_rows: function (list, dataset) { // drag and drop enabled if list is not sorted and there is a - // "sequence" column in the view. + // visible column with @widget=handle or "sequence" column in the view. if ((dataset.sort && dataset.sort()) || !_(this.columns).any(function (column) { - return column.name === 'sequence'; })) { + return column.widget === 'handle' + || column.name === 'sequence'; })) { return; } + var sequence_field = _(this.columns).find(function (c) { + return c.widget === 'handle'; + }); + var seqname = sequence_field ? sequence_field.name : 'sequence'; + // ondrop, move relevant record & fix sequences list.$current.sortable({ axis: 'y', items: '> tr[data-id]', - containment: 'parent', - helper: 'clone', + helper: 'clone' + }); + if (sequence_field) { + list.$current.sortable('option', 'handle', '.oe_list_field_handle'); + } + list.$current.sortable('option', { + start: function (e, ui) { + ui.placeholder.height(ui.item.height()); + }, stop: function (event, ui) { var to_move = list.records.get(ui.item.data('id')), target_id = ui.item.prev().data('id'), @@ -1497,7 +1510,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we var record, index = to, // if drag to 1st row (to = 0), start sequencing from 0 // (exclusive lower bound) - seq = to ? list.records.at(to - 1).get('sequence') : 0; + seq = to ? list.records.at(to - 1).get(seqname) : 0; while (++seq, record = list.records.at(index++)) { // write are independent from one another, so we can just // launch them all at the same time and we don't really @@ -1507,10 +1520,12 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we // when synchronous (without setTimeout) (function (dataset, id, seq) { $.async_when().then(function () { - dataset.write(id, {sequence: seq}); + var attrs = {}; + attrs[seqname] = seq; + dataset.write(id, attrs); }); }(dataset, record.get('id'), seq)); - record.set('sequence', seq); + record.set(seqname, seq); } } }); From 73264632e7c90f8404fc4d34ef2842e466ea2586 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 7 Aug 2012 16:13:51 +0200 Subject: [PATCH 162/214] [IMP] set an NS-resize cursor on handle bzr revid: xmo@openerp.com-20120807141351-6d9vtnjpwjsx7wmj --- addons/web/static/src/css/base.css | 1 + addons/web/static/src/css/base.sass | 1 + 2 files changed, 2 insertions(+) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 295f2689a6d..346b6f25f54 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -2479,6 +2479,7 @@ } .openerp .oe_list_content .oe_list_field_handle { width: 1em; + cursor: ns-resize; } .openerp .oe_list_content .oe_list_field_handle .oe_list_handle { font-size: 1px; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 8005449b226..67bb855eb39 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1928,6 +1928,7 @@ $sheet-max-width: 860px text-align: right .oe_list_field_handle width: 1em + cursor: ns-resize .oe_list_handle @include text-to-icon("ö") From ab05e368c5dac1974bcc73473bafafddcefa3c37 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Tue, 7 Aug 2012 17:34:35 +0200 Subject: [PATCH 163/214] Added begin of api key wizard bzr revid: nicolas.vanhoren@openerp.com-20120807153435-vshesd2cubjty0o6 --- addons/web_linkedin/static/src/js/linkedin.js | 28 ++++++++++++++++--- .../web_linkedin/static/src/xml/linkedin.xml | 13 ++++++++- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/addons/web_linkedin/static/src/js/linkedin.js b/addons/web_linkedin/static/src/js/linkedin.js index 8801b0c8164..8e196434992 100644 --- a/addons/web_linkedin/static/src/js/linkedin.js +++ b/addons/web_linkedin/static/src/js/linkedin.js @@ -8,7 +8,6 @@ openerp.web_linkedin = function(instance) { instance.web_linkedin.LinkedinTester = instance.web.Class.extend({ init: function() { - this.api_key = "cxnr0l53n73x"; this.linkedin_added = false; this.linkedin_def = $.Deferred(); this.auth_def = $.Deferred(); @@ -34,11 +33,12 @@ openerp.web_linkedin = function(instance) { }); }, test_api_key: function() { + var self = this; if (this.api_key) { return $.when(); } return new instance.web.Model("ir.config_parameter").call("get_param", ["web.linkedin.apikey"]).pipe(function(a) { - if (a !== false) { + if (!!a) { self.api_key = a; return true; } else { @@ -79,7 +79,19 @@ openerp.web_linkedin = function(instance) { pop.on("selected", this, function(entity) { self.selected_entity(entity); }); - }); + }, _.bind(this.linkedin_disabled, this)); + }, + linkedin_disabled: function() { + if (instance.connection.uid !== 1) { + instance.web.dialog($(QWeb.render("LinkedIn.DisabledWarning")), { + title: _t("LinkedIn is not enabled"), + buttons: [ + {text: _t("Ok"), click: function() { $(this).dialog("close"); }} + ] + }); + } else { + new instance.web_linkedin.KeyWizard(this).open(); + } }, selected_entity: function(entity) { var self = this; @@ -237,7 +249,7 @@ openerp.web_linkedin = function(instance) { }); instance.web_linkedin.EntityWidget = instance.web.Widget.extend({ - template: "EntityWidget", + template: "Linkedin.EntityWidget", init: function(parent, data) { this._super(parent); this.data = data; @@ -256,5 +268,13 @@ openerp.web_linkedin = function(instance) { } }, }); + + + instance.web_linkedin.KeyWizard = instance.web.Dialog.extend({ + template: "LinkedIn.KeyWizard", + init: function(parent, text) { + this._super(parent, {title:_t("LinkedIn API Key")}); + }, + }); }; // vim:et fdc=0 fdl=0: diff --git a/addons/web_linkedin/static/src/xml/linkedin.xml b/addons/web_linkedin/static/src/xml/linkedin.xml index eb547029877..3fa5509adfe 100644 --- a/addons/web_linkedin/static/src/xml/linkedin.xml +++ b/addons/web_linkedin/static/src/xml/linkedin.xml @@ -13,7 +13,7 @@
    - +
    @@ -23,4 +23,15 @@

    + +
    + LinkedIn access was not enabled on this server. + Please ask your administrator to activate it. +
    +
    + +
    + Yoh! +
    +
    \ No newline at end of file From d3441f111bab4c2c4dd4b26c70a849434e23ae97 Mon Sep 17 00:00:00 2001 From: "vta vta@openerp.com" <> Date: Tue, 7 Aug 2012 17:39:26 +0200 Subject: [PATCH 164/214] [FIX] Full CSS stagesbar. bzr revid: vta@openerp.com-20120807153926-xvklvq5419mup6hq --- addons/web/static/src/css/base.css | 77 +++++++++++++++++++++++++-- addons/web/static/src/js/view_form.js | 5 +- addons/web/static/src/xml/base.xml | 3 +- 3 files changed, 75 insertions(+), 10 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index a7a749be187..86f52d40cec 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -1945,6 +1945,8 @@ padding: 0; margin: 0; text-shadow: 0 1px 1px white; + /*background: #dfdfdf;*/ + overflow: hidden; } .openerp ul.oe_form_steps img { vertical-align: top; @@ -1960,22 +1962,89 @@ padding: 0 0 0 12px; } .openerp ul.oe_form_steps li:first-child { + padding-left: 12px; border-left: 1px solid #cacaca; } .openerp ul.oe_form_steps li:last-child { margin-right: 12px; - padding-right: 12px; + /*padding-right: 12px;*/ border-right: 1px solid #cacaca; } -.openerp ul.oe_form_steps li a { +.openerp ul.oe_form_steps li { color: #4c4c4c; + text-decoration: none; + padding: 0 0 0 30px; + position: relative; + display: block; + float: left; + height: 30px; + background-color: #8a89ba; + color: white; +} +.openerp ul.oe_form_steps li span { + display:block; + margin-left: 10px; } .openerp ul.oe_form_steps li a:hover { color: black; } -.openerp ul.oe_form_steps .oe_form_steps_active { +.openerp ul.oe_form_steps li:after { + content: " "; + display: :block; + width: 0; + height: 0; + border-top: 50px solid transparent; + border-bottom: 50px solid transparent; + border-left: 30px solid #8a89ba; + position: absolute; + top: 50%; + margin-top: -50px; + left: 100%; + z-index: 2; +} +.openerp ul.oe_form_steps li:before { + content: " "; + display: :block; + width: 0; + height: 0; + border-top: 50px solid transparent; + border-bottom: 50px solid transparent; + border-left: 30px solid #eeeeee; + position: absolute; + top: 50%; + margin-top: -50px; + margin-left: 2px; + left: 100%; + z-index: 1; +} +.openerp ul.oe_form_steps li:hover { + background: #807fb4; +} +.openerp ul.oe_form_steps li:hover:after { + border-left-color: #807fb4; +} +.openerp ul.oe_form_steps li.oe_form_steps_active { font-weight: bold; - color: #b33630; + /*color: #b33630;*/ + text-shadow: 0 1px 1px #999999; + /*background-color: #dc5f59;*/ + background-color: #b33630; + color: white; +} +.openerp ul.oe_form_steps li.oe_form_steps_active:after { + content: " "; + display: :block; + width: 0; + height: 0; + border-top: 50px solid transparent; + border-bottom: 50px solid transparent; + /*border-left: 30px solid #dc5f59;*/ + border-left: 30px solid #b33630; + position: absolute; + top: 50%; + margin-top: -50px; + left: 100%; + z-index: 2; } .openerp .oe_form .oe_subtotal_footer { width: 1% !important; diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index b8ec1ac9d37..2f644d986a3 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -4706,8 +4706,7 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ _.each(elemts, function(element){ $item = $(element); if ($item.attr("data-id") != self.selected_value) { - $item.attr("style", "cursor: pointer; background: #ba3d37; position: relative; left: 5px; top: -3px;"); - $item.parent().attr("style", "background: #ba3d37; height: 24px; margin-top: 3px;"); + $item.attr("style", "cursor: pointer;"); $item.click(function(event){ var data_id = parseInt($(this).attr("data-id")) self.view.dataset.call('stage_set', [[self.view.datarecord.id],data_id]).then(function() { @@ -4715,8 +4714,6 @@ instance.web.form.FieldStatus = instance.web.form.AbstractField.extend({ }); }); } else { - $item.attr("style", "background: #8a89ba; position: relative; left: 5px; top: -3px;"); - $item.parent().attr("style", "background: #8a89ba; height: 24px; margin-top: 3px;"); } }); } diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 112f1321a28..f210b46b91a 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1033,8 +1033,7 @@
  • - - +
  • From f725d5e6794432307d92d36f69a0f58b33035e97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Tue, 7 Aug 2012 18:09:24 +0200 Subject: [PATCH 165/214] [FIX] email_template: fixed an issue where no destination partner could be found. bzr revid: tde@openerp.com-20120807160924-hdnqudnwowkbmsem --- addons/email_template/email_template.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index bf57342f14f..b43b7d19b85 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -317,6 +317,7 @@ class email_template(osv.osv): 'message_id': False, 'state': 'outgoing', 'content_subtype': 'plain', + 'partner_ids': [], } if not template_id: return values From 953e1f0852186cc3ce3e5f25384b475439882f21 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Tue, 7 Aug 2012 18:36:19 +0200 Subject: [PATCH 166/214] [IMP] auth_signup: use a client action instead of a wizard bzr revid: chs@openerp.com-20120807163619-bodnv40u7bz1t9ok --- addons/auth_signup/__openerp__.py | 1 - addons/auth_signup/auth_signup.py | 25 +------ addons/auth_signup/auth_signup.xml | 42 ----------- .../auth_signup/static/src/js/auth_signup.js | 75 ++++++++++++++++--- .../static/src/xml/auth_signup.xml | 12 +++ 5 files changed, 82 insertions(+), 73 deletions(-) delete mode 100644 addons/auth_signup/auth_signup.xml diff --git a/addons/auth_signup/__openerp__.py b/addons/auth_signup/__openerp__.py index 60d99534bec..a869c623db0 100644 --- a/addons/auth_signup/__openerp__.py +++ b/addons/auth_signup/__openerp__.py @@ -8,7 +8,6 @@ 'installable': True, 'depends': ['auth_anonymous', 'base_setup'], 'data': [ - 'auth_signup.xml', 'res_config.xml', ], 'js': [ diff --git a/addons/auth_signup/auth_signup.py b/addons/auth_signup/auth_signup.py index 64760bed599..ebc72b3aeac 100644 --- a/addons/auth_signup/auth_signup.py +++ b/addons/auth_signup/auth_signup.py @@ -9,22 +9,17 @@ class res_users(osv.Model): class signup_signup(osv.TransientModel): _name = 'auth.signup' + + # TODO add captcha _columns = { 'name': fields.char('Name', size=64), 'email': fields.char('Email', size=64), 'password': fields.char('Password', size=64), - 'password_confirmation': fields.char('Confirm Password', size=64), - 'state': fields.selection([(x, x) for x in 'draft done missmatch'.split()], required=True), - } - _defaults = { - 'state': 'draft', } def create(self, cr, uid, values, context=None): # NOTE here, invalid values raises exceptions to avoid storing # sensitive data into the database (which then are available to anyone) - if values['password'] != values['password_confirmation']: - raise osv.except_osv('Error', 'Passwords missmatch') new_user = { 'name': values['name'], @@ -40,17 +35,5 @@ class signup_signup(osv.TransientModel): else: self.pool.get('res.users').create(cr, 1, new_user, context=context) - # Dont store the password - values = {'state': 'done'} - return super(signup_signup, self).create(cr, uid, values, context) - - def signup(self, cr, uid, ids, context=None): - return { - 'type': 'ir.actions.client', - 'tag': 'login', - } - - def onchange_pw(self, cr, uid, ids, pw, cpw, context=None): - if pw != cpw: - return {'value': {'state': 'missmatch'}} - return {'value': {'state': 'draft'}} + # Dont store anything + return 0 diff --git a/addons/auth_signup/auth_signup.xml b/addons/auth_signup/auth_signup.xml deleted file mode 100644 index 8940045bbc1..00000000000 --- a/addons/auth_signup/auth_signup.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - auth.signup.form - auth.signup - form - -
    - - - - - - - -
    Passwords missmatch
    -
    - - + +
    +
    + From 2dfc350825d45ad3007ff3882a664e82897cbc8c Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 8 Aug 2012 08:41:22 +0200 Subject: [PATCH 167/214] [IMP] small improvement in opportunity view bzr revid: fp@tinyerp.com-20120808064122-wjz6ua224nb9mkoi --- addons/crm/crm_lead_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index d2c37c5cea7..db44606b47b 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -467,7 +467,7 @@

    at - %% success rate + %% success rate

    From b9467c69b4bd09cde67344b9e4a9ecee3bcce275 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 8 Aug 2012 08:51:18 +0200 Subject: [PATCH 168/214] [IMP] small CSS improvements bzr revid: fp@tinyerp.com-20120808065118-8sw6l6gmak1e48ld --- addons/web/static/src/css/base.css | 8 ++++---- addons/web/static/src/css/base.sass | 6 +++--- addons/web/static/src/xml/base.xml | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index 09081426fca..434ee9377ab 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -78,7 +78,7 @@ background: white; /* http://www.quirksmode.org/dom/inputfile.html * http://stackoverflow.com/questions/2855589/replace-input-type-file-by-an-image - */ + */ */ } .openerp :-moz-placeholder { color: #afafb6 !important; @@ -2150,7 +2150,7 @@ width: 100%; display: inline-block; padding: 2px 2px 2px 0px; - line-height: 18px; + line-height: 1em; } .openerp .oe_form .oe_form_field input { margin: 0px; @@ -2239,10 +2239,10 @@ overflow: hidden; } .openerp .oe_form_editable .oe_form .oe_form_field_integer { - width: 7em !important; + width: 6em !important; } .openerp .oe_form_editable .oe_form .oe_form_field_float { - width: 8em !important; + width: 7em !important; } .openerp .oe_form_editable .oe_form .oe_form_field_date { width: 7.5em !important; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 0ef8f83f330..fd0f4e6b4aa 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -1661,7 +1661,7 @@ $sheet-max-width: 860px width: 100% display: inline-block padding: 2px 2px 2px 0px - line-height: 18px + line-height: 1em input margin: 0px input[type="text"], input[type="password"], input[type="file"], select @@ -1728,9 +1728,9 @@ $sheet-max-width: 860px .oe_form_editable .oe_form .oe_form_field_integer - width: 7em !important + width: 6em !important .oe_form_field_float - width: 8em !important + width: 7em !important .oe_form_field_date width: 7.5em !important .oe_form_field_datetime diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 601fe165f81..e82659aaa87 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -338,7 +338,7 @@
    - Activate the developer mode + Activate the developer mode

    Version

    From 3fdd2881b9f64fe7c197129294b013e962a28cb1 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 8 Aug 2012 09:24:53 +0200 Subject: [PATCH 169/214] [IMP] clean address format on leads bzr revid: fp@tinyerp.com-20120808072453-tnm2rkvn7djksxtm --- addons/crm/crm_lead_view.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index db44606b47b..2b9834ffe38 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -162,12 +162,12 @@
    -
    - - +
    + + +
    - - +
    @@ -524,7 +524,7 @@
    - +
    From 175c167471962d0c8acb7b509ac00aacd9a69fc8 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 8 Aug 2012 09:38:21 +0200 Subject: [PATCH 170/214] [FIX] fixing bugs in bounce effects + cleaner effect bzr revid: fp@tinyerp.com-20120808073821-gxp4r9u12160lshy --- addons/web/static/src/css/base.sass | 3 --- addons/web/static/src/js/view_form.js | 7 ++++--- addons/web/static/src/xml/base.xml | 4 +++- addons/web_kanban/static/src/js/kanban.js | 14 +++++++------- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index fd0f4e6b4aa..949befdef77 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -435,9 +435,6 @@ $sheet-max-width: 860px text-decoration: none .oe_star_on color: gold - .oe_bounce - -moz-animation: bounce .40s linear - -webkit-animation: bounce .40s linear // }}} // Tags (for many2many tags, among others) {{{ .oe_tag diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index c2dac62366b..c3f941305d5 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -155,15 +155,16 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM ]); } + this.has_been_loaded.resolve(); + // Add bounce effect on button 'Edit' when click on readonly page view. - this.$element.find(".oe_form_field, .oe_form_group_cell").on('click', function (e) { + this.$element.find(".oe_form_field,label").on('click', function (e) { if(self.get("actual_mode") == "view") { var $button = self.options.$buttons.find(".oe_form_button_edit"); - $button.wrap('
    ').css('margin-right','4px').addClass('oe_left oe_bounce'); + $button.effect('bounce', {distance: 18, times: 7}, 200) } }); - this.has_been_loaded.resolve(); return $.when(); }, extract_qweb_template: function(fvg) { diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index e82659aaa87..4e3ffa0acb4 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -708,7 +708,9 @@
    - +
    + +
    diff --git a/addons/web_kanban/static/src/js/kanban.js b/addons/web_kanban/static/src/js/kanban.js index 4477b4dc01f..4856c5d174a 100644 --- a/addons/web_kanban/static/src/js/kanban.js +++ b/addons/web_kanban/static/src/js/kanban.js @@ -421,13 +421,6 @@ instance.web_kanban.KanbanGroup = instance.web.OldWidget.extend({ }); // Add bounce effect on image '+' of kanban header when click on empty space of kanban grouped column. var add_btn = this.$element.find('.oe_kanban_add'); - this.$records.click(function (ev) { - if (ev.target == ev.currentTarget) { - if (!self.state.folded) { - add_btn.wrap('
    ').addClass('oe_bounce'); - } - } - }); this.$records.find('.oe_kanban_show_more').click(this.do_show_more); if (this.state.folded) { this.do_toggle_fold(); @@ -436,6 +429,13 @@ instance.web_kanban.KanbanGroup = instance.web.OldWidget.extend({ this.$records.data('widget', this); this.$has_been_started.resolve(); this.compute_cards_auto_height(); + this.$records.click(function (ev) { + if (ev.target == ev.currentTarget) { + if (!self.state.folded) { + add_btn.effect('bounce', {distance: 18, times: 7}, 200) + } + } + }); return def; }, compute_cards_auto_height: function() { From a2eea7db8549310371982fbf514f5f691df387de Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 8 Aug 2012 09:44:36 +0200 Subject: [PATCH 171/214] [IMP] layout form view wizard CoA bzr revid: fp@tinyerp.com-20120808074436-yg5t0ctdgiwn5ccz --- addons/account/account_installer.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml index b720ea16922..d2661674bae 100644 --- a/addons/account/account_installer.xml +++ b/addons/account/account_installer.xml @@ -10,7 +10,9 @@ Accounting Application Configuration
    -
    From a129758a6db9702827e911e2bef7f7e06746ebe4 Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Wed, 8 Aug 2012 09:54:09 +0200 Subject: [PATCH 172/214] [IMP] layout form SO bzr revid: fp@tinyerp.com-20120808075409-wrz9vv4zfir89gff --- addons/sale/sale_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index adbe29753b5..2db531d34dd 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -304,7 +304,7 @@