From 8869a95230016aefdbfd310c5e2143053a515084 Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Thu, 18 Nov 2021 12:02:09 +0100 Subject: [PATCH] [delete] migration API in other module --- __init__.py | 1 - __manifest__.py | 2 +- controllers/__init__.py | 4 - controllers/main.py | 292 ---------------------------------------- 4 files changed, 1 insertion(+), 298 deletions(-) delete mode 100644 controllers/__init__.py delete mode 100644 controllers/main.py diff --git a/__init__.py b/__init__.py index 5c2bd8c..31660d6 100644 --- a/__init__.py +++ b/__init__.py @@ -1,4 +1,3 @@ # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -from . import controllers from . import models diff --git a/__manifest__.py b/__manifest__.py index ea4d432..956b29f 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -6,7 +6,7 @@ "author": "Le Filament", "license": "AGPL-3", "application": False, - "depends": ['cgscop_partner', 'auth_api_key'], + "depends": ['cgscop_partner'], "data": [ "security/security_rules.xml", "security/ir.model.access.csv", diff --git a/controllers/__init__.py b/controllers/__init__.py deleted file mode 100644 index 13d3f41..0000000 --- a/controllers/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -# © 2019 Le Filament (<http://www.le-filament.com>) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -from . import main diff --git a/controllers/main.py b/controllers/main.py deleted file mode 100644 index 3475bd0..0000000 --- a/controllers/main.py +++ /dev/null @@ -1,292 +0,0 @@ -# © 2019 Le Filament (<http://www.le-filament.com>) -# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). - -import json -import time - -from odoo import http -from odoo.http import request - - -class ApiTantiemo(http.Controller): - - @http.route(['/api/tantiemo', '/api/tantiemo/<int:partner>'], - type="http", auth="api_key", method=['GET'], - csrf=False) - def get_partner(self, partner=None): - """ - Retourne la lise des coopératives adhérentes ou radiées sur une année - glissante selon la spécification pour Tantiemo - """ - partner_condition = '' - if partner: - partner_condition = 'AND id = %s' % (partner,) - - query = """ - SELECT array_to_json(array_agg(row_to_json(t))) - FROM ( - SELECT - name AS "scopName", - COALESCE((SELECT name from res_partner_company_type WHERE id = partner.partner_company_type_id), '') AS "scopSocialForm", - member_number_int AS "scopAdherentId", - id AS "scopOdooId", - ( - SELECT json_strip_nulls(row_to_json(status)) - FROM ( - SELECT - CASE membership_status - WHEN 'member' THEN 'Adherent' - WHEN 'not_member' THEN 'NoAdherent' - WHEN 'out' THEN 'Excluded' - END "tag", - CASE - WHEN last_period.end IS NOT NULL THEN - ARRAY[last_period.end::TEXT,(SELECT name FROM scop_membership_reason_end WHERE id = last_period.end_reason_id)] - ELSE null - END "contents" - FROM - res_partner - WHERE - id = partner.id - ) status - ) as "scopStatus", - CASE - WHEN dissolution_date is not null THEN ARRAY[dissolution_date::TEXT, (SELECT name from res_partner_dissolution_reason WHERE id = partner.dissolution_reason_id)] - ELSE - '{}' - END "scopDisparition", - ( - SELECT row_to_json(contact) - FROM ( - SELECT - COALESCE(sigle, '') AS "contactSigle", - CONCAT_WS(' ', street, street2, street3, zip, city, cedex) as "contactAddress", - COALESCE(zip_departement, '') as "contactDepartment", - COALESCE((SELECT name from res_country_state WHERE id = partner.region), '') AS "contactRegion", - COALESCE(phone, '') AS "contactTel1", - COALESCE(mobile, '') AS "contactTel2", - COALESCE(email, '') AS "contactEmail", - COALESCE(website, '') AS "contactWeb" - FROM - res_partner - WHERE - id = partner.id - ) contact - ) as "scopContact", - ( - SELECT row_to_json(suivi) - FROM ( - SELECT - COALESCE((SELECT name from union_regionale WHERE id = partner.ur_id), '') AS "suiviUR", - COALESCE((SELECT name from res_users WHERE id = partner.followup_delegate_id), '') AS "suiviDelegate", - COALESCE((SELECT name from res_users WHERE id = partner.support_delegate_id), '') AS "suiviDelegate2", - COALESCE(( - SELECT string_agg(list.name, ', ') - FROM res_partner_res_partner_segment1_rel as rel - LEFT JOIN res_partner_segment1 AS list ON list.id = rel.segment_id - WHERE rel.partner_id = partner.id - ), '') as "suiviSegmentation", - COALESCE(( - SELECT string_agg(list.name, ', ') - FROM res_partner_res_partner_filiere_rel as rel - LEFT JOIN res_partner_filiere AS list ON list.id = rel.filiere_id - WHERE rel.partner_id = partner.id - ), '') as "suiviSector", - COALESCE((SELECT name from ur_financial_system WHERE id = partner.ur_financial_system_id), '') AS "suiviFinancialFacility" - FROM - res_partner - WHERE - id = partner.id - ) suivi - ) as "scopSuiviUR", - ( - SELECT row_to_json(activity) - FROM ( - SELECT - COALESCE((SELECT name from res_partner_creation_origin WHERE id = partner.creation_origin_id), '') AS "activityOrigin", - COALESCE((SELECT name from res_partner_creation_origin WHERE id = partner.creation_suborigin_id), '') AS "activitySuborigin", - date_1st_sign AS "activityImmatDate", - registration_date AS "activityImmatRCS", - COALESCE(social_object, '') AS "activityName", - COALESCE((SELECT name from res_partner_naf WHERE id = partner.naf_id), '') AS "activityNAF", - COALESCE(( - SELECT array_agg(list.name) FROM res_partner_res_partner_certification_rel as rel - LEFT JOIN res_partner_certification AS list ON list.id = rel.res_partner_certification_id - WHERE rel.res_partner_id = partner.id - ), '{}') as "activityAgreement", - siret AS "activitySIRET", - SUBSTRING(siret, 1, 11) AS "activitySIREN", - COALESCE(capital, 0) AS "activityCapital", - first_closeout as "activityReportDate", - closeout_month - 12841 AS "activityExoMonth", - is_seed_scop AS "activityInitiation", - is_incubated AS "activityIncubation", - COALESCE(staff_last, 0) AS "activityWorkforce", - staff_last_date AS "activityWorkfoceDate" - FROM - res_partner - WHERE - id = partner.id - ) activity - ) as "scopActivity", - COALESCE(( - SELECT array_to_json(array_agg(row_to_json(staff))) - FROM ( - SELECT - effective_date AS "staffDate", - CASE type_entry - WHEN 'questionnaire' THEN 'Questionnaire' - WHEN 'questionnaire_inscription' THEN 'Questionnaire Inscription' - WHEN 'regul_ur' THEN 'Régularisation UR' - WHEN 'regul_cg' THEN 'Régularisation CG' - WHEN 'regul_diane' THEN 'Régularisation Diane' - ELSE '' - END "staffType", - staff_count AS "staffEmployees", - staff_shareholder_count AS "staffCorporate", - staff_average AS "staffFullTime", - COALESCE(comment, '') AS "staffComment" - FROM - scop_partner_staff - WHERE - partner_id = partner.id - ) staff - ), '[]'::JSON) as "scopStaffHistory", - COALESCE(( - SELECT array_to_json(array_agg(row_to_json(c))) - FROM ( - SELECT - COALESCE((SELECT value from ir_translation WHERE name = 'res.partner.title,name' AND type = 'model' AND lang = 'fr_FR' AND res_id = contact.title), '') AS "executiveTitle", - COALESCE(firstname, '') as "executiveFirstName", - COALESCE(lastname, '') as "executiveLastName", - COALESCE(email, '') as "executiveEmail", - COALESCE(phone, '') as "executivePhone", - COALESCE(mobile, '') as "executiveMobile", - COALESCE(( - SELECT array_agg(list.name) FROM res_partner_res_partner_category_rel as rel - LEFT JOIN res_partner_category AS list ON list.id = rel.category_id - WHERE rel.partner_id = contact.id - ), '{}') as "executiveLabels", - COALESCE((SELECT name from res_partner_mandate WHERE id = contact.mandate_id), '') AS "executivePosition", - COALESCE((SELECT name from res_partner_function_lst WHERE id = contact.function_lst_id), '') AS "executivePost", - COALESCE(function, '') as "executiveRoles", - employee as "executiveIsEmployee", - CASE associate - WHEN 'asso' THEN 'Associé extérieur' - WHEN 'coop' THEN 'Associé coopérateur' - WHEN 'none' THEN 'Non associé' - ELSE '' - END "executivePartner", - birthYear as "executiveBirthYear", - COALESCE((SELECT name from res_partner_rgpd_origin WHERE id = contact.contact_origin_id), '') AS "executiveContactOrigin", - COALESCE((SELECT name from res_users WHERE id = contact.followup_delegate_id), '') AS "executiveDelegate", - COALESCE((SELECT name from union_regionale WHERE id = contact.ur_id), '') AS "executiveUR" - FROM - res_partner as contact - WHERE - parent_id = partner.id AND - type = 'contact' AND - mandate_id is not null - ) c - ), '[]'::JSON) as "scopExecutives", - - COALESCE(( - SELECT array_to_json(array_agg(row_to_json(liasse))) - FROM ( - SELECT - COALESCE(year, 0) as "reportYear", - COALESCE("L2052_FL", 0) as "reportTurnover", - COALESCE("L2052_GG", 0) as "reportOperating", - COALESCE("L2053_HN", 0) as "reportNetIncome", - COALESCE("daim", 0) as "reportDepreciationCharge", - COALESCE("L2051_DL", 0) as "reportOwnFunds", --- reportIndebted :: Scientific -- ENDETTEMENT --- reportNetPosition :: Scientific -- SITUATION NET - 0 as "reportIndebted", - 0 as "reportNetPosition", - COALESCE("L2050_GJ", 0) as "reportFinalBalance", - ( - SELECT row_to_json(exo) - FROM ( - SELECT - "L2050_DCLO" as "exoEnd", - "dureeExercice" as "exoDuration" - WHERE - "L2050_DCLO" IS NOT NULL AND - "dureeExercice" > 0 AND - id = liasse.id - ) exo - ) as "reportExo", - CASE type_id - WHEN 'lm' THEN 'Liste Ministère' - WHEN 'one_off' THEN 'Ponctuelle' - WHEN 'diane' THEN 'Diane' - WHEN 'survey_adjust' THEN 'Ajustement études' - ELSE '' - END "reportContext", - CASE source - WHEN 'manual' THEN 'SaisieManuelle' - WHEN 'inovatic_api' THEN 'APIInovatic' - WHEN 'xml' THEN 'ChargementXML' - WHEN 'riga' THEN 'ImportRIGA' - ELSE '' - END "reportSource" - FROM - scop_liasse_fiscale as liasse - WHERE - partner_id = partner.id AND - year > year - 5 AND - type_id != 'forecast' AND - revenue_cg > 0 - ORDER BY year DESC - ) liasse - ), '[]'::JSON) as "scopReports" - FROM - res_partner as partner - INNER JOIN ( - SELECT - max(start) as start, - partner_id - FROM - scop_membership_period - WHERE - type_id = 1 - GROUP BY - partner_id - ) periods - ON - periods.partner_id = partner.id - INNER JOIN ( - SELECT - start, - "end", - partner_id, - end_reason_id - FROM - scop_membership_period - WHERE - type_id = 1 - ) last_period - ON - last_period.partner_id = partner.id AND last_period.start = periods.start - WHERE - is_company = true AND - is_cooperative = true AND - membership_status in ('member', 'out') AND - (last_period."end" is null OR last_period."end" > NOW() - INTERVAL '1 YEAR') - %s - ) t; - """ % (partner_condition,) - - request._cr.execute(query) - datalist = request._cr.fetchall() - if not datalist[0][0]: - return http.Response( - response=json.dumps([]), - headers=[('Content-Type', 'application/json')] - ) - - return http.Response( - response=json.dumps(datalist[0][0]), - headers=[('Content-Type', 'application/json')] - ) -- GitLab