From 0606229cb5581940cbddf4e1d46bdad6bba64cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phan=20Sainl=C3=A9ger?= Date: Tue, 9 Aug 2022 23:02:58 +0200 Subject: [PATCH] [NEW] pad_hedgedoc_connector: create addon --- pad_hedgedoc_connector/__init__.py | 4 + pad_hedgedoc_connector/__manifest__.py | 64 +++++++++ pad_hedgedoc_connector/i18n/fr.po | 135 ++++++++++++++++++ pad_hedgedoc_connector/models/__init__.py | 5 + pad_hedgedoc_connector/models/company.py | 9 ++ pad_hedgedoc_connector/models/hedgedoc_pad.py | 11 ++ .../models/res_config_settings.py | 14 ++ .../security/ir.model.access.csv | 2 + .../static/description/icon.png | Bin 0 -> 18165 bytes .../views/res_config_settings_view.xml | 27 ++++ pad_hedgedoc_connector/wizard/__init__.py | 3 + pad_hedgedoc_connector/wizard/create_pad.py | 20 +++ pad_hedgedoc_connector/wizard/create_pad.xml | 20 +++ 13 files changed, 314 insertions(+) create mode 100644 pad_hedgedoc_connector/__init__.py create mode 100755 pad_hedgedoc_connector/__manifest__.py create mode 100644 pad_hedgedoc_connector/i18n/fr.po create mode 100644 pad_hedgedoc_connector/models/__init__.py create mode 100644 pad_hedgedoc_connector/models/company.py create mode 100644 pad_hedgedoc_connector/models/hedgedoc_pad.py create mode 100644 pad_hedgedoc_connector/models/res_config_settings.py create mode 100644 pad_hedgedoc_connector/security/ir.model.access.csv create mode 100644 pad_hedgedoc_connector/static/description/icon.png create mode 100644 pad_hedgedoc_connector/views/res_config_settings_view.xml create mode 100644 pad_hedgedoc_connector/wizard/__init__.py create mode 100644 pad_hedgedoc_connector/wizard/create_pad.py create mode 100644 pad_hedgedoc_connector/wizard/create_pad.xml diff --git a/pad_hedgedoc_connector/__init__.py b/pad_hedgedoc_connector/__init__.py new file mode 100644 index 0000000..35e7c96 --- /dev/null +++ b/pad_hedgedoc_connector/__init__.py @@ -0,0 +1,4 @@ +# -*- coding: utf-8 -*- + +from . import models +from . import wizard diff --git a/pad_hedgedoc_connector/__manifest__.py b/pad_hedgedoc_connector/__manifest__.py new file mode 100755 index 0000000..273edac --- /dev/null +++ b/pad_hedgedoc_connector/__manifest__.py @@ -0,0 +1,64 @@ +# -*- coding: utf-8 -*- +{ + "name": "Pad Hedgedoc Connector", + "category": "Notes", + "version": "12.0.1.0.0", + "summary": "Connect Odoo to Hedgedoc server", + "author": "Elabore", + "website": "https://elabore.coop/", + "installable": True, + "application": True, + "auto_install": False, + "description": """ +====================== +Pad Hedgedoc Connector +====================== +This module provides the capacity to link Odoo to a Hedgedoc instance in order to generate and manage Hedgedoc documents + +Installation +============ +Just install pad_hedgedoc_connector, all dependencies will be installed by default. +On your Hedgedoc server, the parameter CMD_ALLOW_FREEURL must be set to True + +Known issues / Roadmap +====================== + +Bug Tracker +=========== +Bugs are tracked on `GitHub Issues +`_. In case of trouble, please +check there if your issue has already been reported. If you spotted it first, +help us smashing it by providing a detailed and welcomed feedback. + +Credits +======= + +Images +------ +* Elabore: `Icon `_. + +Contributors +------------ +* Stéphan Sainléger + +Funders +------- +The development of this module has been financially supported by: +* Elabore (https://elabore.coop) + +Maintainer +---------- +This module is maintained by ELABORE. + +""", + "depends": [ + "base", + "base_setup", + ], + "data": [ + "security/ir.model.access.csv", + "views/res_config_settings_view.xml", + "wizard/create_pad.xml", + ], + "qweb": [], +} diff --git a/pad_hedgedoc_connector/i18n/fr.po b/pad_hedgedoc_connector/i18n/fr.po new file mode 100644 index 0000000..c0cce30 --- /dev/null +++ b/pad_hedgedoc_connector/i18n/fr.po @@ -0,0 +1,135 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * pad_hedgedoc_connector +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2022-08-10 06:23+0000\n" +"PO-Revision-Date: 2022-08-10 06:23+0000\n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: pad_hedgedoc_connector +#: model_terms:ir.ui.view,arch_db:pad_hedgedoc_connector.res_config_settings_view_form_hedgedoc +msgid "Hedgedoc URL" +msgstr "Hedgedoc URL" + +#. module: pad_hedgedoc_connector +#: model_terms:ir.ui.view,arch_db:pad_hedgedoc_connector.create_hedgedoc_pad_wizard +msgid "Cancel" +msgstr "Annuler" + +#. module: pad_hedgedoc_connector +#: model:ir.model,name:pad_hedgedoc_connector.model_res_company +msgid "Companies" +msgstr "Sociétés" + +#. module: pad_hedgedoc_connector +#: model:ir.model,name:pad_hedgedoc_connector.model_res_config_settings +msgid "Config Settings" +msgstr "Paramètres de config" + +#. module: pad_hedgedoc_connector +#: model_terms:ir.ui.view,arch_db:pad_hedgedoc_connector.create_hedgedoc_pad_wizard +msgid "Create" +msgstr "Créer" + +#. module: pad_hedgedoc_connector +#: model:ir.model,name:pad_hedgedoc_connector.model_create_hedgedoc_pad_wizard +msgid "Create a Hedgedoc Pad" +msgstr "Créer un pad Hedgedoc" + +#. module: pad_hedgedoc_connector +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_create_hedgedoc_pad_wizard__create_uid +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad__create_uid +msgid "Created by" +msgstr "Créé par" + +#. module: pad_hedgedoc_connector +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_create_hedgedoc_pad_wizard__create_date +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad__create_date +msgid "Created on" +msgstr "Créé le" + +#. module: pad_hedgedoc_connector +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_create_hedgedoc_pad_wizard__display_name +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad__display_name +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_res_company__display_name +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_res_config_settings__display_name +msgid "Display Name" +msgstr "Nom affiché" + +#. module: pad_hedgedoc_connector +#: model_terms:ir.ui.view,arch_db:pad_hedgedoc_connector.res_config_settings_view_form_hedgedoc +msgid "Hedgedoc" +msgstr "Hedgedoc" + +#. module: pad_hedgedoc_connector +#: model:ir.model,name:pad_hedgedoc_connector.model_hedgedoc_pad +msgid "Hedgedoc Pad" +msgstr "Pad Hedgedoc" + +#. module: pad_hedgedoc_connector +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_res_company__hedgedoc_server_url +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_res_config_settings__hedgedoc_server_url +msgid "Hedgedoc Server URL" +msgstr "URL du serveur Hedgedoc" + +#. module: pad_hedgedoc_connector +#: model_terms:ir.ui.view,arch_db:pad_hedgedoc_connector.res_config_settings_view_form_hedgedoc +msgid "Hedgedoc configuration" +msgstr "Configuration Hedgedoc" + +#. module: pad_hedgedoc_connector +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_create_hedgedoc_pad_wizard__id +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad__id +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_res_company__id +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_res_config_settings__id +msgid "ID" +msgstr "ID" + +#. module: pad_hedgedoc_connector +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_create_hedgedoc_pad_wizard____last_update +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad____last_update +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_res_company____last_update +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_res_config_settings____last_update +msgid "Last Modified on" +msgstr "Dernière modification le" + +#. module: pad_hedgedoc_connector +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_create_hedgedoc_pad_wizard__write_uid +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad__write_uid +msgid "Last Updated by" +msgstr "Dernière mise à jour par" + +#. module: pad_hedgedoc_connector +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_create_hedgedoc_pad_wizard__write_date +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad__write_date +msgid "Last Updated on" +msgstr "Dernière mise à jour le" + +#. module: pad_hedgedoc_connector +#: code:addons/pad_hedgedoc_connector/models/hedgedoc_pad.py:0 +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_create_hedgedoc_pad_wizard__pad_name +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad__name +#, python-format +msgid "Title" +msgstr "Titre" + +#. module: pad_hedgedoc_connector +#: code:addons/pad_hedgedoc_connector/models/hedgedoc_pad.py:0 +#: model:ir.model.fields,field_description:pad_hedgedoc_connector.field_hedgedoc_pad__url +#, python-format +msgid "URL" +msgstr "URL" + +#. module: pad_hedgedoc_connector +#: model_terms:ir.ui.view,arch_db:pad_hedgedoc_connector.create_hedgedoc_pad_wizard +msgid "create a new Hedgedoc pad linked to the current task" +msgstr "Créer un nouveau pad Hedgedoc lié à la tâche courrante" diff --git a/pad_hedgedoc_connector/models/__init__.py b/pad_hedgedoc_connector/models/__init__.py new file mode 100644 index 0000000..809e77e --- /dev/null +++ b/pad_hedgedoc_connector/models/__init__.py @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- + +from . import res_config_settings +from . import company +from . import hedgedoc_pad diff --git a/pad_hedgedoc_connector/models/company.py b/pad_hedgedoc_connector/models/company.py new file mode 100644 index 0000000..48bf1b1 --- /dev/null +++ b/pad_hedgedoc_connector/models/company.py @@ -0,0 +1,9 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields + + +class Company(models.Model): + _inherit = "res.company" + + hedgedoc_server_url = fields.Char(string="Hedgedoc Server URL") diff --git a/pad_hedgedoc_connector/models/hedgedoc_pad.py b/pad_hedgedoc_connector/models/hedgedoc_pad.py new file mode 100644 index 0000000..91ff52c --- /dev/null +++ b/pad_hedgedoc_connector/models/hedgedoc_pad.py @@ -0,0 +1,11 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields, api, _ + + +class HedgedocPad(models.Model): + _name = "hedgedoc.pad" + _description = "Hedgedoc Pad" + + name = fields.Char(string=_("Title"), required=True,) + url = fields.Char(string=_("URL")) \ No newline at end of file diff --git a/pad_hedgedoc_connector/models/res_config_settings.py b/pad_hedgedoc_connector/models/res_config_settings.py new file mode 100644 index 0000000..d3f81b4 --- /dev/null +++ b/pad_hedgedoc_connector/models/res_config_settings.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- + +from odoo import fields, models + + +class ResConfigSettings(models.TransientModel): + _inherit = 'res.config.settings' + + hedgedoc_server_url = fields.Char( + related="company_id.hedgedoc_server_url", + string="Hedgedoc Server URL", + readonly=False, + ) + \ No newline at end of file diff --git a/pad_hedgedoc_connector/security/ir.model.access.csv b/pad_hedgedoc_connector/security/ir.model.access.csv new file mode 100644 index 0000000..b4e0488 --- /dev/null +++ b/pad_hedgedoc_connector/security/ir.model.access.csv @@ -0,0 +1,2 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +access_hedgedoc_pad_user,hedgedoc.pad.user,pad_hedgedoc_connector.model_hedgedoc_pad,base.group_user,1,1,1,1 \ No newline at end of file diff --git a/pad_hedgedoc_connector/static/description/icon.png b/pad_hedgedoc_connector/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0e6d40286e25b0fa9db47095a2242161dfdb6dd9 GIT binary patch literal 18165 zcmX_ocOcY%{J*_9WR#hTaE=f%<1`(San5BNp|i_gWt|Z!^Q?@cGw(PYLL__EMaW9o z87G7!{N6s_@AvnIe|X*dUhn6AJf6>|=O*`VbFvAs(a_Lv-o10fl!k^@?(~O+3HVLW z)0ciUH0NpV-q14-wB5*M&6K>EzIoBh4`MSaY*d9(n-{i9-x9v5E4uvid!lenX@1eC zMb@IZN)XTTf%>p)Lj1))=0cgDjhXW|pVn~7UW^-{=i^g5`^3IvBD>fnn7CR=Ef2Ai zJD0_i%=6>|b?BYn&Nmmgk&nMB=YMR||TQ{<|5xbME^ELB7i5QW~ubw}J z?~zw~LNW{@5HPCv5&*56F{x_jKNqBPnTC2@d%?0(L)|orK3#~J?uP$8*dOZ7W!mV5I z#nTgo*|&f7SZ=p2OU&x*l*GzgxBfZoxTtSz>DBLa^}vY*(mb)DAb@j1vf~!Tqz_q< z&S7Y(+qdhAVZRq|zw_+UmVay&QTLMICbH8wZmXoF@!LOxP8ZE@6mI})V7>ZS@1n9S zq&aWp5xQF7%e3an6vBZ``2ZPGDWjhlWsW#c#*NXYMVdhmTO5e`+nLxV*KvNG>hnD8u zEMJMeo0A0lJN=M45MQ(Xml_o2H`gE1XX2eClr~-Ml5OajCk5PVp45NOJaVlSRoh|~ zt>*cSM)c_rC-K+Yq+q|&h=h>mQSijS+_^*AvRTeax)`eF$tlCfTy@R%w8-VM8@nb+_~^p|dVUdK1L zhqllq1tF>Vfm^+ii$#+jb=kz`Jk8CvM+W;><~Q~~w#-j{e*VLNFK8S-a5n2Mc#SZdh@*E$XEV0n$zRSTQ z(8G?)igZOe6o<_$y@aES*LRjV#oL`h>ZD4|laHMG7hlw^zt8_Oa<687%f+d4oAu~I z@@H*wz|}1?4AzDd7lN+O*7E~dNRUxoELM9Q$<&GLtfSrgUbZ3T-V?E&$d=Wg17c?O z7Usq*ka09d5z_4RR%n~!N9EU8qsA!>?J`3Hy2#`h|<_g@O5 zBUfPJe-7ZouOqNs1;bE0Ug2_tb0Ig91)?G{=cXW!=HyiC&0dz1B1$#N9lY8(-l-IQ zwW02~b}>YYPDd^<(SSW&Ko;UkYZ&x>s30+oc_I%ha^;qQ=#`WD1!lXqKI2DfUb*4C zy1T-<_~_HaOD>C_l`>!KU$%z8PnT1<~X8~&Y{0^Q`v7cSN3 zIu_Qvn(=jynp>rXaDaDwI#;VO)qeWtX?pEj!pTb|D|w>M>Dfx!;!osCn|H)vF#tGhcf_7(cm@#wCa z6OjYAn7oFBacpKPsm3WnZcq13bo|&Yq423oW$f8`modo+|D_Y0g~*&NVs z!J`-BS1*!Jm4X?wh7PdH`GNqOs-S*VQvZ?4mszry_2&cQ$fd?V3poY6@XYOk-^dep zyTG2#3H|+RFHWNoJKu~xm)tS)3tUF1RL>cQv*pzJuj|5fP;e&x9%PY85iBb{t>@fq;?^=wqJrr3{1$0ja6 zbNK*4M>=yZZVucDDyYS%d230KAGoF> z1Wfu*5Wwj%CI-iXnL234FAsutnqI*E(Bk_K3#R*bA|nDhI*W$OZC%v)u|BfAW@1+s zKh!w3U;o}!#?OB&(THl5VzsF1x)84J=rHHzgC`GneR{@b-%nqxl_}7stHm_8Ooue6 zW5Qq|{yoo@YB-9uI){?%U4-`A1dBZXSTOn4!i(N<0K&1bX4&+~In~>0@o>$Tj??>c zBP%mSJlz$0gdco`UHV_eVV|l6X3SAzhPTZ{ZvJL{2@-99c>Z*8fj_eNyML7FH+)ncLhYQdbsf&BWeO zMLsPQJQ#&VOM?83?TY{-I`y?N5isNo;?%6la)(vJv)l|6jbVw$ncF5$`}Otgal@v~ z;HKDn7A~1gfC9Il=hm2trR-iFe#%-jaI+vJjw;al0C};`zUluV|+9 z1G*W`5i`d!B<_4)$Bojx-80GTqC$Iy2wV<%|D(=|Bai0uQ;Y9!1Fs9X=BYX(HN=?a z6uGM!Xyxd>wp<8@qfW(DN}ijffmUczyy*bf7)L1<iUHrQlEORmMxjjqGq_8Dc9rIdH zIrUs2`5I|@gwT~GTH81`sUP7x-ZPmj$~+(W^R3Gfx|!Kubwd2Hn%HL(_6;S<%k6hc zxOBiF@bAygN~0V2p#!5ak2ma}U{>og;T~yYH!qV6_uthXI0EMXWQ$`LZH`RZh<6op zP1xueZ=cd+PB6PZH7#Qp^f<`gNg7g4>KqoqV6~Yd32361S%Ie}r4-LS(v>o~) zHvS-fKm^wDEPw)_cqeg6^cbrd!KstX@tLLeQxLEzK zV_56($PybZkX-+r1)>Aol~!Zxdu{YybNq}x=>Ht0qNgDJ6K|8P5klAKJ7)ro0odWz zyB2NxTkm@CriL+!kPs%F0@52s9;7Pwk9B(>ZthlWs1tv}|dKix1A zHjx+QlV#zM$uvEAKD#N^tfrz8l{2eWb4{WmPdT5wVn3q!sPAR$UW&G{#^Eh2JIhSK zVWn%}HHLKffx&)q*=k=$YHd;YEv^(BIhocLG%89F+^u#)V6yZP$< zPdn-bVXrB(Ky;9u^3XY@=a= z`e^!2-FFJk7d2|ul$+k&J*F1LrrsPVduMRHdbic4ry1oac0GgAv^9L)Dx%9!aVlGK zsx)mfzx<;bA%wNzW$zpwr(=#n9+X_ zT9$Wi3pFPVtq4UM-P^qIDR{>C{e7BX_*bYS>JevP2iY#b16=u2N(9#^k?7@uh?^wvob=>*V z;n)|!-q)<4@l7b?+$HqP9}9t#u^{xs)Q5# z@0lZ`aOB7c$*4RQ;%j9Iv-#~6nR0^a<}(Z#ec9UQtI{@h$JUh*yHfgBT1eA%Op^OV z+^+S-`rD^z9j=GJ1-L4l1p;`Nte*X1P+t_G4L}$3;YLp=@pM4yS>A4ZMBi9bNV@O> zbA^xibc}7g*jR8zWOp@+2Es%jzCSld>(2!C6xpk~@im1O-6f$8=;>|ZWvfqPyc#{h zhYDA?tERe2$d?G2HM~cPxQGS*g`r2{%SJ(G8SuL;3MY~7Z=D{jGS$E{lbE744zG^D z8@H1f7d)2V87NdNWWR`W6(0hRtGccx~Tp>iE)fCTYfmdJr%fn>PyUJo$hD1B5$@%|7m z`X0L^(6T%Ie(2r{n=7K4u6wSAYw_%1cc_Ol4<4m<7<_Y!Dn6?9?6ZcN+28HJ4GZbw z{gUs4*weAiJQ%2(Yw+cu$d610Y83KM+E@jtlGpnNkT|V4O4D4surw*JKP{b1oA6sP zN2PQD`AnK|Y@!K<7QeKeKeujwzji+%B=ZU?i&q#oszW|Y$a_P(=PXoPGvO_{f$=(7 zXZ;5=PrrhuG;Jqbzp#Jep0FeYLnv-0O?WQa4@zq3Xb41|`o(FT(RlGLP7%Tc#y;vo zsdUoixs)hZ5$N2KaDE4jYDvtVL9$WFtY9WcG3lQ6{;1FwcQ3Y?jt`GPDnK}$jK#8n z;l2@{g7Ehp&788@gv`-4&uA0uJ(m1yKE(Hsq)D0W{qE<~*P;z7-lxH75iG<&^aM(> z${`BNiHKqWo=QFZiItntZ;DvWH?+@sUX*L7f$}axXZgKwv5JVMu*Hro{C+venbzO0 zHHE>lBchl9(>ZjZ*f^p-hxy>s%SV12myy`$X#gc@1&6F{rZHaztmq0^sy5Ri;VsI^ z45@?S2I{2^Y zacX*0lR5`8Hb*vPKsTd-3fahBg3Kg{b&h;RwL>p@ zo;PymJI?tWj9MdTxl07~EZ?IU=iO@#L0cj;$kuG^IF(F_K?HwsF4K(mReQ|Eq9^NWet2EeVpp%jkS4y8EQ- zGy2THX9np^t+Hw(Oc0_e^HL-xe&p;i6j6Lw#)lZ@zlG*k`Fy@HRt&|d3dDssHA;`@ zH6#AVn8bYFAN0wA28zju6o?sOJIY{y+R4dAra^H^kqr@z&h%5!|6@UlusiI3@Xu9h zFyuz8i7X(ekOYMZ|G(PY`Jsz{gddOwW15QZkN5HS`TW!J{W54=CEsZ7-j&`%7`&`7 z*hc%w)d%#nP3RKfK?XfHv$iT_A!et_6-J66TrWS_e}5bc$3D6l8#+7Lb`RH;B4LG$ z+B~B)@5Get^!oBblWR|aC}^m(Y`Kw1Tlo)Btb}%e7IGgn&>H)2MOV-PwqjM?9~C&| zqaBh->qfz)cNi>L9nj9Ok`eqvnRxZ1>}?YoEF)4rTE)^}tr)f`mGcY|P%(C2VLTNo z20IQ35RRe|+7>+mYJ#)aNs06Nzvq?m+$EGf!W7*AAqddJ*N0y}!(jOlOk_lHGt7R7 zk?g$pF=aFC?<>cBDNQbJWFs$FHo#svPBH63{eq&i-o9Qmygn(*nQLmMZ95&y0FPrI z|D*`P{*?D0stz62)iOhr1SjH{eT86rO)F zmBCK5h)wAFB=O`@kl`JXZY@=YIL7p^diGj%%(0#18^z6EG3|_ya~+YloDK*QJ<(r> zms1qe{dQxY86%acG}oXNLTLVBAtpv-vm@Tb)zZSMQ8+Y+;=l%ze(D0t$O!T29Dc18<5YWK zz(m;j{ggF?7CHWO=_3ci_4Q}5mkI2uhfwY)osg9w-%T}iz9NBW^+bE8zeLSmTUhJfDi0^;YTLO^A?oj^%~buhHMqd0)3qHHVTqvw5h68@_1y40hi^Bzy_E z?mn^8J6Da5wv3>Z3jmQ`tt8>R^-RH^9ottfdZcVO^plJvYPOk_^x&h&N{^;|%9e%R zTI;O)CCj{!GcLpMQe}NQ@4-Nt7_E z`T`#J4HT0i@hnl4^0)e02*Nf!mJjjH1#<@MaR(=QePPn6F&0N+YuT5b)@PM7tDdyg z<&a)wBTjj}ef97AuwAMY9?OZ;+msdckHU3LHZ#0rgb!TK>$V?7|C+hnazu|yZ?G1B zJ;2flZY#e|zOfqF{3kD=cg7!dfNb}*gJQ6O;8*{C-rY|1`iIpDZfHz+skw;zrBhVU zg&n=(ycM?fkKsRwH}_7(hM3$&`!NIQWR)EPm-+o%Mq}RmtB#K0HUBfnP{@yE<6%#N zVFsbnAfYA7Bga44Xx~e+IpE$S^?R)s!k4Bvxh&ClaqF^l*7}ZOj8^*Lh6j#YAHJMv zT#kLv_dE5km;nn>UUv=LGwUdmY^|_w0&yGk!Lm>F><+q<%}#I064 zRkUX6zH|Ft%77f6aC^vJy{5AhQghUr1qEmc3w8+diTS0M0-QD=^n@$P=gDjb#q=Sf znmb-w496&#m>SOIqP(5CnIBNXkJxL)oZC|EquetD)5Aq^i&Iw$Gl2Xy;2dy=6Ton{ zwov;dPCSsQ>qGX{@tU$kQUD)2gcIQxDL`(15!bz2JgfwiI5iaqw*H{1lXY>RT!O_# z{NeUYQwc%PzhQ{P7Q&~XJVompI@t0hXzy3K@k!+R%oS&8 zb_|?FO(PQfTGH1q;LegCI}&Q8?Y?03f%+ymtc8x49(yQwy=Zv#DIQM;3$tS(%Hqy;~<247^VhftblPB3J4s8xOCTV5x$p{fy;+~n9Ay8Jv4>Qi)(lkh* z9}rjNU@x`61Ic>=*7=1U$%~k#wms&VcL2njvDInB@qGVHE4wi8uA};Z4iumRj9?dm z7Ugkfq%82upo>*zh69Xp7oHY^)afBTJ(UayCsb@-aPv>+YOT<8ERp)nj=^~d(Q9*}i# zFylen2td;r`XXlh^AI~w68o(#Hi04rjKgHq=aPA(cgv-&}+mpJGiYEO5 zRRH1xc4iKUY5EzT+qljFT@ZR{Gb+M@k?f6l&f)Lphq|us)@48Mi#1V5cHiIFc#`Sw zfE?UC-co5uv6~5Go~ZdLqx9hGuMg98w@#X;>x$nt8*RP2HF>Aj#$`d*@j%(}wzJhx zrU$=5K!g3m$r_8p)aBNdJKJ-X;t$R)K$&UmGsaLsjeoHF-BR1v-o@U;^q+NMDYgql-R7g*a6D?XgX zzp9|C5T;E2`>4|m)dH9HK@dXTV*Qx6v^5=3S_~V5EOUOnb4T}ZRawiyZ z+f-k+GphdVccEJ#1fz095Ma; z?ud$en`}{07Cd#f!Ds4H(DJ}>^1536YdMjr{KTubI^}!HV*KYWUSj03{!{ z>G6sfc1;ZVh;;yiHHZ67-kE|4#z*jr*LqTh?IrVLC&m~Fvbf#r#(ytlW!hlXC*|Mr zJ=&MW2vjKI_2iA(3}s}V^?WId+ueGc-zuRTmRA;Joa|E>Xou@FXC;EK2e~crULgC9 z^n4LYut0t!$0!v@+DoRVA2=KeBK;A4<4vo-qC>Hi-Jj&5iL^1In!DZgcxy1G4Zf7iHp5dyM5(#jH2_{zleS?6Na@|Op4+olA(GCTR zLmjIONGXD~Lj6g>Vl00xy%}Qj-?GD8>0b@a4YVqHW;fw>?@WV^VZB%0C8BfUp_GX5 z%0&4>yu@WA-AQrVSBC?pqtlR8>`FCfOW^1 zM5Qz&Te9&N5!Ob+sJOhQ@4=oi9TqNgrIR0Wdjcek2h?mk!=bj1xC`*~>^P^^5Dyc} z$tw)L+(?t4bGx_BqxlDf4o3}6bYWVTe=9joqZwy1e&tr3nB4lmSpWmt>%X)xShM?w zlaA>I6)Zs9S1Y*5KQ`nZ5#^OMDwI$W@z#yBuSx#$+&>`n0?4}o&EY1Y{-T@Y;B2Ph z=R(mQgiy*L=U6sQJ(!cohiJk{2!06t@hgVsh>hql*e_siVc#XvW8rSsZVuqR?J;;s z=GbWd-VK>m}oB+aZFQ`j^v&{^;l15(2fTNih+rtB`Huc$KEIjp?AjkbR zS{In4ib;m3EuRa{W+pBZw2vlvOw(HDZLT=fTRsG6tt`;@y}|-kZuH#UrdTf20j>)r zxkCtq`|5st@$K>Is@PvM74v0FS@7PQn(}b+8SwXI1E4uGs_$acNQIwr(5qZzt+pC{ zShNN9wOq#M*t>+^rA>OUp<3_RW{5LB{aLYVg5=8@E9iI$8+z#DV9Hw6+vgc~zWw`S zhM^#P>KD}&)1m5#L&3<;DZndSfL;*Z_wDecxhiFN0svG@G z(QC}P-~W2v|Gc&x6OfQHqWHWrDW~vTR*)RM!0gfhdZ(0JZh@q2?ug23Kdh;y#2G!cHLT-P3qz`2*XN&9TQ5x)!2w&;Yu-rssM;N6LVe z;pEryLqX$$zsXGbclB?H34dSsbffFD-&iKU`5T2vZS(p$2RrFuO@?G^Meq=|m9ccN z{bj*;bVmM7EYY?+tJ(nX1hlJ0MbSYK_;!P0`9J!L2S(!$T&lk@{uaTxrE67KpZkOA zdWg6>k~`WF>7eX-W`zOCf!NgClKV9FKvIUtXV^u2dt*!6Eu-&~ z|9V8l?RPkLeI@nQv3+gNoY@vpirVii*N3@4fx($VGktup#w>-4YZQCN31 zs1a=P`S#OBH-f-yZItwnD`&Q4eL(ikPCXyxzuwh(Hlg`02`r2pmh^4W#K2X6?xLiy z9Sh;_8Dw5vgu(I?#;?j2efEo0Z)N!5&OHDg0;zeOw+uUe^hO0-U@k-^e~A`>6FO>Y zx>w=Ws=II6WozvXnz^6oT&>c(ckSq4Ax=aJz4 zp?*r3B|lsZS9gHhSomhAZQxJg?YruA)m1adLXqujS*7x!$8qX3C!eupsPVAJ$MkfU z!*vnM99)&#);8;Q;Mod7RNA)l=CSGWj zM)pT*h}G1RXUf-vOTmK8!%C;$yT}l=m7t{A%8#UtvZRW&Lkt;jW$k;?^E9`5V7YM? z+CWbLQ&V`zG%WMe+UmoLHx!(G{qxVN1=Xt=0NQdyS6q516+d48g;(+Kw9j?@0j1jXy>lMq`nM4dqOX13)@l94 z|6_42#L+g5_hy%1Ej}2yAI0Ef;PGGVx!PgQZ?7ocj9>lmiwRa+?=GNJDU6VOfTbR# z2izd!XDg=i8$c#7A^UzRAZBYAzXJ7!i8k0Cz2|k#+TV#(+g1lA$%lDH3A_QYObZAo z?kC{x0f`h@ab({)K7@VIjqB177I@*rq6_PVtj`V8#iHnFX&?}I>BE4A@j%NBy?e8I zjWIYGP+zPJDYSa~_&yRxN-2Nt`Qo*du9EN{2Y59F`Q#cnd42Z4Du=QH&BIPGK}TtQ zZL^g9x0`{UXV~cFiD41#S{?WApCB=P_~13xNC5^p|GvNa1G$?;5jbv?@k|Hb+15-8 z4l<@)X8AM zsG1G&ukWdZ;<_9Vn|~u)6(jJdI521To{qjn#q87VlJ9)9LiNAFcV-Yu6GMS1o8Jb)1(*fG ze$r|eKQn-#Shn+@)<*CKWZeSOA}d}M2$z|nqWx9R@KJWYwkb9G#D}iI#*?Pd&lhZ_ z{H?|{;=Ql9SVT`t7s}qu)+uqb2&rHt^0}%u(n*KI8_|7q-e1C=svdZ4YClg@ASr~x z-xm!on4Y@X@T_Ax;K`$5l;LKqkMH~)uxFP=qSYdM)J~1kh71r?zCG2m1+fclu@^ZD zD-sp*cR9Ux_Pyvc=2_yMZ}rg@zj?f}U!)H%Hbuv=MWmf;?zVeBcXpd<{0?7X@E_o7 zq6avKBYH^4VEMJk*mi@xAKnFk6b@#r!rl=TIZ}G`-f+zM zQLOdtKGUn~;_6R5PCODXEX0rf5o1AibnNtwpUg6b;`~_tJzS@HgN#rU)T!}&inhDL zB94aeS06S=ZPeNO$PJeQw_U2^i#D}?@gl-9_lMkiUKvzu!3I|gjIcR5DD?w|WQtW*cwP5!NB zhaKLgtI(m;T#jzSrGFHw;XH!@B_qe}WXNwhO0@A#vV?M6-6PlR*V`$|eXGyw9Dl4F zJK8?X>s>MiN5>1Tcg=-3$Gm6FXHt-G7S^6m6S%5x6oB zcFt%-q=^nYbk0x-b+yQsE2oK^?^UVc?AvI)3cGChpP|h06IrZ+HARvp=S#W73;XS!|^StFjNa zB7`qK<(9~YXD%+(o&34rO-Tk5-&L?7--U}?A|8VPGM<@;LLKxZ|BGp2CcZP3e#6Cx z7@p9VdBdkh8U0yqiW~r)$)e)oFI*BRvTsi=QE7Y%3R?Mixp(ifRBaa7eM#AgUF2bn zey_IC=F`Cyz8Eck>@VIvx0i@p-GYayw<^K~%n*mFiNc^*Dy~-HT(OH#dHE{mQ8RI%0WEB5KkNnMk=mX+9w`{}F@ zo(_%1-=Pw_TNi*4VIylOC)S7^Zn$b1O7s9^e*Vt>#YJfSRTzIhtZE-o~<#f<=*3nr1d2Bh=jB zcyp%09BFDlk@kXJOTv>43ihM{sxK+hdhQvVg(?6`c4f)mCv?YfjoIJjD_(mW+aP*k zczhTk76AH*&wTOXewSF4f1y9l2^fL{^HMh6#$JfAh11oqdzFYvtT1# z&;kCtJ~|}Rl5ObKlTGgtBQ)_17idLS z#OT_x!RW?^@Kv7)6#gZPoP;I=+R$7>H>VJ`)^NMb5=-l3e8h< zC;Z$HQ-%Ap>Yjo+B}lSdK0gl6;Vb#*ttI}H6i*e8rL2k|&ykh{kY()5(&`UPOH0+{ zbyug_i71qn45<&49k4yAooPsy}*p&|FT5OuB)w`XUc&h z?0?q8y=XI}xWNV8{+Y>bR#ru)*{Q0=Pp2a16rYBv%KI^_ck77ay+Ovop0 z^f&XO%;Dyb)XU|+uA1*E{r`IIn6(Le#Yn{O#kx{;sEn0j(Eztvl3GiZSCkFM-3@$h(3?Y9H#e9fi-rjOyzjqKypZQo*c(tSCAxr@8_v5^`}k-9KH z>+`L^J!5K=%mn|^0!@RGU6TB-O&Gd0;_TE#a(OHOV0Gfolgne^Y3*#{8@o<@)Y#t9 zl-HaKREaCXhyXOvp{?nPdyc}WKTz&*3)1-}de@X8#)n0CI+ScIG4OOsJd*$iBu5w# z`aHLilc0Rsa8qN%y1?FNC_Dp9krQ18$i@jeHIt(02b!Y8HqQe!syZ2pox*g!26|kh zx8>&8V9(A+hf{H$5w?i#hx7tXvG!REK)K_A0{j3QxAnZeP`K0<_QGlxeER%Pg1fwZ zz1l3MAT(fgp0Vo>#Gp2{Ag^)+7UTrQ=@^3x-!k@ryvftI$CEameMR z6<|tVUlf0ua3EE(Sj9;=Lxux5XS4BF-Mf9DPcbLnQcP|g!Y)bc1?1>(l+juwhS|Re z%!g<)U~5!O`o2Sap`7qhA}4{FjCAZ9>FJG?KR#S<0i2JS=#{%=HXQ2EE^2cxEQ%7D zvE127)}X;Uc@!`rk7+^<+~`Aukza)54*YzxU;FJ&J-5F6+yI=hV$wBbYl0kdP6*xo zlApA-G)&NHcxBB(1LXxx_z*7~Wk{X6ckkfe zKp)R1b%fh;DR~t~rZ&w#+n(PMyOeNye_2g#pAXpiC?wodXm_sQ#*fCdM`lbd_>Gy_ zam%%iZ&C~z{yP8AX=+|u_^qn+kdbeqvXG2!IS`VkjV%^%=d1uU_Vcz!m&MJWnT>v+ z1d;>%b@s$P>ddw#*WUR1`SgX&*2g#qetaLzHV(^JcUH{#ym3ZL3qqVDoc&Au?`aeLwc_9xH z;K+3S*C%*NM$2*6LT?dB5|#mx>bThPFJMLNBQfM!tyhdzU65wu&UiqwxJ?jy*0?ICwSLSO=={K;{I%0#U5i%irLm!ix>!+pa z#~*Xlm}Wt1om=g1{gbzT*)jhV0WCPpGi`2D<810%qV?2l(ug^6X`K0KnjmoWP&(`O zUe0^#gMN(Ge)xRvTr zjKQDROe-YwIo0`w;y4Y?1hxpwhOX}PcXq$Q>pynA z*0M!;AKH&Q7kJuEs=?I6cpla#XjTbyjDBAdp~>|K%77*P*zb=kJB$vW2OU5WzM z0(L|&@MwbpI`!bc_u?IPknhKftr`Vl29uH}pRDf-E2;T{S=ay1>YRhplM z`TzaO&&$2=!2kL^DVJwstrIQQKmO{pa1yyaim%%Y?yRuOoL6XjrZBeoP)w_Z7-TRQ zujd+wPLnJA$qp72xgm8+0IkO59v&qFim&VU21w{c zUuGzMI3|D;B4C=CX&W-dmm97^E40w}Q8t58lOO7hE-KQpXW0Z<9OsWK6rU1ab*cSO zFJNj6tw(~QBaBQnX(AgeT=2CQpjLMgi`e}cT4)72mm+yT_ib!n7SIaVTy%7mo=Gvk z*P`D%)jQFabbSrLt)``CGZOmy$>0#HyY+Q$h>{z4e&-Ttv`oM2(6ivt#D7!&wyt5| z`#45AV9JQ~RpY{1_CGiJc|OZc{ek=sA5)+b)%~XEGeU#W(_FPO=g9^bY!|0*2N%x5 zcmL?6Pr3oHEn+!Xez#=xK>y9TbqTiq!5;6UmH-@MM|{ti_L1yt19EAvbEs5;Y!EI0 z4AZp>tEzG1B>ypt_c)7>f40yYV3m_@lNTo%B6dB`=SdA42;n6i+y^{DKZE$;+t;>C zd61P{rhnHZqWRB!*h%5pCST3(U#gkfWKIWWk%4uM^9Uz5`dVaR|FC-HJB^c&O=)0C zsnmiFHr3h4?(n&bAZct#T!(_ren|ff}$-dIXm4H=uMaWmc)<{WI%3r zPL1#xAAIYgs;e4b$;1xf%e;xp!H-czvK*5PjN@_(9yU^d?){)B^|6&KL=5!L1F|4m;0lQKs(-i$Ax5;Ni3$;%^Ja#)(IvP)Zb z)n)9asQuVsS*EY7xf28F7S$=PiUKL%iljFKS~}s1#9;?yd=0XBfm?xx2f2Gnv8-Jv z^oE9zRu%Azd7KLu)QOK4^NnPhB7gz+*f{2^X}R}89*NniFJ7fu(z0>EfxLoJcJRN zVC{lMgz!p4y1FSlqU$L)QW6Z|1`a+87pNLLf9t4F`0EK}yN8f%6+Xjx5nG(Da6XY< z5L$5wt@6`UF}o?Lhfwf={vlFz|1FmyabZxkQ!&Tt8fY}-l|@Kv@XZH=*=+A z=+8hsChq5QGMEYu-bp8pOny7pO}3_I_xkYB*|u*|zl;>7n zwfHKbba;-zKsf*GiIOYqsyWin3~5FC{)>VL4LY5qO1VFF7B_mVYQ1_z)bVy~4KNvO z4i>32+4xpLm9Wb$l9g@rDu8^q4Z}M%MR*W6ecSq}wrwwNc-WSb>Cy$hGhHD66-2%R zMoABpA&emg5I1Y-HaWN^Q#XMddBjSLZ12ZT{N^VY(1a{Z zwuPgCWhT1)qVhFW%7X@-a_ZM=ZdC-1UkgDe zfZB_0Rx!@CuvL7c7>qO3bmvuaet~r^3?xq88Jn5rSTu4bD33} z{TXD5f16|V*eYx(-W$T1pO{u99pZ_t#JULDTxJ|UEzqTLFS|(6(Zw&iW!IS@AGLlT z_MM$0y|@^xY0QogzGHd5FOlBTP~Q^%WJY2Eje*mUox7;2O3qGek4wqxXO*T@%v6h{-1 zsS!6L$4S3cY_nEKMsp;{$XRX1-wa*_A`QYx@vY)CP?kYI=nRXx5Y8zAj%~V< z?Rl2=0dM*kN(OS%ev}{igjAykQ{b5w8u{@t$^d*msRvZO;KGkeZ;|;`$U^)OfyI$l znTUHRJQOBdLDCWhwghvT%1p26MhF}kCx4JnPY=4{9)KA`=?)Z&1 zep|tXdt|nRN*A3^sf~D{xZD~s#|A8WqG%!6n!jueX?tvIbbT6N#OANT+WeX+VA<&k9l9IrSA9#|nGeYxQ7 zUequhAG}HrCSPk0$q8buj2@)EoSRjn@N(>#0-IJ`LS0En(^7=znG$dNW?-(#7|&lo z3T8w$);M_Hm>@y%jLnbnoj`bX{j|qI)Jt?>lqEFAz&~?3PC5TFx>c@q4Ru(190D z=xPGjSp?B>_DvNaeBc$xIPNFjUBj)8BGD>NH5n>%t<^4Q;}&L;#zF za7_bX0(MjnW+mKv3voMqW_eSelw!k=0~VQqoqT?DTk~8 zU!khyN8tQI=f#ury8M)S0e~M3pfwEqo7a!~_Y)+Mw?025x}=2u`l?WWOL(VfjJH0Y z2Xs05FC9s1180Q54M%DklZNLsDsJv`a@cv&t5}|{%wncH$|iCz1$|OnZV=#t{NTLe z{==s^2x*iY#+$^qn!V&mGDu;X-U+{G;^J38Mi7!)yOUXfr?I)zs1GX|gY90vsX-kM zre0ECTnTf97oR5#<8}?kn>K(O95%-C%*7grGdGRT2w_O{d_+AIn5HCwD70%}!-datOyI%kQ0?-35{Bh6yWZUc( zvUqsmYm(ECx^&;8bjNr*|jFa5-I2qpG5@!pz3#owVL!-#b;hxm&OADE*HDx1 zpOb%BFn+wTkc?7riCIK5rsa=WHKX?p3Df=JOM0hf@*t^>yY{D6;s=fs^Fu-IQda_l9ukIdZNFrg*Ckg2W) zrQmQfmS@HXEVuDBZMz#7)*0A+`PRSL-NW!}hwHuk$dHjFJ6gGw5LY(p+JQIEzc*D@ zL&-2%wQz0Vnc;_VXaxrCbKCgeQ*i_jzn@eiWG6tj54m^k8j($mivTFcM|-@8*+a*@ zxW6yf?s3PfkFjTVk~Y0rs-`%L3h#qf!z1Hl$=Y*%aO%VImxWBIGmc$9`&je-#%yy2 zXaQ`QjlMRJ3pRD>jdBI+OYd+Yb4cU1y_m@M#IP9K8-kBl?Gn^z%f6K~6MHBbBKwW6 ziht6;71Ke_W>^gZMLXA2zal=d*Z*48`+@Ggc%?{aMGSWFrD?*SlZytR)fC=SKpSo( zja?ID$q_27*mqe|H<^35rS<60l;TI~j}Qkdd9LOH`o017p!kSIrC65-Q1&Tr5I&p zej$H}Wy1=g6^oe6mzK(kk6wyf5-#Cg!;R5< z$42&h%Q@eD^Uqxk8dw}7PNRxzc5gD(*xlSkW?Fm6G?^r`EgGDc30Dp`(E6nmR$)y$ zz7O&&?o7dd#ETY<_4-CgciIFSIGNB_t0)7C4FJ%2pQWzN6Gs}hDWa= kyC<(d_eUSv1ljig1GhA#Ulb{BEC2ui07*qoM6N<$f>#~Nk^lez literal 0 HcmV?d00001 diff --git a/pad_hedgedoc_connector/views/res_config_settings_view.xml b/pad_hedgedoc_connector/views/res_config_settings_view.xml new file mode 100644 index 0000000..af487d0 --- /dev/null +++ b/pad_hedgedoc_connector/views/res_config_settings_view.xml @@ -0,0 +1,27 @@ + + + + res.config.settings.view.form.inherit.hedgedoc + res.config.settings + + + + +
+

