From 156da2b3503a4449106fa78a2883431e1f6663aa Mon Sep 17 00:00:00 2001 From: Maxime Chambreuil Date: Sat, 9 Jun 2012 11:45:22 -0400 Subject: [PATCH 001/893] [IMP] Use account.data_account_type. Remove notax. Improve chart of taxes. bzr revid: maxime.chambreuil@savoirfairelinux.com-20120609154522-htduc8596i18pj93 --- addons/l10n_ca/__openerp__.py | 2 - addons/l10n_ca/account_chart_en.xml | 166 +++--- addons/l10n_ca/account_chart_fr.xml | 174 +++--- addons/l10n_ca/account_tax_code_en.xml | 18 +- addons/l10n_ca/account_tax_code_fr.xml | 16 +- addons/l10n_ca/account_tax_en.xml | 481 +++++++++++++---- addons/l10n_ca/account_tax_fr.xml | 477 +++++++++++++---- addons/l10n_ca/account_types_en.xml | 64 --- addons/l10n_ca/account_types_fr.xml | 79 --- addons/l10n_ca/fiscal_templates_en.xml | 712 +++++++++++++++++-------- addons/l10n_ca/fiscal_templates_fr.xml | 522 +++++++++++++----- 11 files changed, 1828 insertions(+), 883 deletions(-) delete mode 100644 addons/l10n_ca/account_types_en.xml delete mode 100644 addons/l10n_ca/account_types_fr.xml diff --git a/addons/l10n_ca/__openerp__.py b/addons/l10n_ca/__openerp__.py index 800ca7937eb..bd5fe4e6ea0 100644 --- a/addons/l10n_ca/__openerp__.py +++ b/addons/l10n_ca/__openerp__.py @@ -33,13 +33,11 @@ Canadian accounting charts and localizations. "depends" : ['base', 'account', 'base_iban', 'base_vat', 'account_chart'], "init_xml" : [], "update_xml" : [ - 'account_types_en.xml', 'account_chart_en.xml', 'account_tax_code_en.xml', 'account_chart_template_en.xml', 'account_tax_en.xml', 'fiscal_templates_en.xml', - 'account_types_fr.xml', 'account_chart_fr.xml', 'account_tax_code_fr.xml', 'account_chart_template_fr.xml', diff --git a/addons/l10n_ca/account_chart_en.xml b/addons/l10n_ca/account_chart_en.xml index 26db0bcef95..14cbc993b2b 100644 --- a/addons/l10n_ca/account_chart_en.xml +++ b/addons/l10n_ca/account_chart_en.xml @@ -8,7 +8,7 @@ Account Chart CA EN view - + @@ -17,7 +17,7 @@ 1 view - + ASSETS @@ -25,7 +25,7 @@ 11 view - + CURRENT ASSETS @@ -33,7 +33,7 @@ 111 view - + CASH @@ -41,7 +41,7 @@ 1111 liquidity - + Checking Account @@ -49,7 +49,7 @@ 112 view - + TREASURY OR TREASURY EQUIVALENTS @@ -57,7 +57,7 @@ 113 view - + CERTIFICATES OF DEPOSITS @@ -65,7 +65,7 @@ 114 view - + STOCKS @@ -73,7 +73,7 @@ 115 view - + ACCOUNTS RECEIVABLES @@ -81,7 +81,7 @@ 1151 receivable - + Customers Account @@ -90,7 +90,7 @@ 1152 view - + ALLOWANCE FOR DOUBTFUL ACCOUNTS @@ -98,7 +98,7 @@ 116 view - + PREPAID EXPENSES @@ -106,7 +106,7 @@ 117 view - + INVESTMENTS HELD FOR TRADING @@ -114,15 +114,15 @@ 118 view - + TAXES RECEIVABLES 1181 - receivable - + other + GST receivable @@ -130,8 +130,8 @@ 1182 - receivable - + other + PST/QST receivable @@ -139,8 +139,8 @@ 1183 - receivable - + other + HST receivable @@ -149,7 +149,7 @@ 15 view - + NON-CURRENT ASSETS @@ -157,7 +157,7 @@ 151 view - + INVESTMENTS AVAILABLE FOR SALE @@ -165,7 +165,7 @@ 152 view - + TANGIBLE ASSETS @@ -173,7 +173,7 @@ 1527 view - + ACCUMULATED DEPRECIATIONS @@ -181,7 +181,7 @@ 153 view - + INTANGIBLE ASSETS @@ -189,7 +189,7 @@ 1531 view - + PATENTS, TRADEMARKS AND COPYRIGHTS @@ -199,7 +199,7 @@ 2 view - + LIABILITIES @@ -207,7 +207,7 @@ 21 view - + CURRENT LIABILITIES @@ -215,7 +215,7 @@ 211 view - + ACCOUNTS PAYABLES @@ -223,7 +223,7 @@ 2111 payable - + Suppliers Account @@ -232,15 +232,15 @@ 212 view - + TAXES PAYABLES 2121 - payable - + other + GST to pay @@ -248,8 +248,8 @@ 2122 - payable - + other + PST/QST to pay @@ -257,8 +257,8 @@ 2123 - payable - + other + HST to pay @@ -267,7 +267,7 @@ 213 view - + CURRENT FINANCIAL DEBTS @@ -275,7 +275,7 @@ 25 view - + NON-CURRENT LIABILITIES @@ -283,7 +283,7 @@ 251 view - + NON-CURRENT FINANCIAL DEBTS @@ -291,7 +291,7 @@ 252 view - + PROVISIONS FOR PENSIONS AND OTHER POST-EMPLOYMENT ADVANTAGES @@ -299,7 +299,7 @@ 253 view - + DEFERRED TAXES @@ -307,7 +307,7 @@ 259 view - + OTHER NON-CURRENT LIABILITIES @@ -317,7 +317,7 @@ 3 view - + EQUITY @@ -325,7 +325,7 @@ 31 view - + SHARE CAPITAL @@ -333,7 +333,7 @@ 32 view - + PREMIUMS @@ -341,7 +341,7 @@ 33 view - + RETAINED EARNINGS @@ -349,7 +349,7 @@ 34 view - + DIVIDENDS @@ -357,7 +357,7 @@ 35 view - + TRANSLATION ADJUSTMENTS @@ -365,7 +365,7 @@ 36 view - + CONTRIBUTED SURPLUS @@ -375,7 +375,7 @@ 4 view - + INCOMES @@ -383,7 +383,7 @@ 41 view - + OPERATING INCOMES @@ -391,7 +391,7 @@ 411 other - + Inside Sales @@ -399,7 +399,7 @@ 412 other - + Harmonized Provinces Sales @@ -407,7 +407,7 @@ 413 other - + Non-Harmonized Provinces Sales @@ -415,7 +415,7 @@ 414 other - + International Sales @@ -423,7 +423,7 @@ 419 view - + OTHER OPERATING INCOMES @@ -431,7 +431,7 @@ 42 view - + NON-OPERATING INCOMES @@ -439,7 +439,7 @@ 421 view - + INTERESTS @@ -447,7 +447,7 @@ 429 view - + OTHER NON-OPERATING INCOMES @@ -457,7 +457,7 @@ 5 view - + EXPENSES @@ -465,7 +465,7 @@ 51 view - + OPERATING EXPENSES @@ -473,7 +473,7 @@ 511 view - + COST OF GOODS SOLD @@ -481,7 +481,7 @@ 5111 other - + Inside Purchases @@ -489,7 +489,7 @@ 5112 other - + Purchases in harmonized provinces @@ -497,7 +497,7 @@ 5113 other - + Purchases in non-harmonized provinces @@ -505,7 +505,7 @@ 5114 other - + International Purchases @@ -513,7 +513,7 @@ 512 view - + LABOUR EXPENSES @@ -521,7 +521,7 @@ 5121 other - + Salaries, wages and commissions @@ -529,7 +529,7 @@ 5122 other - + Holidays @@ -537,7 +537,7 @@ 5123 other - + Employment Insurance @@ -545,7 +545,7 @@ 5124 other - + Health Services Fund @@ -553,7 +553,7 @@ 5125 other - + Annuities @@ -561,7 +561,7 @@ 5126 other - + Parental Insurance @@ -569,7 +569,7 @@ 5127 other - + Labour Health and Safety @@ -577,7 +577,7 @@ 5128 other - + Labour Standards @@ -585,7 +585,7 @@ 513 view - + SALES EXPENSES @@ -593,7 +593,7 @@ 514 view - + GENERAL EXPENSES @@ -601,7 +601,7 @@ 515 view - + RESEARCH AND DEVELOPMENT EXPENSES @@ -609,7 +609,7 @@ 519 view - + OTHER OPERATING EXPENSES @@ -617,7 +617,7 @@ 55 view - + NON-OPERATING EXPENSES @@ -625,7 +625,7 @@ 551 view - + INTEREST EXPENSES @@ -633,7 +633,7 @@ 559 view - + OTHER NON-OPERATING EXPENSES diff --git a/addons/l10n_ca/account_chart_fr.xml b/addons/l10n_ca/account_chart_fr.xml index b66dd5f02ba..e50ac7ff4dc 100644 --- a/addons/l10n_ca/account_chart_fr.xml +++ b/addons/l10n_ca/account_chart_fr.xml @@ -6,7 +6,7 @@ 0 view - + Account Chart CA FR @@ -16,7 +16,7 @@ 1 view - + ACTIF @@ -24,7 +24,7 @@ 11 view - + ACTIFS COURANTS @@ -32,7 +32,7 @@ 111 view - + ENCAISSE @@ -40,7 +40,7 @@ 1111 liquidity - + Compte chèque @@ -48,7 +48,7 @@ 1112 liquidity - + Petite caisse @@ -56,7 +56,7 @@ 112 view - + TRÉSORERIE OU ÉQUIVALENTS DE TRÉSORERIE @@ -64,7 +64,7 @@ 113 view - + CERTIFICATS DE DÉPÔTS @@ -72,7 +72,7 @@ 114 view - + STOCKS @@ -80,7 +80,7 @@ 115 view - + COMPTES CLIENTS @@ -88,7 +88,7 @@ 1151 receivable - + Comptes clients @@ -97,7 +97,7 @@ 1152 view - + PROVISION POUR CRÉANCES DOUTEUSES @@ -105,7 +105,7 @@ 116 view - + FRAIS PAYÉS D'AVANCE @@ -113,7 +113,7 @@ 117 view - + PLACEMENTS DÉTENUS À DES FINS DE TRANSACTION @@ -121,15 +121,15 @@ 118 view - + IMPÔTS À RECEVOIR 1181 - receivable - + other + TPS à recevoir @@ -137,8 +137,8 @@ 1182 - receivable - + other + TVP/TVQ à recevoir @@ -146,8 +146,8 @@ 1183 - receivable - + other + TVH à recevoir @@ -156,7 +156,7 @@ 15 view - + ACTIFS NON-COURANTS @@ -164,7 +164,7 @@ 151 view - + PLACEMENTS DISPONIBLES À LA VENTE @@ -172,7 +172,7 @@ 152 view - + IMMOBILISATIONS CORPORELLES @@ -180,7 +180,7 @@ 1527 view - + AMORTISSEMENTS CUMULÉS @@ -188,7 +188,7 @@ 153 view - + IMMOBILISATIONS INCORPORELLES @@ -196,7 +196,7 @@ 1531 view - + BREVETS, MARQUES DE COMMERCE ET DROITS D'AUTEURS @@ -206,7 +206,7 @@ 2 view - + PASSIF @@ -214,7 +214,7 @@ 21 view - + PASSIFS COURANTS @@ -222,7 +222,7 @@ 211 view - + FOURNISSEURS ET COMPTES RATTACHÉS @@ -230,7 +230,7 @@ 2111 payable - + Comptes fournisseurs @@ -239,7 +239,7 @@ 212 view - + AUTRES COMPTES CRÉDITEURS @@ -247,15 +247,15 @@ 213 view - + IMPÔTS À PAYER 2131 - payable - + other + TPS à payer @@ -263,8 +263,8 @@ 2132 - payable - + other + TVP/TVQ à payer @@ -272,8 +272,8 @@ 2133 - payable - + other + TVH à payer @@ -282,7 +282,7 @@ 214 view - + DETTES FINANCIÈRES COURANTES @@ -290,7 +290,7 @@ 215 view - + PASSIFS LIÉS AUX ACTIFS DÉTENUS EN VUE DE LEUR CESSION @@ -298,7 +298,7 @@ 25 view - + PASSIFS NON-COURANTS @@ -306,7 +306,7 @@ 251 view - + DETTES FINANCIÈRES NON-COURANTES @@ -314,7 +314,7 @@ 252 view - + PROVISIONS POUR RETRAITES ET AUTRES AVANTAGES POSTÉRIEURS À L'EMPLOI @@ -322,7 +322,7 @@ 253 view - + IMPÔTS DIFFÉRÉS @@ -330,7 +330,7 @@ 254 view - + AUTRES PASSIFS NON-COURANTS @@ -340,7 +340,7 @@ 3 view - + CAPITAUX PROPRES @@ -348,7 +348,7 @@ 31 view - + CAPITAL-ACTIONS @@ -356,7 +356,7 @@ 32 view - + PRIMES @@ -364,7 +364,7 @@ 33 view - + BÉNÉFICES NON RÉPARTIS @@ -372,7 +372,7 @@ 34 view - + DIVIDENDES @@ -380,7 +380,7 @@ 35 view - + ÉCARTS DE CONVERSION @@ -388,7 +388,7 @@ 36 view - + SURPLUS D'APPORT @@ -396,7 +396,7 @@ 39 view - + AUTRES ÉLÉMENTS DU RÉSULTAT GLOBAL @@ -406,7 +406,7 @@ 4 view - + PRODUITS @@ -414,7 +414,7 @@ 41 view - + PRODUITS D'EXPLOITATION @@ -422,7 +422,7 @@ 411 other - + Ventes @@ -430,7 +430,7 @@ 412 other - + Ventes avec des provinces harmonisées @@ -438,7 +438,7 @@ 413 other - + Ventes avec des provinces non-harmonisées @@ -446,7 +446,7 @@ 414 other - + Ventes à l'étranger @@ -454,7 +454,7 @@ 419 view - + AUTRES PRODUITS D'EXPLOITATION @@ -462,7 +462,7 @@ 42 view - + PRODUITS NON LIÉS À L'EXPLOITATION @@ -470,7 +470,7 @@ 425 view - + INTÉRÊTS @@ -478,7 +478,7 @@ 429 view - + AUTRES PRODUITS NON LIÉS À L'EXPLOITATION @@ -488,7 +488,7 @@ 5 view - + CHARGES @@ -496,7 +496,7 @@ 51 view - + CHARGES D'EXPLOITATION @@ -504,7 +504,7 @@ 511 view - + COÛT DES PRODUITS VENDUS @@ -512,7 +512,7 @@ 5111 other - + Achats @@ -520,7 +520,7 @@ 5112 other - + Achats dans des provinces harmonisées @@ -528,7 +528,7 @@ 5113 other - + Achats dans des provinces non-harmonisées @@ -536,7 +536,7 @@ 5114 other - + Achats à l'étranger @@ -544,7 +544,7 @@ 512 view - + SALAIRES ET CHARGES SOCIALES @@ -552,7 +552,7 @@ 51201 other - + Salaires @@ -560,7 +560,7 @@ 51202 other - + Vacances @@ -568,7 +568,7 @@ 51203 other - + Assurance Emploi @@ -576,7 +576,7 @@ 51204 other - + Fonds des services de santé @@ -584,7 +584,7 @@ 51205 other - + Rentes @@ -592,7 +592,7 @@ 51206 other - + Assurance parental @@ -600,7 +600,7 @@ 51207 other - + Santé et sécurité au travail @@ -608,7 +608,7 @@ 51208 other - + Normes du travail @@ -616,7 +616,7 @@ 513 view - + FRAIS SUR VENTE @@ -624,7 +624,7 @@ 514 view - + FRAIS GÉNÉRAUX @@ -632,7 +632,7 @@ 515 view - + FRAIS DE RECHERCHE ET DÉVELOPPEMENT @@ -640,7 +640,7 @@ 519 view - + AUTRES FRAIS D'EXPLOITATION @@ -648,7 +648,7 @@ 52 view - + FRAIS NON LIÉS À L'EXPLOITATION @@ -656,7 +656,7 @@ 521 view - + INTÉRÊTS DÉBITEURS @@ -664,7 +664,7 @@ 529 view - + AUTRES FRAIS NON LIÉS À L'EXPLOITATION diff --git a/addons/l10n_ca/account_tax_code_en.xml b/addons/l10n_ca/account_tax_code_en.xml index 2fe144d6086..bb628a39f15 100644 --- a/addons/l10n_ca/account_tax_code_en.xml +++ b/addons/l10n_ca/account_tax_code_en.xml @@ -7,47 +7,47 @@ - Tax Balance to Pay + Tax Balance - Receivable Taxes + Taxes paid - GST to Receive + GST paid - PST to Receive + PST paid - HST to Receive + HST paid - Payable Taxes + Taxes received - GST to Pay + GST received - PST to Pay + PST received - HST to Pay + HST received diff --git a/addons/l10n_ca/account_tax_code_fr.xml b/addons/l10n_ca/account_tax_code_fr.xml index 849842b2453..d8abf73dd93 100644 --- a/addons/l10n_ca/account_tax_code_fr.xml +++ b/addons/l10n_ca/account_tax_code_fr.xml @@ -12,42 +12,42 @@ - Taxes à recevoir + Taxes payées - TPS à recevoir + TPS payée - TVP/TVQ à recevoir + TVP/TVQ payée - TVH à recevoir + TVH payée - Taxes à payer + Taxes reçues - TPS à payer + TPS reçue - TVP/TVQ à payer + TVP/TVQ reçue - TVH à payer + TVH reçue diff --git a/addons/l10n_ca/account_tax_en.xml b/addons/l10n_ca/account_tax_en.xml index 662ac4b52fc..f185f7f9198 100644 --- a/addons/l10n_ca/account_tax_en.xml +++ b/addons/l10n_ca/account_tax_en.xml @@ -2,263 +2,544 @@ + + - + - GST + PST (MB) - GSTPST_MB + GST + PST for sales (MB) + GSTPST_MB_SALE + sale 1 1 percent - + - GST - 5% (MB) + GST for sales - 5% (MB) GST + sale 0.050000 percent 1 - + - - + + - + - + - PST - 7% + PST for sales - 7% PST - 0.070000 + sale + 0.700000 percent - 1 - + 2 + - - + + - + - + - GST + PST (PE) - GSTPST_PE + GST + PST for sales (PE) + GSTPST_PE_SALE + sale 1 1 percent - + - GST - 5% (PE) + GST for sales - 5% (PE) GST + sale 0.050000 percent 1 - + - - + + - + - + - PST - 10% + PST for sale - 10% PST + sale 0.100000 percent - 1 - + 2 + - - + + - + - + - GST + PST (QC) - GSTPST_QC + GST + TVQ for sales + GSTTVQ_SALE + sale 1 1 percent - + - GST - 5% (QC) + GST for sales - 5% (QC) GST + sale 0.050000 percent 1 - + - - + + - + - + - PST - 9.5% - PST + TVQ for sales - 9.5% + TVQ + sale 0.095000 percent - 1 - + 2 + - - + + - + - + - GST + PST (SK) - GSTPST_SK + GST + PST for sales (SK) + GSTPST_SK_SALE + sale 1 1 percent - + - GST - 5% (SK) + GST for sales - 5% (SK) GST + sale 0.050000 percent 1 - + - - + + - + - + - PST - 5% + PST for sales - 5% (SK) PST + sale 0.050000 percent - 1 - + 2 + - - + + - + - + - HST - 12% - HST12 + TVH for sales - 12% + TVH12_SALE + sale 0.120000 percent - + - - + + - + - HST - 13% - HST13 + TVH for sales - 13% + TVH13_SALE + sale 0.130000 percent - + - - + + - + - HST - 13.5% - HST135 + TVH for sales - 13.5% + TVH135_SALE + sale 0.135000 percent - + - - + + - + - HST - 15% - HST15 + TVH for sales - 15% + TVH15_SALE + sale 0.150000 percent - + - - + + - + - GST - 5% - GST + GST for sales - 5% + GST_SALE + sale 0.050000 percent - + - - + + - + + + + + + - No tax - No tax - 0.00 + GST + PST for purchases (MB) + GSTPST_MB_PURC + purchase + 1 + 1 percent + + + GST for purchases - 5% (MB) + GST + purchase + 0.050000 + percent + 1 + + + + + + + + + + + + + PST for purchases - 7% + PST + purchase + 0.700000 + percent + 2 + + + + + + + + + + + + + + GST + PST for purchases (PE) + GSTPST_PE_PURC + purchase + 1 + 1 + percent + + + + + GST for purchases - 5% (PE) + GST + purchase + 0.050000 + percent + 1 + + + + + + + + + + + + + PST for purchases - 10% + PST + purchase + 0.100000 + percent + 2 + + + + + + + + + + + + + + GST + TVQ for purchases + GSTTVQ_PURC + purchase + 1 + 1 + percent + + + + + GST for purchases - 5% (QC) + GST + purchase + 0.050000 + percent + 1 + + + + + + + + + + + + + TVQ for purchases - 9.5% + TVQ + purchase + 0.095000 + percent + 2 + + + + + + + + + + + + + + GST + PST for purchases (SK) + GSTPST_SK_PURC + purchase + 1 + 1 + percent + + + + + GST for purchases - 5% (SK) + GST + purchase + 0.050000 + percent + 1 + + + + + + + + + + + + + PST for purchases - 5% (SK) + PST + purchase + 0.050000 + percent + 2 + + + + + + + + + + + + + + TVH for purchases - 12% + TVH12_PURC + purchase + 0.120000 + percent + + + + + + + + + + + TVH for purchases - 13% + TVH13_PURC + purchase + 0.130000 + percent + + + + + + + + + + + TVH for purchases - 13.5% + TVH135_PURC + purchase + 0.135000 + percent + + + + + + + + + + + TVH for purchases - 15% + TVH15_PURC + purchase + 0.150000 + percent + + + + + + + + + + + + + GST for purchases - 5% + GST_PURC + purchase + 0.050000 + percent + + + + + + + + diff --git a/addons/l10n_ca/account_tax_fr.xml b/addons/l10n_ca/account_tax_fr.xml index 5df4446c611..169bfe4f20b 100644 --- a/addons/l10n_ca/account_tax_fr.xml +++ b/addons/l10n_ca/account_tax_fr.xml @@ -2,263 +2,544 @@ + + - + - TPS + TVP (MB) - TPSTVP_MB + TPS + TVP sur les ventes (MB) + TPSTVP_MB_SALE + sale 1 1 percent - + - TPS - 5% (MB) + TPS sur les ventes - 5% (MB) TPS + sale 0.050000 percent 1 - + - - + + - + - + - TVP - 7% + TVP sur les ventes - 7% TVP + sale 0.700000 percent - 1 - + 2 + - - + + - + - + - TPS + TVP (PE) - TPSTVP_PE + TPS + TVP sur les ventes (PE) + TPSTVP_PE_SALE + sale 1 1 percent - + - TPS - 5% (PE) + TPS sur les ventes - 5% (PE) TPS + sale 0.050000 percent 1 - + - - + + - + - + - TVP - 10% + TVP for sale - 10% TVP + sale 0.100000 percent - 1 - + 2 + - - + + - + - + - TPS + TVQ - TPSTVQ + TPS + TVQ sur les ventes + TPSTVQ_SALE + sale 1 1 percent - + - TPS - 5% (QC) + TPS sur les ventes - 5% (QC) TPS + sale 0.050000 percent 1 - + - - + + - + - + - TVQ - 9.5% + TVQ sur les ventes - 9.5% TVQ + sale 0.095000 percent - 1 - + 2 + - - + + - + - + - TPS + TVP (SK) - TPSTVP_SK + TPS + TVP sur les ventes (SK) + TPSTVP_SK_SALE + sale 1 1 percent - + - TPS - 5% (SK) + TPS sur les ventes - 5% (SK) TPS + sale 0.050000 percent 1 - + - - + + - + - + - TVP - 5% (SK) + TVP sur les ventes - 5% (SK) TVP + sale 0.050000 percent - 1 - + 2 + - - + + - + - + - TVH - 12% - TVH12 + TVH sur les ventes - 12% + TVH12_SALE + sale 0.120000 percent - + - - + + - + - TVH - 13% - TVH13 + TVH sur les ventes - 13% + TVH13_SALE + sale 0.130000 percent - + - - + + - + - TVH - 13.5% - TVH135 + TVH sur les ventes - 13.5% + TVH135_SALE + sale 0.135000 percent - + - - + + - + - TVH - 15% - TVH15 + TVH sur les ventes - 15% + TVH15_SALE + sale 0.150000 percent - + - - + + - + - TPS - 5% - TPS + TPS sur les ventes - 5% + TPS_SALE + sale 0.050000 percent - + - - + + - + + + + + + - Pas de taxes - Pas de taxes - 0.00 + TPS + TVP sur les achats (MB) + TPSTVP_MB_PURC + purchase + 1 + 1 percent + + + TPS sur les achats - 5% (MB) + TPS + purchase + 0.050000 + percent + 1 + + + + + + + + + + + + + TVP sur les achats - 7% + TVP + purchase + 0.700000 + percent + 2 + + + + + + + + + + + + + + TPS + TVP sur les achats (PE) + TPSTVP_PE_PURC + purchase + 1 + 1 + percent + + + + + TPS sur les achats - 5% (PE) + TPS + purchase + 0.050000 + percent + 1 + + + + + + + + + + + + + TVP sur les achats - 10% + TVP + purchase + 0.100000 + percent + 2 + + + + + + + + + + + + + + TPS + TVQ sur les achats + TPSTVQ_PURC + purchase + 1 + 1 + percent + + + + + TPS sur les achats - 5% (QC) + TPS + purchase + 0.050000 + percent + 1 + + + + + + + + + + + + + TVQ sur les achats - 9.5% + TVQ + purchase + 0.095000 + percent + 2 + + + + + + + + + + + + + + TPS + TVP sur les achats (SK) + TPSTVP_SK_PURC + purchase + 1 + 1 + percent + + + + + TPS sur les achats - 5% (SK) + TPS + purchase + 0.050000 + percent + 1 + + + + + + + + + + + + + TVP sur les achats - 5% (SK) + TVP + purchase + 0.050000 + percent + 2 + + + + + + + + + + + + + + TVH sur les achats - 12% + TVH12_PURC + purchase + 0.120000 + percent + + + + + + + + + + + TVH sur les achats - 13% + TVH13_PURC + purchase + 0.130000 + percent + + + + + + + + + + + TVH sur les achats - 13.5% + TVH135_PURC + purchase + 0.135000 + percent + + + + + + + + + + + TVH sur les achats - 15% + TVH15_PURC + purchase + 0.150000 + percent + + + + + + + + + + + + + TPS sur les achats - 5% + TPS_PURC + purchase + 0.050000 + percent + + + + + + + + diff --git a/addons/l10n_ca/account_types_en.xml b/addons/l10n_ca/account_types_en.xml deleted file mode 100644 index 1af3fd92205..00000000000 --- a/addons/l10n_ca/account_types_en.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - Receivable - receivable - unreconciled - - - - Payable - payable - unreconciled - - - - View - view - none - - - - Income - income - none - income - - - - Expense - expense - none - expense - - - - Tax - tax - unreconciled - - - - Cash - cash - balance - - - - Asset - asset - balance - asset - - - - Equity - equity - liability - balance - - - - diff --git a/addons/l10n_ca/account_types_fr.xml b/addons/l10n_ca/account_types_fr.xml deleted file mode 100644 index cff6c01e6f2..00000000000 --- a/addons/l10n_ca/account_types_fr.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - - - Vue - view - none - - - - Capital - capital - asset - balance - - - - Immobilisation - immo - asset - balance - - - - Stock et Encours - stock - asset - balance - - - - Tiers - tiers - balance - - - - Tiers - Recevable - tiers -rec - asset - unreconciled - - - - Tiers - Payable - tiers - pay - liability - unreconciled - - - - Tax - tax - unreconciled - - - - Financier - financier - balance - - - - Charge - charge - expense - none - - - - Produit - produit - income - none - - - - diff --git a/addons/l10n_ca/fiscal_templates_en.xml b/addons/l10n_ca/fiscal_templates_en.xml index d7b6a3ee7da..54f9c21b5e1 100644 --- a/addons/l10n_ca/fiscal_templates_en.xml +++ b/addons/l10n_ca/fiscal_templates_en.xml @@ -39,354 +39,618 @@ + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - - + + + + + + + + + - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - + + + + + + - - - - - - + + + + - - - - + + + + - - - - + + + + - - - - + + + - - - - + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/addons/l10n_ca/fiscal_templates_fr.xml b/addons/l10n_ca/fiscal_templates_fr.xml index 2ce50e5d6e1..0acd7388a52 100644 --- a/addons/l10n_ca/fiscal_templates_fr.xml +++ b/addons/l10n_ca/fiscal_templates_fr.xml @@ -39,278 +39,542 @@ + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 0fee0cea0079a57d362a5752cf3499a28c58bc43 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 08:45:23 +0200 Subject: [PATCH 002/893] [ADD] backbone-ification of Widgets API bzr revid: xmo@openerp.com-20120611064523-gczdqmfes5f1g9kj --- addons/web/static/src/js/corelib.js | 177 ++++++++++++++++++++++------ 1 file changed, 143 insertions(+), 34 deletions(-) diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index 94c748f839c..8455a183f87 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -238,6 +238,20 @@ instance.web.ParentedMixin = { } }; +/** + * Utility function for APIs which can take either a value or a function which + * returns a value + * + * @param {Object} object + * @param {String} property + * @returns {Object} + */ +var getValue = function (object, property) { + if (object == null) { return null; } + var value = object[property]; + return _.isFunction(value) ? value.call(object) : value; +}; + /** * Backbone's events. Do not ever use it directly, use EventDispatcherMixin instead. * @@ -490,23 +504,19 @@ instance.web.CallbackEnabledMixin = _.extend({}, instance.web.PropertiesMixin, { * * The semantics of this precisely replace closing over the method call. * - * @param {String} method_name name of the method to invoke + * @param {String|Function} method function or name of the method to invoke * @returns {Function} proxied method */ - proxy: function (method_name) { + proxy: function (method) { var self = this; return function () { - return self[method_name].apply(self, arguments); + var fn = (method instanceof String) ? self[method] : method; + return fn.apply(self, arguments); } } }); instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { - /** - * Tag name when creating a default $element. - * @type string - */ - tagName: 'div', /** * Constructs the widget and sets its parent if a parent is given. * @@ -516,14 +526,9 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { * @param {instance.web.Widget} parent Binds the current instance to the given Widget instance. * When that widget is destroyed by calling destroy(), the current instance will be * destroyed too. Can be null. - * @param {String} element_id Deprecated. Sets the element_id. Only useful when you want - * to bind the current Widget to an already existing part of the DOM, which is not compatible - * with the DOM insertion methods provided by the current implementation of Widget. So - * for new components this argument should not be provided any more. */ init: function(parent) { instance.web.CallbackEnabledMixin.init.call(this); - this.$element = $(document.createElement(this.tagName)); this.setParent(parent); }, /** @@ -533,8 +538,8 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { _.each(this.getChildren(), function(el) { el.destroy(); }); - if(this.$element != null) { - this.$element.remove(); + if(this.$el) { + this.$el.remove(); } instance.web.PropertiesMixin.destroy.call(this); }, @@ -546,7 +551,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { appendTo: function(target) { var self = this; return this.__widgetRenderAndInsert(function(t) { - self.$element.appendTo(t); + self.$el.appendTo(t); }, target); }, /** @@ -557,7 +562,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { prependTo: function(target) { var self = this; return this.__widgetRenderAndInsert(function(t) { - self.$element.prependTo(t); + self.$el.prependTo(t); }, target); }, /** @@ -568,7 +573,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { insertAfter: function(target) { var self = this; return this.__widgetRenderAndInsert(function(t) { - self.$element.insertAfter(t); + self.$el.insertAfter(t); }, target); }, /** @@ -579,7 +584,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { insertBefore: function(target) { var self = this; return this.__widgetRenderAndInsert(function(t) { - self.$element.insertBefore(t); + self.$el.insertBefore(t); }, target); }, /** @@ -589,7 +594,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { */ replace: function(target) { return this.__widgetRenderAndInsert(_.bind(function(t) { - this.$element.replaceAll(t); + this.$el.replaceAll(t); }, this), target); }, __widgetRenderAndInsert: function(insertion, target) { @@ -612,6 +617,7 @@ instance.web.WidgetMixin = _.extend({},instance.web.CallbackEnabledMixin, { * @returns {jQuery.Deferred} */ start: function() { + return $.when(); } }); @@ -688,12 +694,9 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, { * @param {instance.web.Widget} parent Binds the current instance to the given Widget instance. * When that widget is destroyed by calling destroy(), the current instance will be * destroyed too. Can be null. - * @param {String} element_id Deprecated. Sets the element_id. Only useful when you want - * to bind the current Widget to an already existing part of the DOM, which is not compatible - * with the DOM insertion methods provided by the current implementation of Widget. So - * for new components this argument should not be provided any more. */ init: function(parent) { + this._uid = _.uniqueId('-widget-'); instance.web.WidgetMixin.init.call(this,parent); this.session = instance.connection; }, @@ -703,20 +706,126 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, { * key that references `this`. */ renderElement: function() { - var rendered = null; - if (this.template) - rendered = instance.web.qweb.render(this.template, {widget: this}); - if (_.str.trim(rendered)) { - var elem = $(rendered); - this.$element.replaceWith(elem); - this.$element = elem; + var $el; + if (this.template) { + $el = $(_.str.trim(instance.web.qweb.render( + this.template, {widget: this}))); + } else { + var attrs = _.extend({}, getValue(this, 'attributes') || {}); + if (this.id) { attrs.id = this.id; } + if (this.className) { attrs['class'] = this.className; } + $el = $(this.make(this.tagName, attrs)) + } + this.setElement($el); + }, + + /** + * Re-sets the widget's root element (el/$el/$element). + * + * Includes: + * * re-delegating events + * * re-binding sub-elements + * * if the widget already had a root element, replacing the pre-existing + * element in the DOM + * + * @param {HTMLElement | jQuery} element new root element for the widget + * @return {*} + */ + setElement: function (element) { + if (this.$el) { + this.undelegateEvents(); + this.unbindElements(); + this.$el.replaceWith(element); + } + + this.$element = this.$el = (element instanceof $) ? element : $(element); + this.el = this.$el[0]; + + this.bindElements(); + this.delegateEvents(); + + return this; + }, + + // Backbone-ish API + tagName: 'div', + id: null, + className: null, + attributes: {}, + /** + * Utility function to build small DOM elements. + * + * @param {String} tagName name of the DOM element to create + * @param {Object} [attributes] map of DOM attributes to set on the element + * @param {String} [content] HTML content to set on the element + * @return {Element} + */ + make: function (tagName, attributes, content) { + var el = document.createElement(tagName); + if (attributes) { + $(el).attrs(attributes); + } + if (content) { + $(el).html(content); + } + return el; + }, + events: {}, + delegateEvents: function () { + var events = getValue(this, 'events'); + if (_.isEmpty(events)) { return; } + + for(var key in events) { + if (!events.hasOwnProperty(key)) { continue; } + + var method = this.proxy(events[key]); + + var match = /^(\S+)(\s+(.*))?$/.exec(key); + var event = match[1]; + var selector = match[3]; + + // add namespace for easy un-delegation + event += '.delegated-events' + this._uid; + if (!selector) { + this.$el.on(event, method); + } else { + this.$el.on(event, selector, method); + } + } + }, + undelegateEvents: function () { + this.$el.off('.delegated-events' + this._uid); + }, + elements: {}, + bindElements: function () { + var elements = getValue(this, 'elements'); + if (_.isEmpty(elements)) { return; } + + for (var selector in elements) { + if (!elements.hasOwnProperty(selector)) { continue; } + + // TODO: ensure at least one element matched? + this[elements[selector]] = this.$(selector); + } + }, + unbindElements: function () { + var elements = getValue(this, 'elements'); + if (_.isEmpty(elements)) { return; } + + for (var selector in elements) { + if (!elements.hasOwnProperty(selector)) { continue; } + + delete this[elements[selector]]; } }, /** - * Shortcut for $element.find() like backbone + * Shortcut for ``this.$el.find(selector)`` + * + * @param {String} selector CSS selector, rooted in $el + * @returns {jQuery} selector match */ - "$": function() { - return this.$element.find.apply(this.$element,arguments); + $: function(selector) { + return this.$el.find(selector); }, /** * Informs the action manager to do an action. This supposes that From 459eb54d77f8fce5cce460d56c74121fe8125275 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 10:50:19 +0200 Subject: [PATCH 003/893] [FIX] broken unit tests bzr revid: xmo@openerp.com-20120611085019-z16aggfnuovgh1p4 --- addons/web/static/src/xml/base.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 3764395dc13..7bbc1884beb 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1409,10 +1409,10 @@ -
+
-
+

M Custom Filters

    From 26ec50e0603561128a5470f871d9ea487ed95560 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 11:18:03 +0200 Subject: [PATCH 004/893] [FIX] bug in new 'proxy' implementation revealed by searchview tests bzr revid: xmo@openerp.com-20120611091803-kzo5j5t8p82gwr6i --- addons/web/static/src/js/corelib.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index 8455a183f87..61464a58930 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -510,7 +510,7 @@ instance.web.CallbackEnabledMixin = _.extend({}, instance.web.PropertiesMixin, { proxy: function (method) { var self = this; return function () { - var fn = (method instanceof String) ? self[method] : method; + var fn = (typeof method === 'string') ? self[method] : method; return fn.apply(self, arguments); } } From 5c701e2b1d8070e49f0dc247f1b649f19ebc7751 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 11:18:20 +0200 Subject: [PATCH 005/893] [FIX] behavior of OldWidget for new Widget implementation bzr revid: xmo@openerp.com-20120611091820-m5gm67psqeh1xxx8 --- addons/web/static/src/js/coresetup.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/js/coresetup.js b/addons/web/static/src/js/coresetup.js index 4defde54a3c..d419c7ac3c1 100644 --- a/addons/web/static/src/js/coresetup.js +++ b/addons/web/static/src/js/coresetup.js @@ -19,15 +19,15 @@ instance.web.OldWidget = instance.web.Widget.extend({ this._super(parent); this.element_id = element_id; this.element_id = this.element_id || _.uniqueId('widget-'); + var tmp = document.getElementById(this.element_id); - this.$element = tmp ? $(tmp) : $(document.createElement(this.tagName)); + this.setElement(tmp || this.make(this.tagName)); }, renderElement: function() { var rendered = this.render(); if (rendered) { - var elem = $(rendered); - this.$element.replaceWith(elem); - this.$element = elem; + var $el = $(rendered); + this.setElement($el); } return this; }, From 3f1757869c51cadb87d57abbb0392c78cb888bda Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 11:18:57 +0200 Subject: [PATCH 006/893] [IMP] make searchview base widget not inherit from OldWidget anymore bzr revid: xmo@openerp.com-20120611091857-wcpc2oqywoc0gg51 --- addons/web/static/src/js/search.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/search.js b/addons/web/static/src/js/search.js index 85521a14651..22649197317 100644 --- a/addons/web/static/src/js/search.js +++ b/addons/web/static/src/js/search.js @@ -886,13 +886,13 @@ instance.web.search.Invalid = instance.web.Class.extend( /** @lends instance.web ); } }); -instance.web.search.Widget = instance.web.OldWidget.extend( /** @lends instance.web.search.Widget# */{ +instance.web.search.Widget = instance.web.Widget.extend( /** @lends instance.web.search.Widget# */{ template: null, /** * Root class of all search widgets * * @constructs instance.web.search.Widget - * @extends instance.web.OldWidget + * @extends instance.web.Widget * * @param view the ancestor view of this widget */ From 772bed66f33f16886ac0211cda6bd34ba05e4e3d Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 11:48:40 +0200 Subject: [PATCH 007/893] [TEST] Widget#proxy, with both String and Function arguments bzr revid: xmo@openerp.com-20120611094840-mtilgirzwlhkl2qc --- addons/web/static/test/Widget.js | 67 ++++++++++++++++++++++++++++++++ addons/web/static/test/test.html | 1 + 2 files changed, 68 insertions(+) create mode 100644 addons/web/static/test/Widget.js diff --git a/addons/web/static/test/Widget.js b/addons/web/static/test/Widget.js new file mode 100644 index 00000000000..dc86e99b38a --- /dev/null +++ b/addons/web/static/test/Widget.js @@ -0,0 +1,67 @@ +$(document).ready(function () { + var $fix = $('#qunit-fixture'); + var mod = { + setup: function () { + instance = window.openerp.init([]); + window.openerp.web.corelib(instance); + } + }; + var instance; + + module('Widget.proxy', mod); + test('(String)', function () { + var W = instance.web.Widget.extend({ + exec: function () { + this.executed = true; + } + }); + var w = new W; + var fn = w.proxy('exec'); + fn(); + ok(w.executed, 'should execute the named method in the right context'); + }); + test('(String)(*args)', function () { + var W = instance.web.Widget.extend({ + exec: function (arg) { + this.executed = arg; + } + }); + var w = new W; + var fn = w.proxy('exec'); + fn(42); + ok(w.executed, "should execute the named method in the right context"); + equal(w.executed, 42, "should be passed the proxy's arguments"); + }); + test('(String), include', function () { + // the proxy function should handle methods being changed on the class + // and should always proxy "by name", to the most recent one + var W = instance.web.Widget.extend({ + exec: function () { + this.executed = 1; + } + }); + var w = new W; + var fn = w.proxy('exec'); + W.include({ + exec: function () { this.executed = 2; } + }); + + fn(); + equal(w.executed, 2, "should be lazily resolved"); + }); + + test('(Function)', function () { + var w = new (instance.web.Widget.extend({ })); + + var fn = w.proxy(function () { this.executed = true; }); + fn(); + ok(w.executed, "should set the function's context (like Function#bind)"); + }); + test('(Function)(*args)', function () { + var w = new (instance.web.Widget.extend({ })); + + var fn = w.proxy(function (arg) { this.executed = arg; }); + fn(42); + equal(w.executed, 42, "should be passed the proxy's arguments"); + }); +}); diff --git a/addons/web/static/test/test.html b/addons/web/static/test/test.html index e352f63c17c..dd0d08a4986 100644 --- a/addons/web/static/test/test.html +++ b/addons/web/static/test/test.html @@ -55,4 +55,5 @@ + From a0c5057dbacef8e8f1841245c58ad4f52da57ef9 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 13:32:38 +0200 Subject: [PATCH 008/893] [TEST] Widget#renderElement with no template specified, fix Widget#make's handling of attributes bzr revid: xmo@openerp.com-20120611113238-wz516g9tl0xp1igd --- addons/web/static/src/js/corelib.js | 4 +- addons/web/static/test/Widget.js | 68 +++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+), 2 deletions(-) diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index 61464a58930..83586ec57d4 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -762,8 +762,8 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, { */ make: function (tagName, attributes, content) { var el = document.createElement(tagName); - if (attributes) { - $(el).attrs(attributes); + if (!_.isEmpty(attributes)) { + $(el).attr(attributes); } if (content) { $(el).html(content); diff --git a/addons/web/static/test/Widget.js b/addons/web/static/test/Widget.js index dc86e99b38a..51a5182845d 100644 --- a/addons/web/static/test/Widget.js +++ b/addons/web/static/test/Widget.js @@ -64,4 +64,72 @@ $(document).ready(function () { fn(42); equal(w.executed, 42, "should be passed the proxy's arguments"); }); + + module('Widget.renderElement', mod); + test('no template, default', function () { + var w = new (instance.web.Widget.extend({ })); + + ok(!w.$el, "should not initially have a root element"); + w.renderElement(); + ok(w.$el, "should have generated a root element"); + strictEqual(w.$element, w.$el, "should provide $element alias"); + ok(w.$el.is(w.el), "should provide raw DOM alias"); + + equal(w.el.nodeName, 'DIV', "should have generated the default element"); + equal(w.el.attributes.length, 0, "should not have generated any attribute"); + ok(_.isEmpty(w.$el.html(), "should not have generated any content")); + }); + test('no template, custom tag', function () { + var w = new (instance.web.Widget.extend({ + tagName: 'ul' + })); + w.renderElement(); + + equal(w.el.nodeName, 'UL', "should have generated the custom element tag"); + }); + test('no template, @id', function () { + var w = new (instance.web.Widget.extend({ + id: 'foo' + })); + w.renderElement(); + + equal(w.el.attributes.length, 1, "should have one attribute"); + equal(w.$el.attr('id'), 'foo', "should have generated the id attribute"); + equal(w.el.id, 'foo', "should also be available via property"); + }); + test('no template, @className', function () { + var w = new (instance.web.Widget.extend({ + className: 'oe_some_class' + })); + w.renderElement(); + + equal(w.el.className, 'oe_some_class', "should have the right property"); + equal(w.$el.attr('class'), 'oe_some_class', "should have the right attribute"); + }); + test('no template, bunch of attributes', function () { + var w = new (instance.web.Widget.extend({ + attributes: { + 'id': 'some_id', + 'class': 'some_class', + 'data-foo': 'data attribute', + 'clark': 'gable', + 'spoiler': 'snape kills dumbledore' + } + })); + w.renderElement(); + + equal(w.el.attributes.length, 5, "should have all the specified attributes"); + + equal(w.el.id, 'some_id'); + equal(w.$el.attr('id'), 'some_id'); + + equal(w.el.className, 'some_class'); + equal(w.$el.attr('class'), 'some_class'); + + equal(w.$el.attr('data-foo'), 'data attribute'); + equal(w.$el.data('foo'), 'data attribute'); + + equal(w.$el.attr('clark'), 'gable'); + equal(w.$el.attr('spoiler'), 'snape kills dumbledore'); + }); }); From c531cb96ca2b0dc74ec6f9569eec8ea24c6506a1 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 13:48:49 +0200 Subject: [PATCH 009/893] [TEST] Wisget#renderElement with template bzr revid: xmo@openerp.com-20120611114849-dwk4erae5f1tyc6o --- addons/web/static/test/Widget.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/addons/web/static/test/Widget.js b/addons/web/static/test/Widget.js index 51a5182845d..3a2301e53f8 100644 --- a/addons/web/static/test/Widget.js +++ b/addons/web/static/test/Widget.js @@ -132,4 +132,24 @@ $(document).ready(function () { equal(w.$el.attr('clark'), 'gable'); equal(w.$el.attr('spoiler'), 'snape kills dumbledore'); }); + + test('template', function () { + instance.web.qweb = new QWeb2.Engine(); + instance.web.qweb.add_template('' + + '
      ' + + '
    1. ' + + '' + + '
    2. ' + + '
    ' + + '
    '); + + var w = new (instance.web.Widget.extend({ + template: 'test.widget.template' + })); + w.renderElement(); + + equal(w.el.nodeName, 'OL'); + equal(w.$el.children().length, 5); + equal(w.el.textContent, '01234'); + }); }); From 2a9bd73a83c27e3dfab7e7b6438ad9988930ae39 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 14:08:18 +0200 Subject: [PATCH 010/893] [TEST] Widget#$ shortcut bzr revid: xmo@openerp.com-20120611120818-apsawz6kypnpc5m3 --- addons/web/static/test/Widget.js | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/addons/web/static/test/Widget.js b/addons/web/static/test/Widget.js index 3a2301e53f8..f588d9a258c 100644 --- a/addons/web/static/test/Widget.js +++ b/addons/web/static/test/Widget.js @@ -4,6 +4,15 @@ $(document).ready(function () { setup: function () { instance = window.openerp.init([]); window.openerp.web.corelib(instance); + + instance.web.qweb = new QWeb2.Engine(); + instance.web.qweb.add_template('' + + '
      ' + + '
    1. ' + + '' + + '
    2. ' + + '
    ' + + '
    '); } }; var instance; @@ -134,15 +143,6 @@ $(document).ready(function () { }); test('template', function () { - instance.web.qweb = new QWeb2.Engine(); - instance.web.qweb.add_template('' + - '
      ' + - '
    1. ' + - '' + - '
    2. ' + - '
    ' + - '
    '); - var w = new (instance.web.Widget.extend({ template: 'test.widget.template' })); @@ -152,4 +152,15 @@ $(document).ready(function () { equal(w.$el.children().length, 5); equal(w.el.textContent, '01234'); }); + + module('Widget.$', mod); + test('basic-alias', function () { + var w = new (instance.web.Widget.extend({ + template: 'test.widget.template' + })); + w.renderElement(); + + ok(w.$('li:eq(3)').is(w.$el.find('li:eq(3)')), + "should do the same thing as calling find on the widget root"); + }); }); From c64d8859a01933a89cd5c06df4324d7e11081a4f Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 14:48:24 +0200 Subject: [PATCH 011/893] [TEST] declarative events delegation bzr revid: xmo@openerp.com-20120611124824-w83h6betknrajyte --- addons/web/static/test/Widget.js | 49 +++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/addons/web/static/test/Widget.js b/addons/web/static/test/Widget.js index f588d9a258c..d797120a341 100644 --- a/addons/web/static/test/Widget.js +++ b/addons/web/static/test/Widget.js @@ -8,7 +8,9 @@ $(document).ready(function () { instance.web.qweb = new QWeb2.Engine(); instance.web.qweb.add_template('' + '
      ' + - '
    1. ' + + '
    2. ' + + '' + '' + '
    3. ' + '
    ' + @@ -163,4 +165,49 @@ $(document).ready(function () { ok(w.$('li:eq(3)').is(w.$el.find('li:eq(3)')), "should do the same thing as calling find on the widget root"); }); + + module('Widget.events', mod); + test('delegate', function () { + var a = []; + var w = new (instance.web.Widget.extend({ + template: 'test.widget.template', + events: { + 'click': function () { + a[0] = true; + strictEqual(this, w, "should trigger events in widget") + }, + 'click li.class-3': 'class3', + 'change input': function () { a[2] = true; } + }, + class3: function () { a[1] = true; } + })); + w.renderElement(); + + w.$el.click(); + w.$('li:eq(3)').click(); + w.$('input:last').val('foo').change(); + + for(var i=0; i<3; ++i) { + ok(a[i], "should pass test " + i); + } + }); + test('undelegate', function () { + var clicked = false, newclicked = false; + var w = new (instance.web.Widget.extend({ + template: 'test.widget.template', + events: { 'click li': function () { clicked = true; } } + })); + w.renderElement(); + w.$el.on('click', 'li', function () { newclicked = true }); + + w.$('li').click(); + ok(clicked, "should trigger bound events"); + ok(newclicked, "should trigger bound events"); + clicked = newclicked = false; + + w.undelegateEvents(); + w.$('li').click(); + ok(!clicked, "undelegate should unbind events delegated"); + ok(newclicked, "undelegate should only unbind events it created"); + }); }); From b19354ae2005e83980a938c8e534fe55b5d1c14e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 14:54:54 +0200 Subject: [PATCH 012/893] [TEST] getValue/events as a callable bzr revid: xmo@openerp.com-20120611125454-nli5gkds9ffksmdm --- addons/web/static/test/Widget.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/addons/web/static/test/Widget.js b/addons/web/static/test/Widget.js index d797120a341..36d6795ff7c 100644 --- a/addons/web/static/test/Widget.js +++ b/addons/web/static/test/Widget.js @@ -191,6 +191,17 @@ $(document).ready(function () { ok(a[i], "should pass test " + i); } }); + test('delegate(Function)', function () { + var clicked = false, fn = function () { + return { 'click li': function () { clicked = true; } }; }; + var w = new (instance.web.Widget.extend({ + template: 'test.widget.template', + events: fn + })); + w.renderElement(); + w.$('li:first').click(); + ok(clicked, "should accept #events to be a function"); + }); test('undelegate', function () { var clicked = false, newclicked = false; var w = new (instance.web.Widget.extend({ From d6f376464516709c7b4ad7631ac1e49e4e39fe5e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 16:41:08 +0200 Subject: [PATCH 013/893] [REM] declarative elements binding, not sure there's much point and can add later bzr revid: xmo@openerp.com-20120611144108-pw8pz5p06prsikxe --- addons/web/static/src/js/corelib.js | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index 83586ec57d4..e9fd4e1fedf 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -734,14 +734,12 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, { setElement: function (element) { if (this.$el) { this.undelegateEvents(); - this.unbindElements(); this.$el.replaceWith(element); } this.$element = this.$el = (element instanceof $) ? element : $(element); this.el = this.$el[0]; - this.bindElements(); this.delegateEvents(); return this; @@ -796,28 +794,6 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, { undelegateEvents: function () { this.$el.off('.delegated-events' + this._uid); }, - elements: {}, - bindElements: function () { - var elements = getValue(this, 'elements'); - if (_.isEmpty(elements)) { return; } - - for (var selector in elements) { - if (!elements.hasOwnProperty(selector)) { continue; } - - // TODO: ensure at least one element matched? - this[elements[selector]] = this.$(selector); - } - }, - unbindElements: function () { - var elements = getValue(this, 'elements'); - if (_.isEmpty(elements)) { return; } - - for (var selector in elements) { - if (!elements.hasOwnProperty(selector)) { continue; } - - delete this[elements[selector]]; - } - }, /** * Shortcut for ``this.$el.find(selector)`` * From d2f7ddb43eeb53973e7957fa9bccf3153d7f7bc5 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 11 Jun 2012 17:07:02 +0200 Subject: [PATCH 014/893] [ADD] doc for backbone-ish APIs bzr revid: xmo@openerp.com-20120611150702-r4c9kyxmu8m7g4c0 --- doc/addons.rst | 109 -------------------- doc/index.rst | 1 + doc/widget.rst | 270 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 271 insertions(+), 109 deletions(-) create mode 100644 doc/widget.rst diff --git a/doc/addons.rst b/doc/addons.rst index da1f1f28769..35878b04430 100644 --- a/doc/addons.rst +++ b/doc/addons.rst @@ -113,103 +113,6 @@ initializing the addon. Creating new standard roles --------------------------- -Widget -++++++ - -This is the base class for all visual components. It provides a number of -services for the management of a DOM subtree: - -* Rendering with QWeb - -* Parenting-child relations - -* Life-cycle management (including facilitating children destruction when a - parent object is removed) - -* DOM insertion, via jQuery-powered insertion methods. Insertion targets can - be anything the corresponding jQuery method accepts (generally selectors, - DOM nodes and jQuery objects): - - :js:func:`~openerp.base.Widget.appendTo` - Renders the widget and inserts it as the last child of the target, uses - `.appendTo()`_ - - :js:func:`~openerp.base.Widget.prependTo` - Renders the widget and inserts it as the first child of the target, uses - `.prependTo()`_ - - :js:func:`~openerp.base.Widget.insertAfter` - Renders the widget and inserts it as the preceding sibling of the target, - uses `.insertAfter()`_ - - :js:func:`~openerp.base.Widget.insertBefore` - Renders the widget and inserts it as the following sibling of the target, - uses `.insertBefore()`_ - -:js:class:`~openerp.base.Widget` inherits from -:js:class:`~openerp.base.SessionAware`, so subclasses can easily access the -RPC layers. - -Subclassing Widget -~~~~~~~~~~~~~~~~~~ - -:js:class:`~openerp.base.Widget` is subclassed in the standard manner (via the -:js:func:`~openerp.base.Class.extend` method), and provides a number of -abstract properties and concrete methods (which you may or may not want to -override). Creating a subclass looks like this: - -.. code-block:: javascript - - var MyWidget = openerp.base.Widget.extend({ - // QWeb template to use when rendering the object - template: "MyQWebTemplate", - - init: function(parent) { - this._super(parent); - // insert code to execute before rendering, for object - // initialization - }, - start: function() { - this._super(); - // post-rendering initialization code, at this point - // ``this.$element`` has been initialized - this.$element.find(".my_button").click(/* an example of event binding * /); - - // if ``start`` is asynchronous, return a promise object so callers - // know when the object is done initializing - return this.rpc(/* … */) - } - }); - -The new class can then be used in the following manner: - -.. code-block:: javascript - - // Create the instance - var my_widget = new MyWidget(this); - // Render and insert into DOM - my_widget.appendTo(".some-div"); - -After these two lines have executed (and any promise returned by ``appendTo`` -has been resolved if needed), the widget is ready to be used. - -.. note:: the insertion methods will start the widget themselves, and will - return the result of :js:func:`~openerp.base.Widget.start()`. - - If for some reason you do not want to call these methods, you will - have to first call :js:func:`~openerp.base.Widget.render()` on the - widget, then insert it into your DOM and start it. - -If the widget is not needed anymore (because it's transient), simply terminate -it: - -.. code-block:: javascript - - my_widget.stop(); - -will unbind all DOM events, remove the widget's content from the DOM and -destroy all widget data. - Views +++++ @@ -541,18 +444,6 @@ Python .. _promise object: http://api.jquery.com/deferred.promise/ -.. _.appendTo(): - http://api.jquery.com/appendTo/ - -.. _.prependTo(): - http://api.jquery.com/prependTo/ - -.. _.insertAfter(): - http://api.jquery.com/insertAfter/ - -.. _.insertBefore(): - http://api.jquery.com/insertBefore/ - .. _Rosetta: .. _Launchpad's own translation tool: https://help.launchpad.net/Translations diff --git a/doc/index.rst b/doc/index.rst index 9f54b879acc..1f660426a88 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -16,6 +16,7 @@ Contents: async rpc + widget search-view Older stuff diff --git a/doc/widget.rst b/doc/widget.rst new file mode 100644 index 00000000000..9868e4030e0 --- /dev/null +++ b/doc/widget.rst @@ -0,0 +1,270 @@ +User Interaction: Widget +======================== + +This is the base class for all visual components. It corresponds to an MVC +view. It provides a number of services to handle a section of a page: + +* Rendering with QWeb + +* Parenting-child relations + +* Life-cycle management (including facilitating children destruction when a + parent object is removed) + +* DOM insertion, via jQuery-powered insertion methods. Insertion targets can + be anything the corresponding jQuery method accepts (generally selectors, + DOM nodes and jQuery objects): + + :js:func:`~openerp.base.Widget.appendTo` + Renders the widget and inserts it as the last child of the target, uses + `.appendTo()`_ + + :js:func:`~openerp.base.Widget.prependTo` + Renders the widget and inserts it as the first child of the target, uses + `.prependTo()`_ + + :js:func:`~openerp.base.Widget.insertAfter` + Renders the widget and inserts it as the preceding sibling of the target, + uses `.insertAfter()`_ + + :js:func:`~openerp.base.Widget.insertBefore` + Renders the widget and inserts it as the following sibling of the target, + uses `.insertBefore()`_ + +* Backbone-compatible shortcuts + +DOM Root +-------- + +A :js:class:`~openerp.web.Widget` is responsible for a section of the +page materialized by the DOM root of the widget. The DOM root is +available via the :js:attr:`~openerp.web.Widget.el` and +:js:attr:`~openerp.web.Widget.$el` attributes, which are respectively +the raw DOM Element and the jQuery wrapper around the DOM element. + +.. note:: + + both attributes are compatible with Backbone's equivalent, there + is also the :js:attr:`~openerp.web.Widget.$element` attribute + which aliases to :js:attr:`~openerp.web.Widget.$el` and remains + for backwards compatiblity reasons. + +There are two main ways to define and generate this DOM root: + +.. js:attribute:: openerp.web.Widget.template + + Should be set to the name of a QWeb template (a + :js:class:`String`). If set, the template will be rendered after + the widget has been initialized but before it has been + started. The root element generated by the template will be set as + the DOM root of the widget. + +.. js:attribute:: openerp.web.Widget.tagName + + Used if the widget has no template defined. Defaults to ``div``, + will be used as the tag name to create the DOM element to set as + the widget's DOM root. It is possible to further customize this + generated DOM root with the following attributes: + + .. js:attribute:: openerp.web.Widget.id + + Used to generate an ``id`` attribute on the generated DOM + root. + + .. js:attribute:: openerp.web.Widget.className + + Used to generate a ``class`` attribute on the generated DOM root. + + .. js:attribute:: openerp.web.Widget.attributes + + Mapping (object literal) of attribute names to attribute + values. Each of these k:v pairs will be set as a DOM attribute + on the generated DOM root. + + None of these is used in case a template is specified on the widget. + +The DOM root can also be defined programmatically by overridding + +.. js:function:: openerp.web.Widget.renderElement + + Renders the widget's DOM root and sets it. The default + implementation will render a set template or generate an element + as described above, and will call + :js:func:`~openerp.web.Widget.setElement` on the result. + + Any override to :js:func:`~openerp.web.Widget.renderElement` which + does not call its ``_super`` **must** call + :js:func:`~openerp.web.Widget.setElement` with whatever it + generated or the widget's behavior is undefined. + +Accessing DOM content +~~~~~~~~~~~~~~~~~~~~~ + +Because a widget is only responsible for the content below its DOM +root, there is a shortcut for selecting sub-sections of a widget's +DOM: + +.. js:function:: openerp.web.Widget.$(selector) + + Applies the CSS selector specified as parameter to the widget's + DOM root. + + .. code-block:: javascript + + this.$(selector); + + is functionally identical to: + + .. code-block:: javascript + + this.$element.find(selector); + + :param String selector: CSS selector + :returns: jQuery object + + .. note:: this helper method is compatible with + ``Backbone.View.$`` + +Resetting the DOM root +~~~~~~~~~~~~~~~~~~~~~~ + +.. js:function:: openerp.web.Widget.setElement(element) + + Re-sets the widget's DOM root to the provided element, also + handles re-setting the various aliases of the DOM root as well as + unsetting and re-setting delegated events. + + :param Element element: a DOM element or jQuery object to set as + the widget's DOM root + + .. note:: should be mostly compatible with `Backbone's + setElement`_ + +DOM events handling +------------------- + +A widget will generally need to respond to user action within its +section of the page. This entails binding events to DOM elements. + +To this end, :js:class:`~openerp.web.Widget` provides an shortcut: + +.. js:attribute:: openerp.web.Widget.events + + Events are a mapping of ``event selector`` (an event name and a + CSS selector separated by a space) to a callback. The callback can + be either a method name in the widget or a function. In either + case, the ``this`` will be set to the widget. + + The selector is used for jQuery's `event delegation`_, the + callback will only be triggered for descendants of the DOM root + matching the selector [0]_. If the selector is left out (only an + event name is specified), the event will be set directly on the + widget's DOM root. + +.. js:function:: openerp.web.Widget.delegateEvents + + This method is in charge of binding + :js:attr:`~openerp.web.Widget.events` to the DOM. It is + automatically called after setting the widget's DOM root. + + It can be overridden to set up more complex events than the + :js:attr:`~openerp.web.Widget.events` map allows, but the parent + should always be called (or :js:attr:`~openerp.web.Widget.events` + won't be handled correctly). + +.. js:function:: openerp.web.Widget.undelegateEvents + + This method is in charge of unbinding + :js:attr:`~openerp.web.Widget.events` from the DOM root when the + widget is destroyed or the DOM root is reset, in order to avoid + leaving "phantom" events. + + It should be overridden to un-set any event set in an override of + :js:func:`~openerp.web.Widget.delegateEvents`. + +.. note:: this behavior should be compatible with `Backbone's + delegateEvents`_, apart from not accepting any argument. + +Subclassing Widget +------------------ + +:js:class:`~openerp.base.Widget` is subclassed in the standard manner (via the +:js:func:`~openerp.base.Class.extend` method), and provides a number of +abstract properties and concrete methods (which you may or may not want to +override). Creating a subclass looks like this: + +.. code-block:: javascript + + var MyWidget = openerp.base.Widget.extend({ + // QWeb template to use when rendering the object + template: "MyQWebTemplate", + + init: function(parent) { + this._super(parent); + // insert code to execute before rendering, for object + // initialization + }, + start: function() { + this._super(); + // post-rendering initialization code, at this point + // ``this.$element`` has been initialized + this.$element.find(".my_button").click(/* an example of event binding * /); + + // if ``start`` is asynchronous, return a promise object so callers + // know when the object is done initializing + return this.rpc(/* … */) + } + }); + +The new class can then be used in the following manner: + +.. code-block:: javascript + + // Create the instance + var my_widget = new MyWidget(this); + // Render and insert into DOM + my_widget.appendTo(".some-div"); + +After these two lines have executed (and any promise returned by ``appendTo`` +has been resolved if needed), the widget is ready to be used. + +.. note:: the insertion methods will start the widget themselves, and will + return the result of :js:func:`~openerp.base.Widget.start()`. + + If for some reason you do not want to call these methods, you will + have to first call :js:func:`~openerp.base.Widget.render()` on the + widget, then insert it into your DOM and start it. + +If the widget is not needed anymore (because it's transient), simply terminate +it: + +.. code-block:: javascript + + my_widget.destroy(); + +will unbind all DOM events, remove the widget's content from the DOM and +destroy all widget data. + +.. [0] not all DOM events are compatible with events delegation + +.. _.appendTo(): + http://api.jquery.com/appendTo/ + +.. _.prependTo(): + http://api.jquery.com/prependTo/ + +.. _.insertAfter(): + http://api.jquery.com/insertAfter/ + +.. _.insertBefore(): + http://api.jquery.com/insertBefore/ + +.. _event delegation: + http://api.jquery.com/delegate/ + +.. _Backbone's setElement: + http://backbonejs.org/#View-setElement + +.. _Backbone's delegateEvents: + http://backbonejs.org/#View-delegateEvents + From 61b7f5034d0d2b8b609dd99fe32766e48ed99114 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Tue, 12 Jun 2012 18:14:54 +0530 Subject: [PATCH 015/893] [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 f0ad5fedacc2e994ef8ba45b05113278ac72db95 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 12 Jun 2012 15:21:20 +0200 Subject: [PATCH 016/893] [IMP] move .replaceWith() back into renderElement * Better formalizes repeated calls to renderElement * Makes setElement cleaner and less surprising to call bzr revid: xmo@openerp.com-20120612132120-egsg4kr5n2riv4zk --- addons/web/static/src/js/corelib.js | 5 +++- addons/web/static/test/Widget.js | 42 ++++++++++++++++++++++------- doc/widget.rst | 12 ++++++++- 3 files changed, 48 insertions(+), 11 deletions(-) diff --git a/addons/web/static/src/js/corelib.js b/addons/web/static/src/js/corelib.js index e9fd4e1fedf..73fa6839607 100644 --- a/addons/web/static/src/js/corelib.js +++ b/addons/web/static/src/js/corelib.js @@ -716,7 +716,11 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, { if (this.className) { attrs['class'] = this.className; } $el = $(this.make(this.tagName, attrs)) } + var $oldel = this.$el; this.setElement($el); + if ($oldel && !$oldel.is(this.$el)) { + $oldel.replaceWith(this.$el); + } }, /** @@ -734,7 +738,6 @@ instance.web.Widget = instance.web.Class.extend(instance.web.WidgetMixin, { setElement: function (element) { if (this.$el) { this.undelegateEvents(); - this.$el.replaceWith(element); } this.$element = this.$el = (element instanceof $) ? element : $(element); diff --git a/addons/web/static/test/Widget.js b/addons/web/static/test/Widget.js index 36d6795ff7c..b50dd233a13 100644 --- a/addons/web/static/test/Widget.js +++ b/addons/web/static/test/Widget.js @@ -6,15 +6,21 @@ $(document).ready(function () { window.openerp.web.corelib(instance); instance.web.qweb = new QWeb2.Engine(); - instance.web.qweb.add_template('' + - '
      ' + - '
    1. ' + - '' + - '' + - '
    2. ' + - '
    ' + - '
    '); + instance.web.qweb.add_template( + '' + + '' + + '
      ' + + '
    1. ' + + '' + + '' + + '
    2. ' + + '
    ' + + '
    ' + + '' + + '

    ' + + '
    ' + + '
    '); } }; var instance; @@ -221,4 +227,22 @@ $(document).ready(function () { ok(!clicked, "undelegate should unbind events delegated"); ok(newclicked, "undelegate should only unbind events it created"); }); + + module('Widget.renderElement', mod); + test('repeated', function () { + var w = new (instance.web.Widget.extend({ + template: 'test.widget.template-value' + })); + w.value = 42; + w.appendTo($fix) + .always(start) + .done(function () { + equal($fix.find('p').text(), '42', "DOM fixture should contain initial value"); + equal(w.$el.text(), '42', "should set initial value"); + w.value = 36; + w.renderElement(); + equal($fix.find('p').text(), '36', "DOM fixture should use new value"); + equal(w.$el.text(), '36', "should set new value"); + }); + }); }); diff --git a/doc/widget.rst b/doc/widget.rst index 9868e4030e0..b29260c5882 100644 --- a/doc/widget.rst +++ b/doc/widget.rst @@ -95,7 +95,17 @@ The DOM root can also be defined programmatically by overridding Any override to :js:func:`~openerp.web.Widget.renderElement` which does not call its ``_super`` **must** call :js:func:`~openerp.web.Widget.setElement` with whatever it - generated or the widget's behavior is undefined. + generated or the widget's behavior is undefined.r + + .. note:: + + The default :js:func:`~openerp.web.Widget.renderElement` can + be called repeatedly, it will *replace* the previous DOM root + (using ``replaceWith``). However, this requires that the + widget correctly sets and unsets its events (and children + widgets). Generally, + :js:func:`~openerp.web.Widget.renderElement` should not be + called repeatedly unless the widget advertizes this feature. Accessing DOM content ~~~~~~~~~~~~~~~~~~~~~ From 7b2efd67fc5dd9a826e0343fc132024b30ee48bf Mon Sep 17 00:00:00 2001 From: "Anand Patel (OpenERP)" Date: Thu, 14 Jun 2012 12:46:33 +0530 Subject: [PATCH 017/893] [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 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` 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! zvsl^he6MqA%@_6)=qBb{h6Q-uCaLLV217bo2V8KHBsnFGXOV|JO5z>5rSx@IKb}#U zTQ0n@p&fsQ+H;iy?xVt*dS9D9Ol+Dn&m(r=b}-M|Y;pz4&c6M^i(}L((b&|VzylwHq8aMRHgA#ZK%(89 z!W1;G@KY}7Tcm5|I-&zM7Qe5LqweT6&2gOYnXE&GDWe0M7@Rr*o=l`o@*y@m66;wT z9qam#o=$p5mTO#cV~HIf*=;BIQsHv@pw;MHKJ;&iBU`8W@*SyfLuvJ>FAV zM#!UGaycXQA$7?bMSkbXH-n|}Z&C{%4rJ@kKxZGl(;}%Hy_fLz>-gfRl2VELzC|ypwQef@h$56;8+iSwIe#-%X^B4zNliUK zKO%Fs**Ks{z{p@46b|cwrR}!y6cD{ziA5K)LA#u#a&`ntG|(kzAoB1${tJh=y#vw@mY|+74?P{MG8V+7UQ}JMc!oOyf?ecn)_yzVY zL6robZ8$#&|l@ zpx3$Oj<|+}To?Few2;J+|J;j8H$G0}Z8NuAO?3V;wbfbg2^rF;?fr}NG?#b5wbq?m zi%>oSaiTb<-xC*tmiviHp9zLTb2Z;zbQXqO$Cweo%UG3a9nlh*V!6y^=hO8aY!5>w z4~L!J`+|?Zti#0AD%zaePL43PWO2@8bD?KEhXbv+0)3D~jj zO8#l`j+a`;*DD&a}?+5!RQLv9%gJTTvSCSolO24>%_5SFK^TN*ZLN^Um=!k%(it6$tzP8$y zZc)^{)Q`L0IE_;M5kpbqr`aJUY(b9ra|RC6d;8k-k(enizp0Bi7?HTn=ic~=+y=ci zzDSxQ7gx0%J|!)GM{r$p>*N;IUx^G0PORbn?bYJIOhtEPR6#b@QlP$qqb6}RM9=<2 zD=s~hTOp8dO!$1uf{05EoD7ZtZLL7bGuY|%Fo9z2(=52r79O@D-@orz2US#G zSYl9bh97vdteA|mv7^)UN$L`%p>#ujRy8|8EZzH~`9Fmes$lkfp*!F>(xAet`+e>H zz~6zSf3>D+uuu!OA)kY7j4T$t! z6Z{7Dn$+jEz5Q3tsQ2QtG~sC*=6`&9W$Ow!7GT zfH^ULx3unngsxqf0AJoL`_sT%HaEk4Y4hBQz>xHg+1_2FKw=H%w`IQSZ@#$RDYX3;D6sm9!tm#`0Yh4bM3dPi3=|IEqoI}DrM8sBU|?hWmY7} zf*kq!1kOzLAhk6!5m9jfjeu>QmpKo()-FM$oTm$G^f|q!@qS(hVBJ(Za>fq;@=ikv6<{IVIZ-;Dsr%9F_+e_#$)oe1!a23chdagTO>!m5X=f5~uKT z-w8nvA#de#1K1XZg5Z??PHS)sJ~dnXT5xdG@1m3e(8*N)?7pmXPS4$8cqZhMa|cy{ zuR&Mfs4^{R!Q^%63E$I!E1Oq`h7SJXYW+)TCMtp$IcvYQc`$K^ zBXXEbAcKcH<)g?pkaORr>lhL4fk$t4v9@#bau0!;;-%p%J?)sn!($RT`J%g=r*0)E zmV1B6m2g}-=e~$NMzI&LcCAXBw?5>dvL4^W1VbWTmh@vEBx^KM;Rd0pcah}chMu34vQ8F5rz!e~ z1t3`JmFWi}vXe7FzY{+hqrL`NmHUwGyp{|`>UX5uW1|nqD088#Vw4>UBWEgol92B! z#2f4akl`7hiN-&jxxc>_s{r!Gv}DB~(vnrypGW1L_p*vCW~4uDx&9eMRRyFkvbKX8 z>L!K&Ivt@|_<;8ZU_Nc%Ua?oxxI+|haU@MU6<2fZakitnG@sz?l88LcUE}#`zExP7 zSxV{=_V!G~k*bsIz!K99P6*N=6N&u_haK*yv+n)8_Z%q)DRyjR0>n0ctql4HX&H^j zV*iGiu`9Ii?1;AfTZ7l%M4&SG0z&(9#1(0;qssU045mNgmeG#+Sd3Y+q}$8=i6>o)rR7&f}N^s2IMm^d5ST3_2_@CTxw7+y?0n; z{LEY6)s%*xfhrAXUDc@#{+Fj00bXrqq(BLbeo;dNwPRRJ!Feg7~_~zLsHlHU=c{ z{Mao9!T)$(uM!Ha9GoYfNr3hXm#kXQ)OXl&wQT{%d#WmY-62klk-40mtIMk?qNYan z5A(CAm#x@4#E0lB6RwfZWJF>dB1tA#z1ImN38mb9x_HyKg|^@a<~9a^U&w(*K9aTt z4^y1c?1R*G5vhxwsFYXsW6~a35?;LNF1lyo*L(pKw&ZN)4;(1rs8^~MQ;AO$sR>3L z<>=?gQJIY=VS|F%7;Z>=4nqM$uPao4J5J4p+Ts?qkY1t1NwN#)s{v;?6DyBTWIlM$ zSH--BZNX_zZa7h+uS@sNUz4F9h$LJ=VzG0lux^6eBDjjZx#7kf4(chluKuCr-R6DT zueNFK-ngO*UH);ZV*;0!dn9m@A<-huU@_N562B4na8&XNa85CcKYWx0SMF?VNrxV2 zT!VDcg%2VC*hOGQoue!tY?*Af=^sS^iLn;J2F{Qe*f<{YooTzhy-6TNm4t$DS`})< z8%4LvPE$_4baUJoD<`{5>{*KK^aMj5!z%kYf8_XV_RL~$OpdCmfvtxQhB-+FC{fF- z_fI#8C)f7jJXZrfIhMi_zhbz^F2o}nTb!=EjZ5n#$iL!gsO6uHsPI+j_oRXY^%W`K z3Ez>$*Adhgf&H8)MkDXMo|j826$}c(G{-!Wuj$};3fQU! zIA~Xq%Sv1!J@z)-2ADKYPj6(cz_MOSnomsq2^J$G0qEO9vq%pmi7pKat!%#Tz!T-0 z>SJB$ToAqa8~OG@QuV zID$S+6l({g*{T$azquA>Db|yC=kZNL&FGVY;COiaC^r?h&t4P6;^kj%AI)2n#xa7^ zVJ`(QV~jE4N#v&6^ns8R=urU;9PZ2rs z_1mONlfJL$yv4Or9l0rXZC&LEcmw#+;X*Lv`L9GhzB#C$YzE#4@58D`L%rSEloy%^8)Voi% z>(4)hWMtUyt+sjbEsKD;cw_8kxe%`uzu-PyXqC{ivjR9Nn|Fkr6V;)S53FNqXTJ1> z8+GqvVY@k*H`N*LB{kkLt?-f8E>6^eIPHC?)YS>wNyK+FrKxw4Zo@+^;2=Co(lgf2 z6!9F~%h-*i7fU3eV9xn6vq|=yozfPkcL8((wmLRvsHcH*cE9Dg%zbjj5Dh6GnH8<} zXG5-jvtsC;+8w^1Y-SL1@UMTGv4UyArs(#8;~WXh@~OzWhs_Jv3A}Y)!~D_-g$=A1 zXq*{atFEWdy*^Q2vElapQT-}_*6One3x2X~Vxh!Cz{h|coah0Nk3T#orWpEYSoyh< z;t=mJ-X7V&!+_L)y5jBP#UW;S3->QCu`P^m#NU2l3t{QuPi2TZq4b>Wv&EMJ4uoYJ zj?l@%$dBrNgVZUe-uk|62t4uDD1A1;=XNCYHw$PEE}yWg>8og8oQ^a$oqJ{~8?9TU zW7WAWTBbj*j`0kkkC|h(Gq~0T#h4hXzYO}&wddeXmIT9Yzkec53_dVIG&+Lj`RaAg zI5EmK`SXfs9*4v>(rsTRKUE!DJWOu&n8g1?Rq{K)Si-8P2PnMtHoprrq9>=&Eog7_ zWsI{Q3*@e(H5B*Qflo1TFBzEq^ip!{Y<<8Snq-qcYnh}$Bcw0ZpJYZ9$Q(c9W`vQ% zBt5}yYpsR6wg(qP=jgileO-IZ=mh&06-J*6t7oCBhx3YeByqpE@p&ztHgC8QvxY$l z|FdPcu8O7rbRIq@J87p%(XrLbA0f8hna@+e7QJm~(!IIID#7%zSV&zT-T$^_BPVqp zQu4b6uYhq7Fc=S=W)Wl|h3s&0Ta_QgOg;6SJ-U8RB7e$V6TxsKOD1ZjPC2pW$@LZR zp7vVXa3^*wZJK=ks@AW{vZzl2#G_w4NoVhx`r)r z6b5MOJpxe#jW~iCwU;7i^m@Q#y}cWWQyFg(;7(Ao;r;m+S0UTufEE!AhS0 zg#%_a@T!LkBkI@f8&kZ3sLv9tk)iAWr{#unG|iSCTfZ%}l9YElz|rQAp9JO063%z? zrCx+@q`Q>vtmnWC z+nCwJs906>JM3Jo1>kb3-R719Y;bmn&=DUg@oLo)pPD6)B@lEBupu7M8DM`ot5)W1 zq)Z733^TSx{0X$K7_E4LdGmSxLb3bX)Hy)2$hncOkbU-;sMs7OW4+?87L|7BIKE?| zu~WbhB_sX}ttcO`d#{R%3E4CA9CBQyJUC_`J)Tr zq@CsSqYV1s#h|H&MNIC%_Fx{wHc_Ln2+x92X_mwbV4yNEca8`3SBm{=gVWo&?d1?o z-?|mAxwirCCc88(TwsatpbiJt-9R=4 zws!!++}9CmQsh>tRzJgcevcV29|sqs>57;6bw%nmcDpN{K6FS9&EceQ4Bcut3Gr^! z>^)-im+P{zry{ZC?l*~`GYXo!oR>@2s;uXKM(V}O9dmQ)sKwK*TloPPA*}Coq?D># z-L@`7A$M~d4qY)hwp!myBSbrajO7!1%1B$*_$nM-^sViv)3P6T&1ol~t)ID1oM=+2N5 zG2q-!F2Y#6P7d`@2XVIaXOKZnYyyQOQup1%p~;_OOw?7iEkcIXnm#S!YiY(=3_8*^ zc7F9mqGX~$^lN%lN$`t@{%mMjp7aM@={^^@Bim@&RN7+}u(58&>4T_2$2yi$3X1A; zD5MpsxtbQG9Xj@9=KIL@>l6STq0H$2RV#)ug<}U zsNbIDqee|sq@dzDy*wx&b_#s*)koZG+y8hYl5OI$7^CN!GfTipig%*lLuUmk3=0~s z%g3Bd%(cnqy7*_PFVZ2Poz14#BRJ5x!nHx#gez-AzU~9r4o}xFAHlFpa&+Pxeu26@ zOk=0ZW-Z9e{a5lyb0cNh?@w&&kdg@yfi;b70Mf4;!Ka3SaHwdpKYOvsEQIjcXnsGA zi%l3;_sy|U>-*OfP16rmxybIR+A0bV7?rO%r2v<~-dLre&+_FQYMvz&WZ?$@crmkYHPz{VbDy~oxrw{sGzW6tm zzq2^2r}OHSBO}FIu@lB+-9y`JAZ$U8ZvGA zDq;Ujpfxerw{IF_7^h|Br5F9_Hc?wypwg6$uaV3SQk76t){8WWqd=6<-j;MFszi99 zW?EqFZ?@>a>YHDBOm+=|AN#r3@Magc5YotzY()R1U-SOhRyy*yJz{kgVDm~n2J3c;kj=smkV~OIX$B_1V4h)mP7^KY|q3&i5-9 zEVp#+Uhy<)9RV$Qsmo8aCgloGCX|2MA>xjHlJNNc4Rh^TvXIQ?8BYv-jiVL|YDb`SBH2aSukv=fT}21fsZ z;r;5A4koRaPw?OASdV7J!hMPSSMA5;V1mkRsN;QTf>v_oLtXXCR)9=+8-hnC8wPii zZzgv;2}M2jzb`mAcoTE^Lr>iqqe)1FsWuI(OuST1Q@?|^`;G)Z5UFO?C)Y{(Vbn?y zjo*FH-k1NYgkjA~tlJ$PnSg=nyspgNXFqm_w>6b@D>IK2IlljZpI&h4EVxQ-73dBN z1U}~@^_UfYvwGEhV-s(n?(8vql&y9nJKvKsl5!ZPv69p^ibcmPyVG3Xrp-0jeI*h?y?&Ac9C zLvyEpb;5>EsgtTAD0gyX_K*%x9^SE}o4tIX#B#{=ba$#p*UF5GQwu=aQBBJX?7`#^ zbiZj`lR4QJKX6z5_7Kk%=)Cv-)JA`xT2)BvGhxe|!;;AwE!FEN3^`O5&;JO%AwPM) zYBlJ~O^om%&1DH?BLMVtM~0K)b07S#Un&kw-TKy~VXY{rZbGj>+{@Rm9(CNG(zf7| zSH9XJlBvDPm2U8C+{KRg!#6=h5Zk)~fgWa~asa;Bs+h_O7OqM2@^@h*pkF#$;|yvZ z4n_HXH4WnX3}~wpN8JUtz74>!+8q5Uxd#}zd=h`l2`PbMUkLy^&z!eDYNN_$JkA*; zInX53F%7{y=eLrr=494C)VI--!UD%KkEyLuN*!_e@OSabb;M%Uj&MiWZ-t$(S|rlE zSq`v1GhlQ7qYfzzWy&Hzi(A|NgU~c4Pg;w##PN=kV>7E$y6^B3i&wpI$~&_T;g{Lrz%G3H zZ%<{cRXE=uef(DRqX^Sm{8Ddc3Q!Zxzc=Uxo0+-zxkG#^vMnGliS_QdT{NJaH!YEv}%5k=-LqwBI``@Hb);)x?|r2?IXUJiFdm z4-zdN`n2;0=G$Y|o{tK)3pd7<1)w_Ohdg<8d21MWJaE=QcOtp>lEN<7XmId(SNF zF||y=Vbd}(IU%pPZLqDUKrHaLvCjdP{V67J z!+UB}%l$k%eCdtJjl3QjXyHD*a38o>q-y6;FSVd7k*M}OeT&z>knGIj!0PRV-9VX) zrcJ6X5HA=q`NqzrA9+taqK$72*{G)NS2f@bsjj%j5hvp}KOEg<03!XSO@o@}M^?~~ zZ{jz_+^Vy2p{%``?Z%4ZivS?P?c6+KS<4;H`piK4O$SVRrz=n}CIeM#Fu66Y0N(eB zF3>mei1G%B&GWPJCaZL8rG7G?WRi(5FB05!BkgKRh;*Yxe+@xl4^sguSS5#-?5(w# z2$kR!cVk_b{>Mpva|7F0TpjpZ{+ZXGR{H$ssWt_J&X!7R(|yvI3ic=eYisZLxQ2H= zYw=h)JjT9J-oMOAH#XsTkXulv4rUd!3Bl_#Oj^7+I)_>f(# z%zHA(bYz1af3#4~&n8j8RfB0w95w8tLu&By1~dSCYipI)z#dbPjQPiXE$FmBKX4P>WW9kzl( zw{zYd5Kai2%xJJlQ6_6b+_?JaBS-|%B6f`}9Un5M+Sv>_@E6t5E$47IS zt0kDM;nfm+L0ES^XkRQ@aZ-h|R=tJ2N%!9lipF0pAhtfLa|Bc!(iX`+O;f9TeK2BK z)@;ak#;AaIgUw2T?6vK+ANR$qb(dy5J@oSbOT|L0MSj$)K0@A=%emFF zn{&_9VMm84_~o^y?P0nds1)-D0^lY77rTz{{yB_@m`tNoy(6G#`2h*&YzAN3hYed# z-8|z%HDoh|=JHIjcpFG1f~&J0@E>DPbct@fcKW1RtBEC8U$)D4PMxtuNhK)20{2O| zGo}~GGn5H}A;JSDOeLO>f5OSd7n#z>T_sU^%~_0H4Y~xt9={E>Hflg!;Q0=h#Hr^N z!@|m4jP;nX=Hza`!fUGGU zixInaUh@5g+llQR*5JoE9RYikQIq64revx5wy)tLGo7M(51)8Rl?P)>x@ch~t}nB+ zUtzX$KqfSmtS_be;>Dk&Ax5QmGpU#Z9&6j}fyjbm#s&dP0Of9T(VR$_X*TWg$t}UL zieIjx;N#I5)ebd+&bO5c_OUma@fQs57_?4n?jsZNMWy}K&wTVKrVDkL=u6&yxbYWz zK67AMRrl4=LmiVd^n1FfKRx$P=ysuKZzXRj?SoILQC@kViophtO+@YEBW?&f6}P@u~dr$veCB2}(^n)6>ImuWB4 zZe38_wJ&L0+hU`7gzan`SbEo9Y>n5O$lfH#TA0xWPsMa~b60&BPp45XQR z$G8k_I;ze4-F_Pz`Ei=nhq@Epoh1|H$KI14Q=ebqI6=ij-KVQb+r|Bj#Je?E(>UDg zxE$lyYtSO}Dtz0{fXez1@WX18P3|TB>?t82c@ zJ|qxxs9CZT5l2kGo~Ag7q5)i=CJkB50+vs&Fuvzr&J0NHK213`TBd+3QTe=-5JRsg z7=?a8!l)O;_HrP$;Xo%^5RSy?s%WdH%)qaH%?k-Yc=^6&fMf-=jcI`;@Mw;PIN(O6 zcrXihyCk^eutgiqprbH%$Td0}W@y~3e2qmxrC4q0g?^>{q}2MFLm@00x42`EbcZfq zd%VT*cWVw?L$v4GIu(jiU`lqeAE6k&-=`)Muq!v9SepXpqn(Oqsfcqa%w@5dq2a9! z@gygYE`Rey$tG;Jn?e5q>v4aKqurdmK&N5((jKUMA2gTwH{7>+3Y9F#zHT#>1}eO} z_^%mhUMi*=?0il93XV-8`%Mg)G@~vetUNm6rMlG3Y)PfI@ONNZ_ow$xe5&+RjqH- zlhNLB4-orsBvt>~!A=cni7aYTqK&yqC^JRtH)d_k zQ|mA`U9+M^iPgE@!~-PNgoRlWHlP>{$d|{*o3%sy zBLqVtwg2-2uu#~z{ZoZ^o;eEFKV@SjIc^KM67eJFBQp}L-*yDi{t05?1((*}8Fzm2 zuDG1YvnqSFT6W(QMjN6FR%PJkIJmTc)^1w)afl7IwqKoV_2YX{o%#ZCMP`)BJztqK zbNmQ>fOVG0HD~Y#pDOTs3Q*w~d({f~j7oAR9Q{S`W?91XVgASr#8qZ!*w}EhW`Lry zT|&rnl0Bv~=8L&by2MS^ig&N;@Hp?oHcTaAcAjQ4zIPRuP5BeFYFT(?j&kT2Xns{n zHf|*O8bG;Y&-V}<@XGDO)pVKI&Yw-kJ@|-w@^3|T2@t@-Achl zj;HnL!xe{JMn&F;SygV%&#M{|wX@WYb&R(Yo^g=8K$2q+&#KA_ayE9tuR0rrKpM(gU%70$$>+O8kC zBjGK~TjF=(P3Bth+pgcK;mt>c?3FIuMfD{rSY{1@$!XKNNB2RmNoKpb=|D$p2yA{E z0s8Mm25vcHt^@V|Q8P~E2tpCwLEPu&am0e4G^8F~Cdm!KMY&~#DLsH{i&`j7in4P)?5mL~;$D!Kw74>K4^z5!+Kmzv{RF?{ie!kLQ5-VW=x=Sbr)RUw{e z8nTWocP$qjB!!>>!B_@5h4{zeK3L5B1r;7ti-3L)KQ8~9sFZB)``1(^!o4C12w4eE zIbaH9YE42_&dbk!E2Ju_!Gut+*?c#{;x>%%>92S(Z~w{FbnNJ=#uFXsL$>_H27>>Nj(9}5 zZI>rP#PbU}bNokexC2d{&pf)~xe@|t5k&+=B~yrC?>O;3vi~U1sn#E{ecg&4+Z$NN$KPj>@5!ueyvo0gKP|G7XwB>#UU ztfmBjcx^3HRBat)%)HH=M6=~vDZ^Cw-Qc5cR5Z$jE9YDOKk zqd0ZoyJfc&;-BmXH5Ow$!jdeFTsi*nek&};wWNdcZ9%hRn1M0N{8#q+80L#uV!z^F zp0Dk*wiB2b=$<^U+a819Ev;i;Do#S+;Q4QYdog@W#m4LZstnW;1bct^^t?JroE27j zBv(M3TNZ}%Dm;Ylr_(0mG#1{+e9U@M*l}XpF%Q!}wI2DyTn?1V?mc1;okle!mKwMQ z$99#{EtOK|P-75SUCeGIfcDu^OIgv~61!#*^G?fMo>ML~%kGX=>BWdR;kw4yP3TEM z%wl&|$573@05S)I%F{1e@MwwM`XYJSWZGhZE;u0BL2i$=e>ZcL?|@4Fc&NPaE!Zxu zEph`L{*S1Hp9@)!P@%z`O6X+vMoaCRfBqZVYdVe(4pN`cVry^CW_z_IcFU zH;Mff#IV=U3)d2WQeI(b76BZGyG6$uaK|wtnBqPz06O&e3F-P3R+vynXT;7wAOP;W z$pDCXg8fTt{^X!18Bl0MY|E-1wM=f{(lv67#p42we6$-%-m*x{KEs-54h@DAv2`Kv z(#NJEZX!!~@Aegv%|{Dy72*nWxM#o(IU`Yg0y=K!srSulg2kz|#&r4|A$0Y0yPGl{ z*oU04SPOczkzNwRXPJ)smrMjT*w*OVqN`}U^!|aRm`B!L>xum2u1k9p0ez8KQu6?O z9(vVR4@yd@7p?~q;l87KXM(!3TIS>E(doIE_PK=|hhN2`lpH2D&AAvrDC98hpL>qh zN6`F-|CKA(*5z;@@+^gpq~B|KF9n7i8q=i>AvShk#z@PjW+s_|#>aJ^>MS_m!twyi znfz$u*bp^rfC-3A8nW*;qniKGl%3@e29p`V1lz*mx!G zEBAf}eJH;@>VT3T_k*f)^{v*;MDTtkhfxudTwy?*#ar_<74Cj2EV0-t5Et^C$Gry| zet&>InfWl<9#(jHwnRg~$sYVSFf`ot23`VGsyT|wL24lgs9jwHe~sspImd*zD?VI$ zkb2j#dc=wm6*YuXxnBSRNWFsU9Zd(h2Zu#5uZzru9c9k+Wcee};ChH?3u)MO;gWfx zZH%A5fpG%*_yBs5Z%F=vUu_?8jMwkOKesP;d!7EX^EC~maPw_}F-fF-seGcjKBzsb zk9iXw8mH2|3(hj+^5fuK46WwvUvH6uK=&rt<14<4ErC9Re#wMHT_M`IgPOBZZu$rB z^VZ#3Q@=)K%s!!@>GFnV z7sg%VCN0-BT&_{oEkqjfZI@;3Al;6hY&s5#Uo+iBMo!~At!V_pb|%e&RZ?(#;Jy41VtC z&eYj-;38sV3&OHPqjy})@TG)1jJ3sT6XMJbZ#g)1WXIps(`!N76F+9H3+&KCY#aeg(2;6Uq?9#Hx=Q=1E6#_z_qXi7m94KoLm+ zzN^_n#4NZdw`vI@i?z8?=LF%@>E(v>w!OOA-#gU}hw7L2Hn&j6yjXaCnw4Tn*7F_p zB{L*x*7D>+k!_7-3SA2+%4muna(6!SqREK|7#*I?67>tkRB~V7&O0d*z#*Y9@c4BiQX|F$?p z31b?zUm0)uy>?%T|9DQ=(HCVYfN7rkuGlgFCpX_-h03Gzh@oC<2Mgp~F`n(sH}AA$ zIqw-f#2CGlVQlKCdkKX~kcp&{a$6e`F~B#DB>$T*&HOHdn1Cf&h?=89 z{}X=peu}XI{u#x-%yia(a@BOO_8}9%}DvL%LLYg%+eL#A3&^#KZcEtn(kSU{{6aDhj%=sO_v97iY(> zDb^22?xV4%vGV<536$!tWL425w>_i4Ezg7bLni1|to9AB>~^t58*a^QwpWc~6Mc*u06#;!T8Q0KqgNypB7#yhL)-?PKhpt{# z%yLRslYdPVck*|lf{(^spE_deC2AU)+@P1Ya&65pceYk^m09LzU4GT*>`sB|?=*=Q z;1aEIwAlD#hZtd!DUw_HN^12UdKQMCpk&&KysA~G+x zM?{Z~7wAo+4788XLBH@O5hvB4lWsK%*qv{ zo6gI$q($rDJWt$S`<4{NRJ^M7?a`RtM7t3!bko(6hz6xP$ny>^<@^I9X?=qFtLCJ{ zh8)IT-pJ6LY_IUaX|F*RdS^pa$Z|9xVdhD20f4n#2nR-G7d=J}ta6Q&>7$q5*NQz7 zqXOsI&BAfPpWAby#oE4grGy10ICa=Hv^csDn0xWkG+!vg4l`vi8wZl0C)TrS9;AWJh&buw()Y- zD%0>QLzY0Jj79)I@IElQ6Xd-R^TI{^h8bOCc~s`O|B)aYr>gbbxW^t6tT8M4< ziQMWEebHR@W^^FR0HH@&Gu62tc`QN6_@{{$lWuP5?E&?r_wqxkMlo=-P``5#Vj^j2 z-M!^QEo-;Z^|t+Biv$~`5Y)1{hSsY4&K@^f#?qL`x>U{0)yI+Gj z+0JU{5P;033s;>Sq+9yhnzDe4Gj&z`rbSA3^fUVu60z#^LtZGdA#eaFA3~+l>%~e; zziF*%s36z>oX5jkMq%wFpY~1^?2)KL-1gf3C_-XD6)+PxaNdP$>N+=!w}x7k+>4c5 zEcIU1r+X4lSyG|2a^lofO*J=-4%AYWLxI)tV30qkN*iMKv#QDd4Lme2FzpSp<`tMr zcqYrcps3t{8c{8JXLQfQvX~*c;2z%Z{g+O{|tHqSkvDwc{eBfw&tze8spGBn{`m9RM`!%FL$={> zhoWeL47T7s-{09C)XGlp-@pH+UuPr_Cy_&^5|5;1dL2A-Z;40oqB!;DH;Sc|ZEM^---luOr{oLME< zz0w=Fl8dA=##0+Ui$Jsc-I)*L^EN>U)j2Ygm5-nUBI}0g!S7H?iziwA|DKO@=^fJ% zM$6zwvyW+qxI*|ByXz~YhQ30z+E4rIR&7de_O-3CeOAY6>cgc6v7?$e0b{GNCc~=G z_T$Q~cF7OhVUlO10H1Kz3?ezm=HKi*bGG@}c^dsWuoBP?Dv9k%x*a_bfDu-iOU=;<-<4L%L z%+U$4IX8|uvs?~5G&XFPqu)jpFQat(bZ1QhKwN+QXCm-BoZ9MV0tn&c?-O%czqRC} ziJ!NJ9R5OsJ0Y(y%xR9^!E{#dz6WkUY%3na>)G3ILYBJlKCyN9gud0ie#MdPa6v5$ zE5_3atwWA}f8Tb#4H6kMugvgoZ#jc(SpOjbLk0&JdLex~szdx!!2z+#1IW(aqAkdX zWc2qXS6R*<>V)4Dx#AIfj?!W^I$b1gqk|{bH2PAm+l&^JKW2#m(ttjmm*f~+N9hzr zh8;SlKWZN_7Bn?lHFji;eZQD&>VbY~`WL!{pDS#&{YpY>EZfV>O`>PwVi4IWzByV{ zAa?pCff2Ek^dqOySs$2hkTVbFZ(-=*SNS=Xk`hjg@42?acWlnF|H` zen04=`9t?_JM&1CMy&6a`o;%OVrM0CdZy!*&Z&AOZNIH8x=;|(7Jh;f&a~{0ztFD= ze&fP^4(Cm1Wt?$Fdl(C2)lue|p?|;RiLgku##>si-5}}{4hnn$TwBWtKEvp>`i(lr zD9DaquHI0}28Zvc2FUeOrtq<@09+xFZ{fNSu@|r>q80U4Wv^i}x}%%f^ec!Fl@^oi z;GB?5fW%Xf)_YBD{k%j(n7GsLOMmG1Ss3?4;g%tO#1LtK#UqVaH%cC=V2G69n()1R ze_6t*rY)a2vz6fB6IsMf;^^-M>8rwjBkE59&5N&9X$vTW4@k?H#f_yt%fQ38EMA#B zjYhZs1onC2>%ncDPx6Zksqj}yYm0i?TXE|j9rJ+WqPXR>M!FKR zaBmD(vZokUTv`is(*p($1#4)xZ7L(HvtW+#`C&0dLs( z#Wf7LV;n%yHt6Rb6pG!(@{uGCObH^W+Qh;-M+{8k=u)Gt!@#{y{gNgXY$ufc8l;0**H4na`ifa9%9X%etN66lf%VFPcLQX{isTKHrwT-azqL{Q~{%A8pHm%7L@^Y9G@! zs0VogwL;SEXN*Y47^ghNEOikm~X2JGq4KT3Yk%B zA|5Op)6jOuy0+Oq<{Y>;hmTFNs} zb!_>_)V*>Mp50N`4*Rgm+t148JSK{C7v-P1j3gfvuP$sSxO;eP<)0{%%dB0m%Lm>E zUuyoKY#6=vz-quJj_AsMd;k~vsoU>u-#n2E?6h<4qK^I%2R?+$d?@9qJ<;eF+(ISs zKuT;{J$MwOFA4a*>_!I1l|LJf03SXidsU4}uY2`AT=zkXI{OIDtl0lE?7YbSr%lyk z#7rXux+CNKAypEPp@ugrO~?gDt70PRB$DOC_S4}zS_}RiS6JPUMOzL{gO3l6+Y(+z zi1dR@G$hx>_y3{nErZ$&yS80CIJ7`%aS9Zd7Iy;0wYWnm6n6>k(v|`#?$Y93EV#S7 zLxQ_YaK7|;-r4icxBu*&Vf`ucwWOv6Nj?!2L5~z zl3oc-5{BMwHixv+(taKD0gG|^Z(aZpDSvu0`bJDUpC-6J;*46Wh`K$&DE8dCt%Yt1 zZqdB}?S8lH&j)F=%(N@qAdz`)JB3KH)3}cVZGaYScgb0t!;LpZPGOh)ZyvdY1CM=- z1Rn)3S2Z2{=ihk>-+UfQ>o65?blm45_w~5(@(Dmn<*{fSMox8KRDa}E(~g5CmivpV zINC}mwnd#j9Azla;Y;m*d*H-N>hOXrSwP>)EndA9DQ4I#MTGKOf=$4DRZxs25=HE+ z;2|EkOu4-2NS*ExG}ymJLwH4dJZ3z4P7JV<=dELp(tkhTQ!))}ouM10!(!1cvf^w* z^K2I#fWXB1@3Sv#`;Ri3-Y%ijSL9ZZuuAY6e3Gu))*;`OQcfm|M`6+z+h7P-V#Y272D)^()^$a|0SPw6zuwrC6c!eJnVIofU5?=E3l=i%p?H;rR zOWDb|EQx^~t%ib!eX#hpB}r&P=W4-b;;N;mkI8!9uj)(0YU>L zfkxr4L+^qw1dqJ82rK7+znK7gsN7?zQ0T#cXCa=6H=;RiMzyb#FXg_{SwlSynK{08iBy*s>PCt`3@diEmIbfoHCF zk7sMx4=omBHj@{+U04GOrw;=szYF+1Q)b-V6vnkMpFTXi^<+=rsU7UFwmTgh|3nkO zZaokUKj=BOQ-stbi_*^!r(_5GDQ0NG?^$JVKc|CjajIsnm|$%m#U3wuWtZoA!@wN} zqN?y!VazaKo@xRR#&9)ruY_7aW2EKx^5z<=knj}Gsx;5biygM!Y`X@Ekd$w}<#y$+ zY)E>i{|ETRyUet{CYB+Sfu(V5*){2Yxy|vgk`QZ_1;Mp1W}xp zJ3Yg9xfww=(lW|<;$YHeUM5D|$AkQ1rjTK%`h@tt%Hfx^yL0<}dz!GSg#&;i`tH6S z=_{pR@*p_&szacQEz2g_3C1Ijk!wL+Kr3Pl@sDY(6fFOeOL3<4psdZ7c=Gnz;(O#P zn#zo-;lIM|J?m-v2dMh0%K7hbep2UI_HhIb$yS&I)W7)#9@ADrdgLwBqr{qA`=Ln2 zx+^|C82`8m-}&^CN5GCRet(jq&zAtSoN1^)iJs6>0>?c-M@Xhx_O)n?3e{{AL)t_& zDL=d(*_#J+VHmRC!_kGg2>L2B7X!T&I|XnwU{*EzJ#xaHq~`!Y(kFI*!#cG$7yX+nGzA@xF> z@dQx(lP?FnmHoS+;UhG!vjCVPFn{{Mxi{7x5xQ{=Kr1}dwKPGw#xP7A1?&;TW-+1b z3vjvb;3F#;%_8{(gkLOnN#H_|5ymLbNf!#3S-C z$Ot_aZ<1=#i{|zx@pkZ^ycKf-47ZnmY5;O7^2@piMeu(@{chO*?TMjXNGsJ6dXmj7A-dmR8O zA3j41iNWRl-`ehR*!G$npF-G@C-B0tr0%S{T@FBRq62W zV%JF?@{218B?G<}nCRr;p(!1;7V624uV|prpnkV79MkSGJQ0HplVft{ zbif)Io5KF^Ky%_X`s32siNmU3ZP%?|z;ZAF0K8Amq!Qhrft3!cjpN{3QvA)*2fQkJ z@|D2)IZW2t8X#EjeW@Fj)fU+9%q#9Vi&{+m^V?zvnHN^MhRCZs$plVu2@HLyMdz1SABS zsbVc6YTqxA@{SbBE!cvERZoOP)q@~FKPFXl%L1_q^+Vh*LU4VJ0E~}#UTQ}@Ai~xu z3y*Dk(}KDr6%5r<(n!z<;(kr?c894$V@r5$N35oJYOtV(uHVSb@fJheGu_Ck$qg%) z#Hhcml4QDstd%T3LWbp_+j47-yn>ei;*a^L&u3kc31H+mu1H!(nTo-)n&f(2*L!q2 z|Cchgmv?qX0sX{D>-%BTv)9T}z}=L1czYAZrym#Moe3plCSPm9%ZZlYC8Ag#wyghX z@U`D&%Fd8C)0`Cc4eUb$ug*$j3YI#9u>9R^FT>x(vGQ^9lc$TWXz)fLe|s>fYxDbu z`26uAg4Qhm%}It{})aQyT-b0JB!U?CCjMeV+@tFER1Fs;FCQTa4rjUAb{^m3_ zI>5TM`}2v?gtwOHZ>MGB@j5~+nzv}= z3=~M;zo@4_bHl~3K^5-sA25blq4rEZ0P|DS%A1}opi_jJJ*`}ivP@)dUnXtEnT#x0 zwR=P0(b>XJGMGQFTrc)88|8l()Crqr*hE?$-#7n=-gjPQuze52GE~d=0Qq0}veY0}M;B&TU(*uigS*soi`(u6k#7Rtf8u&L*{y>S$;C5s$7Wnr(m`|IVQ zjBcmbbT&V`acVx>q6ayVjJW)Do)ZQ(^j=%c$uadMZLB!L#nfPKq_07_5PF+oBB@!C zW@4xXR2iE58=a$8mV4U}?I^L9uIC147cqigfA@RCV>bhf-La~ytGQNt!kv(Z*BRBL zRxp~sDz**EYHIYJWoOd;G|u&x@Y;T?( zD;u^}SA{cwv}63WbZ>}!idv?P^=J3~Q#&vzA{H*y>#7N(rKl*i&uU8#&!&bV6`PZ}T0Zv6suP16z(jzG3Sq2efI*Ne8DmJSV%Ok>&%a#Dn63-&O>d`nlJRkPZyI9&s%UlB`#} zXwHDfBAEzaI%#$8J*2XK1?jwzYVLkjw%wGBdg~l6)ORS%pKrEXT5{9;k=N|vVdhzywC@#Qf1PohB|cAJ{Bi4=Z92Ft z#{RdxoE~);!p_et{^NWrvH(b{ZkLEWtCn;zd)ZN2Nqydu?~8wH8K0JcuOv=`H7Kbp)0ebOxfeD zDTPsAwEhfN=t~`TXuuIGT6*ltN0qorm@PEG(R2T!s9J;UxN|B^Qqr+2lV#y&h)Fef zdDd7Vp_5zAZUTtZRP^z4B`2n3sdeF-ksliy#{6 zqG1h#py4+ACZTcx1c4*aZO3~pi_T0N&RTwe9|3$hTVtFy|A`nyth-KV z_8sn~y}L=HG%%vk$p7$+qM4PMweA^30if{JV6-zcc8=pDQ>s0jOmQDCq?^)&X*Lm1 zA*JliSB6y=`1|a=DolB-#(nfL+e_|+N*XlP>oK~2573tC;E zX<-_GRG{?{%%Y{eI(+d8G$}D_axO!L_ao^%=?5~+lwjx4Nc*;#>)(d>t4~aro#JM4 zaN3m!H$Xz%p!^mZ-r+w?$v-1F+qqbpTSSoPZu6fae=xTDjM0K}^SQA`42#Z~H!Su& zcHW%#w_RA*9YT+qPx9tJhR(%>>fOr}JI6M6ka_q%6dJ5qZDYuAlS z2M!e>E|!BC%%JT@cv3#aK`TVWYBAK_c9~+|Qk!h=7r=F1OzVTmPbZCNy*oP0w+K05uYB}&2VKqX+LNZqavs2s; zTT-Pwsjone$L*s(tHrk2$Ion97GgP^ism96!Z8T#(0?H0jQ@ll&(iC&Sil?Mc^Wb|i||8w>KoX`Mo#%K}V;Zs#}GQIJ)UKq{xzwS8N&c#=ajWcj}l3BrSJn*0I z9|&Gckj2bnoh_VE{)S3S(8bM?-QI&V=!cBKDD+o~BIh1l&02Xr+pN!lXOEE|9u03q zTKJpEo{zh_Wx$%kTc+NE?Qx$T9zZ-diLRv)mwLTB9}!%;K!qjrjY=cg>J)WI1!@iwz46=H*=Qh{%zBrl;(#10I~Y^L-66ZC zmHkYn{#IRV&=b2VQQ^A->MpCC56J@(L2LAV4iBdOoRzxn5kAw>fPbtuM%RwCvJ1bY z{?X;07Zf-g>1n2^)>Ei(=8L1JrRYBjN9iFx+PO=B`RhWpCUDg?rgXNHFs@!0W!k>H zu|M_BufY5sv!TPthoR?QTX3O%YP_zk`h@cGz??pb0s}6#$Vm^#zLb=|`q^{p>$2RH zo(4-c(43eec{u6-20^8sIxdBZM%t5YZhsBJOxRCZv!1|5@vHQYL|oKWqVcVv;F8Z$ zQsp64Nz)v9fG|Iox=j^i>l%k28W{bJsU)}BT=Th78Fr?vaZU77I11PL9*aUDW4u`_ znKAA2Ba4AJFy~KYZa;$#v3dk&l}&pIb?PxMM=}^zPul(3me31+nL^DCOpVdb5;nr= z5%Hpm(uh^ili*ah_z7Pfq0wT|4E8NHZ>d4?Y`(;tm%NEFSY=5BcE0>w~^Pf1EiKzoBzO}g!fymL%N=Vudmt$3R>TLzxsa&=UZ9jD)u z^%99V9Qn?esf98`;O*Yvi`jT^%xa60cl2`$r!7KL>Nm#{`KF9JYXLh<=;KsU7g(#n zwAz}xzb%e0UKD*q@>c5)F2W=MdemZ)Ta@dvD9f4My<l|&iv1%y!)E6xB!cw>INMwal zXa%_$M^lj)SgT3jh;fuNiNv5+AGTZXjonGA z=oZQ{QPyyp%jH~vM#>kza?lhA^t2{VfI`YHdLQ06A??sO++BPp=nJu~Y&A%JQTnnP zRD`u|Aj|JtiNrQDBWA1D>jXlb=U+;^RQ`Stt8X>XBA11YtDrHt3 z8+F$Jqjs=PFu@jt58JwscDa5rRE^@+EIxV@zW|sdB@3P1?qbtqDA` z%^MCEo^VFNzl@O&9cr}C7S2Xil&e)`&_Z$htY4-pUzi31@bzZSvl5okyVgo`lZ0t4 zTU9e%-_josC^|19ZJjigu_a18tjzaptM%KO&Ix7(4d#huC6dwd@oi+gqwAhnV-%}) zP1!oe;zR_cl}MSKWAc0voeL{N8o23P3yaBd<5^{>$fn7osWX4wEFYbbRF9Y5%PdTm z4t$j3|HcVZUMIKEbOp0{*nKKR*5jR?MJ|`IvuiyZ`g^-raEmW+bi{?z zn$D9cm{Vs7*S?l=zeX76M8Ra%PZv*tQ@_RjvxT4Le5Y z;+qNYphLRI4F{3E#Qtc#?-_6+GlTRxTz$9^W|;c=AO%i>B>%fsA9?g5;3A4h+iB6s z9P)CBkmJP9z|Q?W18$cbf#vbVnwOhpyjMo|fn%G5JNVn4KEQmDd?YhAQ)SfLocoYGU zd)PXukN32KT)Ro~wdXb~x4nYghvudPHT0@6%dufcl=4Tv2!K$KiQqHYDvpG{(c2vs z&nO&`T@c}PL_Cyvw&etx7iJj@d4VG0H`GKbwbpx?rdOS9<=|YILo)B5m;h=-@+Ww> z2H*y|B>53EGSeRQfrQsbC8ABv__uXVmM$&{8nijEe@1=T7SYFG{)!>!h*5D+Wm5VD z=ssBV#{dVjd3|o~5t~?*snKc?_u3lYaX_WAxYVfBrgCK`^AGi|w&%zN1#-D!dKb^% zlY3^v^cS&pB+r|fJG={g=uRezhX zJL%;euqFi_=7?y)QIkPChAJj_iz=%nEZxA5SJ^ZWd<#Fd|L14-uYcf=W8$la?f*rx z4owBwsC2TA89P`XZ52}qqwO%e?|6%rhdH}xP6RxsP3fY70{{4E?arUK$N)NecMT2fWv$g_yytPZtHa-AQ``3MzAP*lCie60xq~~gvsTIA@Aiy z-GgG9aMbixbW?@-X0(#1=J7J+?wHWOa^I5Ig{J!9f&sEEp$XmX{K#JDuvb@);((gL zQLHFY-BZ+XZ+>cZbR8+{RarMgAg3l7Pb(x|K*F=QkYjlfMX26!gc?OoY{Jj;7Z>1{ z|5Qm&UX{A#HXIkoBiUjwN0c6{C0#WP-}t4Hgz%gpsfu%gu7poLw;THDkVUvdqQjH{ zThYPbc+dKkz3+ToLiIyQ zS$YP&vfwpivPOqj8tCVVe`VsU3YK{+Yuk;IRsmE_*`85WPr!?6It@Q#$wVQGkC&95 znkTniN<^Akv*|=$FPf?9Et>4n#|TzpSK{mEhYS=9u>A%mx z0eG|cd6{)rF#m2r704^|1mYeQYT)&DsaJ}7`&G~qL8d{@^0`7$0wq|4$)@wjlVZv4P5KL`SD@9Pr_ zcLI3_-NgCPqca4EJ$JD+_m}?8R1y}dcd+VDU7m~~@{A%s@Q0RwR9ogD7d{1A6&S*rYuYE0qfyxH@j(5?&t`hVMC;v5M7T4!7F^w**h^)#SiQay*W z5zPZaadoQkzujREX)L;T&Csq}@WibzJkCXqd}59)w+?iYXathn~F7bXal$ItpefdQp3%-H}rc`o*H@;xH` zib`#<@r^KCS>?1{c2(`C)VD#1-e&ObRfcRIV;A|-7NN&Q60 zr?ihgLYhckUMD%*A{j6MsRZ35PUEetO@uFpSG|W_ceA>Eb^ONJI8a07{HhvauK-xLX5CXEES?b@FYI7 z0L>>f_fyEECkV_E&UEy+Kn3>+liqE&MWttkxXELN4?;&#!CnQrGAR_zd96sCabVo}8$D1l!r1}Kp777%l6hYup| zX;A=49o;16weU%9$@Aui-Aa7ET_@-S02$I`!H*(_CRuzmIw+&|?r^qu^S5h3WB9|N zYhQ%i*g;qi$Hdbff|yq>lHnzwj_+bV??mkhq6)4Ytc}pm#GA1_SpZ?SgA|Y6|6MCj&t{+*g!Y#O}61X zW~Ku>#JOqG4tLg=uNV~ zn<)I>-KPKz2k|*hy9=!PPtR?PwREUA+p5n8Hzw2`34V3<*spiqJSc7luQe`?tpTp* z>M-iiOaV_HgIb%Q3+HVTc@%9J#S-(RkiUyDh*{@4BTX6nLHD#HVRPIaC))Ef-^_Mb z3wLT0zjSEp)J=LZo0?-7w7WoSW;fBLnG-+GV7|WC%T?gs27dB%fs%gttTn5DH6aKi zpAZ!A60c&9h>sgf6e&V=Hc~(AIm#L8!XIM64{NHr;WV*ByD#vS;fH0e%*~=w zh|?uW2fEdMDfWB+nnL7>or5rycBZIs+_-WYl^?{?@MiVLx5)R@391*Vvs&(6f)U8SI!FLP}mhJ z^Qzsyhv8eYQZEAv^i7^N2f4U1u*&k2QQNGJm;EOQe|9O+9jO=2Rjv*TQGtDws-Sx~ zuhsJG{bwlViR;VH%R|Piat(A#!knyOs@riApNri8*t2Qwj~99yh|UA%rzoUoy{^bd zS`?h>&qm4MWokBVmmc%k(SMJI@kdXux1%@;G6RirthbCQf81>!{16W+-!`5zh!2rk zx#n*bB1I|o(gJ%+7F!wz^Z;O-AgC-O_@mcxIWY=*TTyb!5sGD|(ZjI=5mSl{ezhOI zJ*S)FxHFq!$=OAVMq6OoEU0XUs^1`%=yMS|FS*v?J{g8V>fy?T96s;Y=~e?Eeuv*9 zRYNV?!5>9JG^AQBdo6>{U59wp{KMftyAgbR?c~_rf(*|NXnT6RgQFUFA-IJPEi^76 zK&?(0Ijo`z`_H;+0VF1S(x{E|rF}2e5f#5&pH}Iye6ENC2q}k{CD@VhaQjx)?}&jF za$78fCCC`;D@HM*VwMg*%Kagui)_X5LMvu#Lc)St#_D$6eb&zv$+Hl8E&u1wyeG)PzeGOpkXwy?R&d#2j)ly@jwKm^lT zb&WqJeweoC3ti!){r$P5jJh;vdzvPD?YY&PQabvr?2GxNe>7(~KsV$-a=;IrpH^3? z4kM06JW*O>L~Xq-fyXJ9FDlrbJlBrK9QCt#R{wZ+J5^H16_MFT?4|+lu%VIz<23{u zAJ&fQkmi>6)yCz|+)riXa2kl*wmA%4{m%saur-@Egg-7Kt8j?S9AK!yvrn+@KY7wO z{N0rVV4f^JboV=qTcyS*E~4p@2Gpz>S&sLTPyI-fe75hx_nm$1!n$fych6m4v$GhV zbkP2*u+p0<1bJ{mLwGdA;?MTV;wsf5^tHDQnC$x1Q_aD$pupL={QQ(Q;d2h}OcSF( z6c@YdMUbm>5?!WwkQXp#p`KJ`=_^`HF@Us|+<{FQ$u)B+ywX{%z{5x@#OajnbbreQ z=TPzR!+lwmm?s(#36nOIF#Eps_`dNZM05w94t1ppZzemp>1S0l(m;SJ>~YwpKPona zprmvP2T{ZYt0mG$i!&b}1{|NXdrTmBajewDeKgARO)dsO!1Lo-i|}AY3SO1{mNySI zz=(s-%fJGk;-K-*K`%16dLd61ow}d$#`pSaV7!Z`adxv2Hl>-*?v0gb_6Qe)ujyB> zL}=TtdEf6g-AZ$v_T=JEed(B>V=;%m{-&-^w;$G3*@=%jWJ}|!@l>|{$BA!$d{i_? z?XJek!`~j0$!gK_hTY0(rO9mZXIC%zZZblMI~X({xl$SZ}~- z8_z+EJw}?Gq5e7cDele4P)BM}usT9EhI-<=3L{6O z*QqyQq_a6lwde;n*7h}+(j`aa69`xZPp1y(On#N>e+pDO*|%tMM>Gs-$Hj8|B=6hj z7rt1=WZ>1A8dM$yc&0}ARUvTED|q#9pMpr!V*QueaC5>+<}ll=ckxvj)920ghr=!L zCmwkaOYv@B`%P4q5hWCjn3`2gXBy3bamjsY z=U=xX^cgMBUEv^p7Ma&(+Jf@GdcY5~

    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 018/893] [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 019/893] [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 53d54c80a0f35160ca69127671c512aa6f183333 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 14 Jun 2012 16:17:32 +0200 Subject: [PATCH 020/893] [IMP] mail: initial model for mail.alias - work-in-progress bzr revid: odo@openerp.com-20120614141732-oa6fhfqgl887c04i --- addons/mail/__init__.py | 1 + addons/mail/mail_alias.py | 82 ++++++++++++++++++++++++++++++++++++++ addons/mail/mail_thread.py | 61 +++++++++++++++------------- 3 files changed, 117 insertions(+), 27 deletions(-) create mode 100644 addons/mail/mail_alias.py diff --git a/addons/mail/__init__.py b/addons/mail/__init__.py index d9835f86fc5..4c313338ceb 100644 --- a/addons/mail/__init__.py +++ b/addons/mail/__init__.py @@ -23,6 +23,7 @@ import mail_message import mail_thread import mail_group import mail_subscription +import mail_alias import res_users import res_partner import report diff --git a/addons/mail/mail_alias.py b/addons/mail/mail_alias.py new file mode 100644 index 00000000000..b5aa6f6d76a --- /dev/null +++ b/addons/mail/mail_alias.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (C) 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 openerp.osv import fields, osv + +class mail_alias(osv.Model): + """A Mail Alias is a mapping of an email address with a given OpenERP Document + model. It is used by OpenERP's mail gateway when processing incoming emails + sent to the system. If the recipient address (To) of the message matches + a Mail Alias, the message will be either processed following the rules + of that alias. If the message is a reply it will be attached to the + existing discussion on the corresponding record, otherwise a new + record of the corresponding model will be created. + + This is meant to be used in combination with a catch-all email configuration + on the company's mail server, so that as soon as a new mail.alias is + created, it becomes immediately usable and OpenERP will accept email for it. + """ + _name = 'mail.alias' + _description = "Mail Alias" + _rec_name = 'alias_name' + + _columns = { + 'alias_name': fields.char('Mailbox Alias', required=True, + help="The name of the mailbox alias, e.g. `jobs' " + "if you want to catch emails for ",), + 'alias_model_id': fields.many2one('ir.model', 'Aliased Model', required=True, + help="The model (OpenERP Document Kind) to which this alias " + "corresponds. Any incoming email that does not reply to an " + "existing record will cause the creation of a new record " + "of this model (e.g. a Project Task)", + # only allow selecting mail_thread models! + domain="[('field_ids', 'in', 'message_ids')]"), + 'alias_user_id': fields.many2one('res.users', 'Owner', + help="The owner of records created upon receiving emails on this alias. " + "If this field is kept empty the system will attempt to find the right owner " + "based on the sender (From) address, or will use the Administrator account " + "if no system user is found for that address."), + 'alias_defaults': fields.text('Default Values', required=True, + help="The representation of a Python dictionary that will be evaluated to provide " + "default values when creating new records."), + 'alias_force_thread_id': fields.integer('Record Thread ID', + help="Optional ID of the thread (record) to which all " + "messages will be attached, even if they did not reply to it. " + "If set, this will disable the creation of new records completely.") + } + _defaults = { + 'alias_defaults': '{}', + 'alias_user_id': lambda s,c,u,ctx: u + } + _sql_constraint = [ + ('mailbox_uniq', 'unique (alias_name)', 'Unfortunately this mail alias is already used, please choose a unique one') + ] + + def create_unique_alias(self, cr, uid, values, context=None): + # TODO: call create() with `values` after checking that `alias_name` + # is unique. If not unique, append a sequential number after it until + # a unique one if found. + # E.g if create_unique_alias is called with {'alias_name': 'abc'} + # and 'abc', 'abc1', 'abc2' alias exist, replace alias_name with 'abc3'. + return + + + \ No newline at end of file diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index b1b6c68e4cc..40824ba5427 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -72,6 +72,7 @@ class mail_thread(osv.osv): _columns = { 'message_ids': fields.function(_get_message_ids, method=True, type='one2many', obj='mail.message', string='Temp messages', _fields_id = 'res_id'), + 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]), } #------------------------------------------------------ @@ -445,6 +446,13 @@ class mail_thread(osv.osv): msgs = msg_obj.read(cr, uid, msg_ids, context=context) return msgs + + def message_catchall(self, cr, uid, message, context=None): + """TODO proper docstring, inspired by messsage_process()""" + # TODO + pass + + #------------------------------------------------------ # Email specific #------------------------------------------------------ @@ -452,7 +460,7 @@ class mail_thread(osv.osv): def message_process(self, cr, uid, model, message, custom_values=None, save_original=False, strip_attachments=False, - context=None): + thread_id=None, context=None): """Process an incoming RFC2822 email message related to the given thread model, relying on ``mail.message.parse()`` for the parsing operation, and then calling ``message_new`` @@ -472,6 +480,10 @@ class mail_thread(osv.osv): email source attached to the message after it is imported. :param bool strip_attachments: whether to strip all attachments before processing the message, in order to save some space. + :param int thread_id: optional ID of the record/thread from ``model`` + to which this mail should be attached. When provided, this + overrides the automatic detection based on the message + headers. """ # extract message bytes - we are forced to pass the message as binary because # we don't know its encoding until we parse its headers and hence can't @@ -479,13 +491,12 @@ class mail_thread(osv.osv): if isinstance(message, xmlrpclib.Binary): message = str(message.data) - model_pool = self.pool.get(model) - if self._name != model: - if context is None: context = {} - context.update({'thread_model': model}) + if context is None: context = {} mail_message = self.pool.get('mail.message') - res_id = False + model_pool = self.pool.get(model) + if self._name != model: + context.update({'thread_model': model}) # Parse Message # Warning: message_from_string doesn't always work correctly on unicode, @@ -504,8 +515,7 @@ class mail_thread(osv.osv): return model_pool.message_new(cr, uid, msg, custom_values, context=context) - res_id = False - if msg.get('references') or msg.get('in-reply-to'): + if not thread_id and (msg.get('references') or msg.get('in-reply-to')): references = msg.get('references') or msg.get('in-reply-to') if '\r\n' in references: references = references.split('\r\n') @@ -513,26 +523,23 @@ class mail_thread(osv.osv): references = references.split(' ') for ref in references: ref = ref.strip() - res_id = tools.reference_re.search(ref) - if res_id: - res_id = res_id.group(1) - else: - res_id = tools.res_re.search(msg['subject']) - if res_id: - res_id = res_id.group(1) - if res_id: - res_id = int(res_id) - if model_pool.exists(cr, uid, res_id): - if hasattr(model_pool, 'message_update'): - model_pool.message_update(cr, uid, [res_id], msg, {}, context=context) - else: - # referenced thread was not found, we'll have to create a new one - res_id = False - if not res_id: - res_id = create_record(msg) + thread_id = tools.reference_re.search(ref) + if not thread_id: + thread_id = tools.res_re.search(msg['subject']) + if thread_id: + thread_id = int(thread_id.group(1)) + if not model_pool.exists(cr, uid, thread_id) or \ + not hasattr(model_pool, 'message_update'): + # referenced thread not found or not updatable, + # -> create a new one + thread_id = False + if not thread_id: + thread_id = create_record(msg) + else: + model_pool.message_update(cr, uid, [thread_id], msg, {}, context=context) #To forward the email to other followers - self.message_forward(cr, uid, model, [res_id], msg_txt, context=context) - return res_id + self.message_forward(cr, uid, model, [thread_id], msg_txt, context=context) + return thread_id def message_new(self, cr, uid, msg_dict, custom_values=None, context=None): """Called by ``message_process`` when a new message is received From 0fb2419d257a33ac140a0c63f58f0bcf7d7aab81 Mon Sep 17 00:00:00 2001 From: Christophe Simonis Date: Fri, 15 Jun 2012 18:11:08 +0200 Subject: [PATCH 021/893] [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 022/893] [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 023/893] [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 024/893] [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 4fd82385df1e606e84968f1cf545654b1538209e Mon Sep 17 00:00:00 2001 From: "Amit Patel (OpenERP)" Date: Tue, 19 Jun 2012 17:01:07 +0530 Subject: [PATCH 025/893] [FIX]: When we cancel the repair order then status should be "Cancelled" not "Cancel" Product to repair field on repair order should not show service products Move, when create a new move it should take Product to repair by default. bzr revid: apa@tinyerp.com-20120619113107-z9sipz51tb3kv2kx --- addons/mrp_repair/mrp_repair.py | 2 +- addons/mrp_repair/mrp_repair_view.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py index 6f14ba22bea..4b48a9fdeb7 100644 --- a/addons/mrp_repair/mrp_repair.py +++ b/addons/mrp_repair/mrp_repair.py @@ -122,7 +122,7 @@ class mrp_repair(osv.osv): 'prodlot_id': fields.many2one('stock.production.lot', 'Lot Number', select=True, domain="[('product_id','=',product_id)]"), 'state': fields.selection([ ('draft','Quotation'), - ('cancel','Cancel'), + ('cancel','Cancelled'), ('confirmed','Confirmed'), ('under_repair','Under Repair'), ('ready','Ready to Repair'), diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml index 6e40bb8fd26..80ae7ae919f 100644 --- a/addons/mrp_repair/mrp_repair_view.xml +++ b/addons/mrp_repair/mrp_repair_view.xml @@ -45,7 +45,7 @@
    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 d1e3b9edb7c19f5490d1caa5e07d16f333111bc8 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Tue, 19 Jun 2012 17:45:44 +0530 Subject: [PATCH 027/893] [IMP]current location set as required if delivery bool is true bzr revid: sgo@tinyerp.com-20120619121544-vlmgqh6eyl1oyy4e --- addons/mrp_repair/mrp_repair_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml index 80ae7ae919f..0ea08fe6388 100644 --- a/addons/mrp_repair/mrp_repair_view.xml +++ b/addons/mrp_repair/mrp_repair_view.xml @@ -165,7 +165,7 @@ - + From eb4368d9acdeb09d004bf2ec0bab0dfeae902b90 Mon Sep 17 00:00:00 2001 From: "Amit Patel (OpenERP)" Date: Tue, 19 Jun 2012 17:55:24 +0530 Subject: [PATCH 028/893] [FIX]:Pricelist field should be on Operations tab not on Invoicing tab bzr revid: apa@tinyerp.com-20120619122524-kf7hsjbwl3h0qljn --- addons/mrp_repair/mrp_repair_view.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml index 80ae7ae919f..4f9bae96343 100644 --- a/addons/mrp_repair/mrp_repair_view.xml +++ b/addons/mrp_repair/mrp_repair_view.xml @@ -67,6 +67,11 @@ + + +
    @@ -123,9 +128,6 @@ - From 574bbef10e374eb82190cbdd976227b946d1931f Mon Sep 17 00:00:00 2001 From: "Amit Patel (OpenERP)" Date: Tue, 19 Jun 2012 18:20:23 +0530 Subject: [PATCH 029/893] [FIX]:When Before/After Invoicing is selected then Partner and Invoice address fields should become required. bzr revid: apa@tinyerp.com-20120619125023-470ow029ub54a0yx --- addons/mrp_repair/mrp_repair_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml index 4f9bae96343..fb20e465a31 100644 --- a/addons/mrp_repair/mrp_repair_view.xml +++ b/addons/mrp_repair/mrp_repair_view.xml @@ -53,7 +53,7 @@ - + @@ -128,7 +128,7 @@ - + From 5fb503be30e88665034531ad966a9eda8ba74217 Mon Sep 17 00:00:00 2001 From: "Sanjay Gohel (Open ERP)" Date: Tue, 19 Jun 2012 18:24:38 +0530 Subject: [PATCH 030/893] [FIX]add sale groups to partner_invoice bzr revid: sgo@tinyerp.com-20120619125438-9fbo2ibngv269wvx --- addons/mrp_repair/mrp_repair_view.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml index 0ea08fe6388..cd617d0d8b0 100644 --- a/addons/mrp_repair/mrp_repair_view.xml +++ b/addons/mrp_repair/mrp_repair_view.xml @@ -54,7 +54,7 @@ - + @@ -126,7 +126,7 @@ - + From f257cb34524e0f230e41b7229bbcd71ad50974d5 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Tue, 19 Jun 2012 18:45:18 +0530 Subject: [PATCH 031/893] [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 b80bb49da879f22126b5c86e1cedb388903b565f Mon Sep 17 00:00:00 2001 From: "Amit Patel (OpenERP)" Date: Tue, 19 Jun 2012 18:53:15 +0530 Subject: [PATCH 032/893] [FIX]: When invoicing is "After invoice" then end repair and try to cancel the repair it raises following warning: Warning! Repair order is not invoiced. If its never gonna allow to cancel then no need to show "Cancel Repair" button bzr revid: apa@tinyerp.com-20120619132315-t5me8olij3wdmq3c --- addons/mrp_repair/mrp_repair_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/mrp_repair/mrp_repair_view.xml b/addons/mrp_repair/mrp_repair_view.xml index 5970bce5c0c..a6253321f14 100644 --- a/addons/mrp_repair/mrp_repair_view.xml +++ b/addons/mrp_repair/mrp_repair_view.xml @@ -37,7 +37,7 @@ ').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 ae8f2af54240238829dd10e884c1d923b03b1301 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP Date: Fri, 22 Jun 2012 10:55:57 +0530 Subject: [PATCH 051/893] [IMP] added mail alias under depedancy of the mail,group bzr revid: jam@tinyerp.com-20120622052557-xmzgdsk85nyv1668 --- addons/mail/__init__.py | 2 +- addons/mail/mail_group.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/addons/mail/__init__.py b/addons/mail/__init__.py index 4c313338ceb..f06b4536040 100644 --- a/addons/mail/__init__.py +++ b/addons/mail/__init__.py @@ -19,11 +19,11 @@ # ############################################################################## +import mail_alias import mail_message import mail_thread import mail_group import mail_subscription -import mail_alias import res_users import res_partner import report diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py index 0a8677d7862..e46865473f6 100644 --- a/addons/mail/mail_group.py +++ b/addons/mail/mail_group.py @@ -48,7 +48,7 @@ class mail_group(osv.osv): _description = 'Discussion group' _name = 'mail.group' _inherit = ['mail.thread'] - + _inherits = {'mail.alias': 'alias_id'} def action_group_join(self, cr, uid, ids, context={}): return self.message_subscribe(cr, uid, ids, context=context); @@ -129,6 +129,7 @@ class mail_group(osv.osv): 'member_count': fields.function(get_member_ids, type='integer', string='Member count', multi='get_member_ids'), 'is_subscriber': fields.function(get_member_ids, type='boolean', string='Joined', multi='get_member_ids'), 'last_month_msg_nbr': fields.function(get_last_month_msg_nbr, type='integer', string='Messages count for last month'), + 'alias_id': fields.many2one('mail.alias', 'Mail Alias') } _defaults = { @@ -136,3 +137,8 @@ class mail_group(osv.osv): 'responsible_id': (lambda s, cr, uid, ctx: uid), 'photo': _get_default_photo, } + + def create(self, cr, uid, vals, context=None): + model_pool = self.pool.get('ir.model.data') + #TODO find the model id and pass and finish the all mail alias needs + return super( mail_group, self).create(cr, uid, vals, context) From 2251aa0b7882ae7368e6667914e9a7d468e3bfee Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Fri, 22 Jun 2012 12:16:01 +0530 Subject: [PATCH 052/893] [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 541ec87069818a8250a153abba4e1be0cb981af6 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP Date: Fri, 22 Jun 2012 14:38:19 +0530 Subject: [PATCH 053/893] [IMP] Added Mail Alis Impmentation for the Mail Group bzr revid: jam@tinyerp.com-20120622090819-ps514pp2x3w5hm0p --- addons/mail/mail_alias.py | 25 +++++++++++++++---------- addons/mail/mail_alias_view.xml | 2 +- addons/mail/mail_group.py | 6 +++++- addons/mail/mail_group_view.xml | 3 +++ 4 files changed, 24 insertions(+), 12 deletions(-) diff --git a/addons/mail/mail_alias.py b/addons/mail/mail_alias.py index d4097f82de9..7243660fea2 100644 --- a/addons/mail/mail_alias.py +++ b/addons/mail/mail_alias.py @@ -48,7 +48,9 @@ class mail_alias(osv.Model): "existing record will cause the creation of a new record " "of this model (e.g. a Project Task)", # only allow selecting mail_thread models! - domain="[('field_ids', 'in', 'message_ids')]"), + #TODO kept doamin temporarily in comment, need to redefine domain + #domain="[('field_id', 'in', 'message_ids')]" + ), 'alias_user_id': fields.many2one('res.users', 'Owner', help="The owner of records created upon receiving emails on this alias. " "If this field is kept empty the system will attempt to find the right owner " @@ -66,17 +68,20 @@ class mail_alias(osv.Model): 'alias_defaults': '{}', 'alias_user_id': lambda s,c,u,ctx: u } - _sql_constraint = [ - ('mailbox_uniq', 'unique (alias_name)', 'Unfortunately this mail alias is already used, please choose a unique one') + _sql_constraints = [ + ('mailbox_uniq', 'UNIQUE(alias_name)', 'Unfortunately this mail alias is already used, please choose a unique one') ] - def create_unique_alias(self, cr, uid, values, context=None): - # TODO: call create() with `values` after checking that `alias_name` - # is unique. If not unique, append a sequential number after it until - # a unique one if found. - # E.g if create_unique_alias is called with {'alias_name': 'abc'} - # and 'abc', 'abc1', 'abc2' alias exist, replace alias_name with 'abc3'. - return + def create_unique_alias(self, cr, uid, values, sequence = 1 ,context=None): + config_parameter_pool = self.pool.get("ir.config_parameter") + domain = config_parameter_pool.get_param(cr, uid, "mail.catchall.domain", context=context) + prob_alias = "%s%s@%s"%(values['alias_name'], sequence, domain) + search_alias = self.search(cr, uid, [('alias_name', '=', prob_alias)]) + if search_alias: + values = self.create_unique_alias(cr, uid, values, sequence+1, context) + else: + values.update({'alias_name': prob_alias}) + return values diff --git a/addons/mail/mail_alias_view.xml b/addons/mail/mail_alias_view.xml index ecf0bb49ae1..5e59dfe8e0f 100644 --- a/addons/mail/mail_alias_view.xml +++ b/addons/mail/mail_alias_view.xml @@ -11,7 +11,7 @@
    - + diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py index e46865473f6..7b6c55f5d83 100644 --- a/addons/mail/mail_group.py +++ b/addons/mail/mail_group.py @@ -140,5 +140,9 @@ class mail_group(osv.osv): def create(self, cr, uid, vals, context=None): model_pool = self.pool.get('ir.model.data') - #TODO find the model id and pass and finish the all mail alias needs + alias_pool = self.pool.get('mail.alias') + model, res_id = model_pool.get_object_reference( cr, uid, "mail", "model_mail_group") + vals.update({'alias_name': "mailing-list", + 'alias_model_id': res_id}) + name = alias_pool.create_unique_alias(cr, uid, vals, context=context) return super( mail_group, self).create(cr, uid, vals, context) diff --git a/addons/mail/mail_group_view.xml b/addons/mail/mail_group_view.xml index b2b34da8472..3bde23d9ddd 100644 --- a/addons/mail/mail_group_view.xml +++ b/addons/mail/mail_group_view.xml @@ -69,6 +69,9 @@ + + + From 2ef9861edb81726a82615a151e8ed45aa8d8d778 Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP Date: Fri, 22 Jun 2012 14:46:58 +0530 Subject: [PATCH 054/893] [IMP] write force_thread_id for the mail_group bzr revid: jam@tinyerp.com-20120622091658-ysxn55f3w79r0lg5 --- addons/mail/mail_alias.py | 2 -- addons/mail/mail_group.py | 7 +++++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/addons/mail/mail_alias.py b/addons/mail/mail_alias.py index 7243660fea2..54adfa34b23 100644 --- a/addons/mail/mail_alias.py +++ b/addons/mail/mail_alias.py @@ -83,5 +83,3 @@ class mail_alias(osv.Model): values.update({'alias_name': prob_alias}) return values - - diff --git a/addons/mail/mail_group.py b/addons/mail/mail_group.py index 7b6c55f5d83..edd692bdd51 100644 --- a/addons/mail/mail_group.py +++ b/addons/mail/mail_group.py @@ -142,7 +142,10 @@ class mail_group(osv.osv): model_pool = self.pool.get('ir.model.data') alias_pool = self.pool.get('mail.alias') model, res_id = model_pool.get_object_reference( cr, uid, "mail", "model_mail_group") - vals.update({'alias_name': "mailing-list", + vals.update({'alias_name': "mailing-group", 'alias_model_id': res_id}) name = alias_pool.create_unique_alias(cr, uid, vals, context=context) - return super( mail_group, self).create(cr, uid, vals, context) + res = super( mail_group, self).create(cr, uid, vals, context) + record = self.read(cr, uid, res, context) + alias_pool.write(cr, uid, [record['alias_id']], {"alias_force_thread_id":record['id']}, context) + return res From daef4a7eddd4c7d744cdd8ddbff8c3228a4d5d8b Mon Sep 17 00:00:00 2001 From: Jigar Amin - OpenERP Date: Fri, 22 Jun 2012 16:20:57 +0530 Subject: [PATCH 055/893] [FIX] Imporved the message_catchall, based intial test on fetchmail service bzr revid: jam@tinyerp.com-20120622105057-juecpgoh8xi5x87e --- addons/mail/mail_thread.py | 31 ++++++++++++++++--------------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/addons/mail/mail_thread.py b/addons/mail/mail_thread.py index 72491bf5b97..ce6094879c3 100644 --- a/addons/mail/mail_thread.py +++ b/addons/mail/mail_thread.py @@ -456,7 +456,7 @@ class mail_thread(osv.osv): user_obj = self.pool.get('res.user') user_id = 1 if alias.alias_user_id: - user_id = alias_id.alias_user_id.id + user_id = alias.alias_user_id.id #if user_id not defined in the alias then search related user using name of Email sender else: from_email = msg.get('from') @@ -472,35 +472,36 @@ class mail_thread(osv.osv): send notification mail sender that this mailbox does not exist so your mail have been rejected. """ - alias_obj = self.pool.get('mail.alias') - user_obj = self.pool.get('res.user') - mail_message = self.pool.get('mail.compose.message') - + alias_pool = self.pool.get('mail.alias') + user_pool = self.pool.get('res.user') + mail_compose_pool = self.pool.get('mail.compose.message') + mail_message_pool = self.pool.get('mail.message') if isinstance(message, xmlrpclib.Binary): message = str(message.data) - # Parse Message # Warning: message_from_string doesn't always work correctly on unicode, # we must use utf-8 strings here :-( if isinstance(message, unicode): message = message.encode('utf-8') msg_txt = email.message_from_string(message) - msg = mail_message.parse_message(msg_txt, save_original=save_original) - + msg = mail_message_pool.parse_message(msg_txt) alias_name = msg.get('to') - alias_ids = mail_alias.search(cr, uid, [('alias_name','=',alias_name)],context) - alias_id = mail_alias.browse(cr, uid, alias_ids[0], context) + alias_ids = alias_pool.search(cr, uid, [('alias_name','=',alias_name)],context) + alias_id = alias_pool.browse(cr, uid, alias_ids[0], context) #if alias found then call message_process method. if alias_id: - user_id = self._get_user(self, cr, uid, alias_id, context) - self.message_process(self, cr, user_id, alias_id.alias_model_id.id, message, custom_values = alias_id.alias_defaults or {}, thread_id = alias_id.alias_force_thread_id or {}, context=context) - #if alis not found give Exception + user_id = self._get_user( cr, uid, alias_id, context) + self.message_process(cr, user_id, alias_id.alias_model_id.model, message, + custom_values = alias_id.alias_defaults or {}, + thread_id = alias_id.alias_force_thread_id or False, + context=context) + #if mail_alias not found give Exception else: #_logger.warning("This mailbox does not exist so mail gate will reject this mail.") - from_email = user_obj.browse(cr, uid, uid, context).user_email + from_email = user_pool.browse(cr, uid, uid, context).user_email sub = "Mail Rejection" + msg.get('subject') message = "Respective mailbox does not exist so your mail have been rejected" + msg - mail_message.send_mail(cr, uid, {'email_from': from_email,'email_to': msg.get('from'),'subject': sub, 'body_text': message}, context) + mail_compose_pool.send_mail(cr, uid, {'email_from': from_email,'email_to': msg.get('from'),'subject': sub, 'body_text': message}, context) return True From e1ddabaff0fefb622511c8513f1b25416b031d74 Mon Sep 17 00:00:00 2001 From: "Jiten (OpenERP)" Date: Fri, 22 Jun 2012 17:07:36 +0530 Subject: [PATCH 056/893] [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 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 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.
    -
    +
    From 7979f0c5eec9f431e9014c624975a06188e672a4 Mon Sep 17 00:00:00 2001 From: Antonin Bourguignon Date: Fri, 29 Jun 2012 15:33:29 +0200 Subject: [PATCH 144/893] [FIX] *AGAIN* the All Feeds view bzr revid: abo@openerp.com-20120629133329-309cezu46st0j50z --- addons/mail/static/src/xml/mail.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/mail/static/src/xml/mail.xml b/addons/mail/static/src/xml/mail.xml index 34445c48f8d..32523d897aa 100644 --- a/addons/mail/static/src/xml/mail.xml +++ b/addons/mail/static/src/xml/mail.xml @@ -1,7 +1,7 @@