Hedgedoc configuration

+
+
+
+
+ Hedgedoc URL +
+ +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/pad_hedgedoc_connector/wizard/__init__.py b/pad_hedgedoc_connector/wizard/__init__.py new file mode 100644 index 0000000..0b29254 --- /dev/null +++ b/pad_hedgedoc_connector/wizard/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +from . import create_pad diff --git a/pad_hedgedoc_connector/wizard/create_pad.py b/pad_hedgedoc_connector/wizard/create_pad.py new file mode 100644 index 0000000..66a4991 --- /dev/null +++ b/pad_hedgedoc_connector/wizard/create_pad.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- + +from odoo import models, fields + + +class CreateHedgedocPadWizard(models.TransientModel): + _name = "create.hedgedoc.pad.wizard" + _description = "Create a Hedgedoc Pad" + + pad_name = fields.Char(string="Title", required=True) + + def _compute_pad_values(self): + values = { + "name": self.pad_name, + "url": self.env.user.company_id.hedgedoc_server_url + "/" + self.pad_name + } + return values + + def create_hedgedoc_pad(self): + return True diff --git a/pad_hedgedoc_connector/wizard/create_pad.xml b/pad_hedgedoc_connector/wizard/create_pad.xml new file mode 100644 index 0000000..ed6a9a0 --- /dev/null +++ b/pad_hedgedoc_connector/wizard/create_pad.xml @@ -0,0 +1,20 @@ + + + + + create.hedgedoc.pad.wizard + create.hedgedoc.pad.wizard + +
+ + + + +
+
+
+ +
\ No newline at end of file