From 285777451a91ff26a84ba57a766021c6c84b0a53 Mon Sep 17 00:00:00 2001 From: jopster Date: Mon, 24 Mar 2025 08:17:39 +0100 Subject: [PATCH] =?UTF-8?q?kleine=20=C3=84nderungen=20-=20vor=20Screendesi?= =?UTF-8?q?gner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- __manifest__.py | 5 +- models/__init__.py | 4 +- models/__pycache__/__init__.cpython-311.pyc | Bin 1446 -> 1628 bytes .../dss_advertisefields.cpython-311.pyc | Bin 9222 -> 18409 bytes ..._advertisefields_templates.cpython-311.pyc | Bin 0 -> 9457 bytes .../dss_display_templates.cpython-311.pyc | Bin 0 -> 4130 bytes .../dss_onlinestate.cpython-311.pyc | Bin 0 -> 3274 bytes .../__pycache__/dss_projects.cpython-311.pyc | Bin 20113 -> 26887 bytes .../__pycache__/dss_settings.cpython-311.pyc | Bin 15424 -> 15422 bytes .../__pycache__/dss_trigger.cpython-311.pyc | Bin 64083 -> 64689 bytes .../dss_web_contracts.cpython-311.pyc | Bin 19754 -> 19776 bytes models/dss_advertisefields.py | 124 ++++++++++++++-- models/dss_advertisefields_templates.py | 108 ++++++++++++++ models/dss_display_templates.py | 61 ++++++++ models/dss_onlinestate.py | 38 +++++ models/dss_projects.py | 136 +++++++++++++++--- models/dss_settings.py | 2 +- models/dss_trigger.py | 10 +- models/dss_web_contracts.py | 7 +- security/ir.model.access.csv | 3 + static/src/js/kanban_button.js | 19 +++ static/src/xml/form_button.xml | 2 + static/src/xml/form_label.xml | 2 +- views/dss_advertisementfields.xml | 121 +++++++++++++--- views/dss_advertisementfields_templates.xml | 120 ++++++++++++++++ views/dss_contracts.xml | 11 +- views/dss_display_templates.xml | 47 ++++++ views/dss_onlinestate.xml | 70 +++++++++ views/dss_projects.xml | 56 +++++++- views/dss_settings.xml | 5 + views/dss_trigger_actions.xml | 1 + views/menu.xml | 13 ++ 32 files changed, 897 insertions(+), 68 deletions(-) create mode 100644 models/__pycache__/dss_advertisefields_templates.cpython-311.pyc create mode 100644 models/__pycache__/dss_display_templates.cpython-311.pyc create mode 100644 models/__pycache__/dss_onlinestate.cpython-311.pyc create mode 100755 models/dss_advertisefields_templates.py create mode 100755 models/dss_display_templates.py create mode 100644 models/dss_onlinestate.py create mode 100755 views/dss_advertisementfields_templates.xml create mode 100755 views/dss_display_templates.xml create mode 100644 views/dss_onlinestate.xml diff --git a/__manifest__.py b/__manifest__.py index ef5782c..47a4836 100755 --- a/__manifest__.py +++ b/__manifest__.py @@ -13,11 +13,13 @@ 'data': [ 'security/groups.xml', 'security/ir.model.access.csv', - 'views/dss_contracts.xml', + 'views/dss_contracts.xml', 'views/dss_marker.xml', 'views/dss_projectstate.xml', 'views/dss_systemtypen.xml', 'views/dss_mediarelations.xml', + 'views/dss_display_templates.xml', + 'views/dss_advertisementfields_templates.xml', 'views/dss_advertisementfields.xml', 'views/dss_projects.xml', 'views/dss_import.xml', @@ -26,6 +28,7 @@ 'views/dss_mediafiles.xml', 'views/dss_addstructures.xml', 'views/dss_geraetetypen.xml', + 'views/dss_onlinestate.xml', 'views/dss_texts.xml', 'views/dss_systems.xml', 'views/dss_screendesign.xml', diff --git a/models/__init__.py b/models/__init__.py index e67a7ec..ddf2f1c 100755 --- a/models/__init__.py +++ b/models/__init__.py @@ -1,5 +1,6 @@ from . import dss_activity_mixin from . import dss_marker +from . import dss_onlinestate from . import dss_settings from . import dss_trigger from . import dss_ads @@ -10,6 +11,8 @@ from . import dss_systemtypen from . import dss_software from . import dss_systems from . import dss_eventdays +from . import dss_display_templates +from . import dss_advertisefields_templates from . import dss_advertisefields from . import dss_trigger from . import dss_triggerexecute @@ -24,4 +27,3 @@ from . import dss_invoices from . import dss_importinvoicelist from . import dss_web_contracts - diff --git a/models/__pycache__/__init__.cpython-311.pyc b/models/__pycache__/__init__.cpython-311.pyc index 2734bbf7e72c8a314556381336e1805a48eac542..8edd246cfeb45094970d1199e835696871d7f848 100644 GIT binary patch delta 258 zcmZ3+eTRo{IWI340}$-YxtngpJdsa=F>Ipxl8M(<*jaNJa#^ETCw@!TWJr+&awMZ9 z85vR-Qlx-vsVFHhTN=ogj*Im?s6c@+m=jCMPr52YYmZVN@XIx?? z3KC4oEH21Ntc)*7%>~jWsl}R%w`4&Qi792NMJ1WVscD(1IVr_(1(Vg8?la0vW@oPA zDUt@dvPcF*$WE?f_T*LqG8uumn3-wvC1%~p*(_$0m02bzDPLefK{pt*FQB5y8(BWG IC;+tr0IhpV1^@s6 delta 102 zcmcb^vy7W>IWI340}!y^IF^2tX(FElqtQh5CG0FY47n^(EEA7uPW&CmDjCe6DK)u? zQD^c&#)XsTFx_U9oLs?NHJOpcjawe5nGuMK&oWL9V$q#Ek!8!|=d41Lt6A@|$O6Ry D){h*t diff --git a/models/__pycache__/dss_advertisefields.cpython-311.pyc b/models/__pycache__/dss_advertisefields.cpython-311.pyc index fbdce7d6914829063e7eb586454e97c7bbeea925..401b2913bef293eae4297f4d8272e901a8e9022f 100644 GIT binary patch literal 18409 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 D4A2&~ delta 1425 zcmZ`(OH3PA6rDF?1L0$LunX}A8)Lu>O&q?7!J;h<;bTl);zR-q6*+#B#1!oIjf+}> z3JX-Rh!moSDi%paH?&cZn#!AOB2iU}kg^$9BNa_ot-9%^B~=$yrAoceADWPKB%gWr z-t)OLw*2cY^y#SS%bJ=>4z6X}-nAcUzcJZ({tqE5@yn=e2XWkeM86hnopxNY>)7F; zhEL&&)$^QOId`&DV<&C^mTN})r7szsKyPp=yRPCFXqbY z?4=qvzr@>}=TseWT6SBD&+y1#JMmxjlfhQ*!)=f&QDpQY4{b5JS5D#6(D4`cFL}gT z@R>C()`~j-eYg{_4N`otg^Z)RdyU(H;(n>Y#oCW4dX6c2nPTNR$!o_XXOBtF zy%2H=mNJwwao~mdY1{|P``5XTQ0z>Ullt{qtSE83D3eT5k*{X|s=>x9dd09jk5lml zSwf^4?3Sv5<$s@~=j232(aYZ{oFtz3V5%FHOq$3`Vv$fHCh<~bk=ZylB=LGVk>}$X z851AXEUya)?sluEx@bfE;6;O0ck|zDDgT0ulkvPFnNC3{9E&UEiK2s`x9FPVF}gs< zou8pW`m^&Q8l}ArPvDGP1WnM4tDAQ=W$(G1JQ|~q8^0?XgbWg*w>;jeadu?CK@z5q zJRua#Ry1is?KE^QNrGPfp(5j1k|xvix0c&Yml<)2!4QC6rpR%UxK8qZldOG_e$muL}pfrFUs)nbxe+_*gk_4nra{5 zr4Bk0c+bYtbi)w5F}(@{&L)TqH*$qO35*2T`g+AgJoRx`Iwg}4R+f*YGV(QF;>{ad{SOSPxi@F-)y%!CqX(vj^{Y42Td4=hy^LxK=S*SE6b82F-l*Gjscpf% zuqsaG#7Rw@Tn!zV-Rp~**}ZLkXxndA&5@irqM0M$WA$zfZ$`Ew52yFBYK`WsQOz1% zoj4e@%vN{y=m>fMa_?6}xg`mnL?ByT!F}b~CuWpjvuz zmLAR0L+=hm_(KEz@%)<>?;$4`y-x+MtU)t64|yo4f9MknbkDKTGeCbC@}MbNcH#H> z6ni7=8`g~zX)Mo^S6Jf>T0MNS@-7_V|B+MfW&Oh`bbbmUFnKv{)!lJE&CmY)9|m!N F)xV9want|+ diff --git a/models/__pycache__/dss_advertisefields_templates.cpython-311.pyc b/models/__pycache__/dss_advertisefields_templates.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3beac00c4f31da09d8d47641d64e40e5709c17b GIT binary patch literal 9457 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 literal 0 HcmV?d00001 diff --git a/models/__pycache__/dss_display_templates.cpython-311.pyc b/models/__pycache__/dss_display_templates.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6f645d51d06b0dd37dc4dc60b3b76a9bf82bb016 GIT binary patch literal 4130 zcmcIn&2JmW6`v)S-=Zi{6eU@aOvjQP){101YU(tu>ZB4KH+Iz4c8V-euUFg=z3eWR zo?WUY;TC%kP#tKCQ;2tt2njcy8ch?lnngdQLjse+EAb}dK(ZwI6R zuY*#M*P=a zy&&|DN~4?>^|Uc2jd41p3r0rDa5@Y$?26M7ecZ@OSx!gw31d>40Rd;Ioa?sn3IDkCdH`KUYJ3~137jgQ z?DFjgK??lZNt#oI>nK0;57zuBFVdh=)o6HA!@6qGuwklLx2PcJ1sbwVQ@4OfeXQu3 zs@R%YStGLmg$ctr?6?608H$76uWv0v+K(!KmU=K0p&UYISA3iYxE^x z7>dt?2gvTZDjJacux|vIJL$gQ$NlTT{lInfNcadGCS=vBn9y*MVCHBd6)mi9QgKTG z?+g=c)pVQ2WVxs-mL_f3R zI^PO|tX!*U z>LY=SL%+oq$dM^1zm8ti6=OqHRvObsD5yKg7Ppv42mN{V`NGPxg_Y*QrPjhF2a#jY zeWO6dn>Vkl=0h~nS&&8vzFX4>RvD#$-Sj#Yi)OV>!cI(;Nt>)V8*4ph3yxOo27h9w;dZTl=as{|y zn8)S=#l4HoRIZiExzQXyAU;%V=N#1v5PnqmQMq^ezd=>*VLcj=NX~*J8pM?? zDl!{Uk(uQXEauGr6)Yy>0x(+>P;gkg%X=60e$X15Z>CPQQm5SLsl&Lw9c#6*i7bB6 z5G$7t;bOtNk$aW7*t~Zcptha9{7-huPtm9>Gv&!Ljmt7zEj69dL$Z9grs(Yv!t6mq z{NCZW3k~r(z@=iVNVF<@Sb-$1at9NQU26mvISXM*qT-M4D1>~EldBMyApS!sw<8rz z@&;UkHdbMBf?1@ZX+=L_9yO#*_W5TRXn2O*wXy2|y2)Z)7 z2gxM#@^E;G-v(rav9f~4$)AEN!kyUtUWB6CpBw}Nq3i+j6<-BWIMp4BqU4;j=8c_q zu6iRg?(AD`YT5Y!NaxCnM0V%x-@WS|zXbW|vMb$kaoM%%ZlcjlG+K#~nuveLCl+*PH3}R(hQ=&+QgknK^fU^{M8{Mc26NW=JzbS{cG7 z3ZWARs8>MqG;4N>Fbc;Q_U?F38QqS)sZ0nzHeAQ~d3dQqBw~M`s93hZV*(HaxmQGV zvs7YtWOzfd@Y~BYZq+ub#4KXVf-nmKcvI6cjbp{C{|dwXy+s42MI$CWcoh2%71?u% zyD4`#!d}HB%nJ4*rztkPi0>6K_f(5S*$|J2S>}8-8{R9vw?AQTZW^uDH#gZI05Zgz zHv9*WHPa^Sl}*@PL5F!?(X3Q(5rR6z+B)pm!uD0Xg>@QQU3>rLWg06%2S9{7>m4>L zA~V1cxI)+1-xaQ(NA0&o_np!{iYr6`eikFGKSFsB6a>LTafg2%N;&-VP{QG#hhh%@ z`g(>P{&^_r@Xte|Za4Qy=C6RZ65epp=~rhDWnF*v&>7dCJv8O|vxjC}fA-K> z*PlH!?fSEa-gJ-39(v0?D))5u0%e>;3uShHzW0kJI@v-eU3AimPw$*=#iu|2pc$WU e#pj*KLHM`;r{Hk$dG-&leZ~6!dBh-h_J0Frrx0=g literal 0 HcmV?d00001 diff --git a/models/__pycache__/dss_onlinestate.cpython-311.pyc b/models/__pycache__/dss_onlinestate.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2d9e89f61ee2ece325f99ae8cbfe97112e6b2a8f GIT binary patch literal 3274 zcmcIm%WoUU8J{JW50N5QqG&0xESrvH8){rJsTCt_E!A)($Ce)npu}|-h3PeCL@%@4 zRc4oINaU~w9enUX1ytC_oD>`OACO~#qCkLLmcjxi1}I>l=%F_U?kT5!-!8cpDFs1+ zc6N3i-~4vwd+&Um%Vh|Z-~4U2b~i!DKXB47Fb~SB$Iv|_lu*eaYS>Gv6wG644EmT6 zZ^)|LNT`WMQcX5eYDz*}9O!8^9gJmTq>)iG!8l=L8>8xIFqVv*nu`%8)$_gc2vc?> zLY~4K7IiE}J|Hx?Noa~C>*Ia;P8?A1_D}^Xt&zF(zi@hEP8M-(Ll?<)of*^?$%aLl zVGF4;Cy9h(S%wV*<)&unRC9F8T;bf}K+17u0O4~6a7U~5HV?W~Z}RF9u=bEJf=U1d zNNSwMRGG%9T#Km*noyG*ENMepTnd}x<^u&(q^r3E@cQ_qS+iUxDQE|D4NA;3%y z@mmNm6VXmn2Vjarm^Ti<9AcC8sc4rsH^~l6p7seueS;p}BVv^^0_v?}<6?zH9` z`WLz>+4;j5oP^N@T=zJh*#8DxEpJdtjo!&N9-*P4b?!F``dLbjQ) zZsY!?AAVW3Hk`6WEvu|iYMFL1vKJjBh>85 z`-MT>2X^TRvxn_3Nj;jqwo5&-*1YKlPVRFsZ=0MHVqt)Rw|!0HKVtZ2p~WNcdv4N11|#b zp>Ez|TzAAsg|lh^;pnhJ{_Q=j=U-`b?Z8A?G*%_ly2u3+LxaGfut63%j@E)nw3fcE znXO+~CKIV%_=(gN(_uBxQPONS?n0ls2p1KmnIah`caeepwJ@MKYF;FQ9{@+c=I9r^ z1kIB$lZDAJi&SiK@Y)x_hHmt9M`zrX?nK$W)*YMij-K_D1^04yY|_2b%}(Aw_u$vw zu?tYYUGUV~9;H| z-oh1c?RQ@ORwsYU&);%C=;o&H-+XY}J2L-`?By0axkW#>=w9lPA6Yazc|lHlKUKSA(i^N@^0qfvyW|~juy#qt4W1X7 o>HDYs%=Dwnoyy4|<0%ng9R* literal 0 HcmV?d00001 diff --git a/models/__pycache__/dss_projects.cpython-311.pyc b/models/__pycache__/dss_projects.cpython-311.pyc index 70511965e8e2db0af22d655f1722e2ea5c5ff6ce..d91a593411f412cdd59db3e61a98f7412daccaa9 100644 GIT binary patch delta 8618 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 delta 3056 zcma)84NM!?9lv+RAK*`Hrw(8n8-tArF$7piOI92xUx{P$l{5ts$8d*Z17~tJQAX{6 zRF;ygTOA%>?EX2o2Kqd3u-s1()!x455KH<4|w1Wn;TqAZQ7au@I!l*1-zWLV^J@L zJ`8RQ`=P7m1b8>~Qq5VQ97htT=$<_+t?dNAgn?QLL{q=6^#E-g8zeBC%@W1F!(2^<7{Zeo$Wno`-*~9|6BhweN8OM}9?v zPH{F7H}EU^sQIaT%7p?e?J_YQgBG*C zG>`Vs&4dcP5mSHm(SPgerD_Pm6QZxH7J~zVpFu=0(o-%dBO6 z`Qoj1k%^+r3YMT1tnW0FR3`sUhNMapV!ZtrF&^EUi{qqUn~P5o=wK}KvU()Q9xqSf z(S5Hi{BGy&&RIh*8wt}BF-w21uYb@oK*wSsCK$B{;v-(K@93<&uAh#^>O7HPgxMlz zbX#P&*<~J@HRoJCphXU5CSw*s)KFh9h+~lnn)yp1N@kXH)XrKSVl;?pmM1NB{{eNd zx_d&$E+Z4C?%qL&Yw^I}bnljAPg3~5ZU9z# zdY_js@$w2^TH)gqKKOTEcur%uq*zjLrq?HKtlG$8{d zl8ut%BQoUYQvC_en)+D7HdgHQZr5yD{-^T0P()zX}*w7m; zgDXm2Z%^y(Z&t18>o|SghS|DeeZ&5m{YTZWSHCiKWh&XVp)b4SS@Lk!w%Y?A89p4j zHNso_xcSXtNnJpN(UpAGoIFzg;|0n@1kgz#FE+4W<@7i4JnF;s+&v5VOJJcbJxzJuXK3@>0f zm-_s0DOq*|jRjTC#vfuLGcooVOz4NzM~!oMkFsxLD8Nkd6x!62>@F-A#L$eP6oVhb zDFlKn!i=2^FhQCYrXRa*NctG$Ck@DQ{8GMSKP`M zx2B6*=MSXTMr%QjOh0Lo=vNSsk ze@pKIZ^19=;~)x;j?d{nz;JoM#QJlIIEC=mV VB7jo)dPHT_Zf0~}JcNQ^0-#_4 UOiWVuIP>H=24b7P8F+950D^BBxc~qF diff --git a/models/__pycache__/dss_trigger.cpython-311.pyc b/models/__pycache__/dss_trigger.cpython-311.pyc index 4e93b90d2d0599c26b03afca18e7abd6edc1e63f..71a87bfa6e8bd37469b50eb24a084fa4c8b53b79 100644 GIT binary patch delta 4456 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 LM>wG7-_HL6-LqC? diff --git a/models/__pycache__/dss_web_contracts.cpython-311.pyc b/models/__pycache__/dss_web_contracts.cpython-311.pyc index c006500c76e5bcc2d5bb4cdba4b1b2e3397bcf73..1ededb2e7ab50fe050c8eb0d313dcbef6b48adbf 100644 GIT binary patch delta 1731 zcmaKsdrVt(6vyw6M|o4;P@qttz)E3SQW)hmn1u1BQ=%@&YQw#QLLcPUyXoTQ^e?9w zbMBzSx+srDHyBR5ni!L5O`6E24%BM!8l4)=w*M}XnYcgHdoJ==H2jkL={etX&hMVy z-($u{{5}%@R$N>(BM;j8-N0h=eEhA9=p@+-CP?uu|i|kbA;T4tJ&6=wyt1X|MK4U z;NCvS(Ao-`T7pe|%X^xa+qxvJx}s8IWUMgiv|X!+6VZ|meA?WYWVsckH(w|aO%*(& zixZ-9%0d$4?h5{Glws4(si9goSFB%Go&v4kz$C?%P%??@g`xIS@~HT z$3j@$QO34o-DjDH7(*U7^8%{ZWQ~qOLw-im%V@rWcvXf$O?~iq{*-=BcEq@TkDI6V ze%{8~c}`S6;i1DeFE86Rhx?!hQVX2%h6pioJ&jJnSV6Uwz9$#=7z~u+v|hxEh|`D( z#3W)IF@;D)Oe4-C&LS=#Hv3Gtw@%ru4?p~1GRzOQmE|xRP}(rCvZRtmu*SKSUSl98|>nw z2=pTvOFLO;3U=6~DD@3AXl1F*=wjtUHcsJY(r13w*G9KvJWhz*riIUmq|A zc1npTBr%q5vSjTES{+g{3MrfKNku$#OrbQuVv(;Sm zbz3U(bTC@v9uk zWI>Fghuplw#o31FEKJrVhq~w``8SnZMh~vlRhO(CDXe}6F^{;Y)Y@6EjrWW=`suqU z`eA2%P9h#dG3ubh$=UE4rJq1weR<65m=Hi*17Ce^!uM$YfVhG9S-4tnjmSw3*GtR> zO3TpQzyV=b^FRnO!y7FX@MDXn{w7x5LWCi1Bk;Bp!}&qH64K?XkftDX7}6rr&_&z_ z#@1&^8qBpmO|C;}+og(MFpk?*4Da-?oRg+(6x=(>-N;&(hdt!v>S?(U*M6Cpo5P4v WV*a0}E5~YAl-TOlj2@6Ws{a8LYyn;X delta 1765 zcmaKsX;4#F6vyuk7&e0u2s>mUiUHArA|xghp`|RcSQ)_DA&uk_!jkCCqYI;UI@4(# z?IIqu>NpBcM=fgArgl2*w9=ZH@&T)D^MS?hxs2eyKaTH93&4%E_o)g7)4L*6p-9kY zY*?7m;qB`aScluuYxnyyUZwOp{GHhZty%3kjT?iFU6U16leG;}nyPq>L^!62D!F6^ zu`5=}gvl&zY{KjuZ~JMsPZ8-%J`xWv>(1up@PPbmC*8)`wlhPln{5-qBTJ!8Z?Fz< zkBi*d5NfCHNYn{R$Z7ryKRXmo{dQtsHmjXvBQY6ZSRYUy;vUSU|R&YSmE}CluYPzupW?%T}oVl?+~;v$!pP;T0UGj<_vfx z!kd$&>&8|Gtbs?R2(G3|E617x?a~6?mXyR?Psg3X20@BK9Zk%2bo{a4dWRH)I+mEL z>3CAGX0sHhg<0mWxZvLL+-_san*!c|G)6_-yHuhU)df>P?aj zqxe6_m?qkkwKIraaetPBC3lCOkPV6!#WW%1v_&Bi(yG|3n8DYUu(`#5F}Iu21E4b* zmGZ9dhg#E8Zfr9>Pp`mlroZTJxRX~-Z-61+=x<(mm4c?A(YOry_s%7ReriZZq;3?{_hl^Db}Vx zWUPkb4K&g}TLICWvrf9;K0O~=6TwsS_)LKMOz)fq9 z@&dYNpuuLKr(v5-yZ970LNTo0Bf9$pdpCOrMr;~7%9$7;va|SxDVt@}Tvfh{L!3ik z(S~9iPM=-$ZgqFC^Jsp8raD}-0`rMNZ*RZH6;f8XJr4E)dr$7u>FyQm9tXdIFM+SD zDDDXM{2Vb3=gYL}Z?SnDaT9Udf4i(HDtqw)qeSjw*>aTk@wC6b%B7%%aIw0$bqagk zLEsr<-y?oN{D}Ao5sCO2f!Atif!Kw2iiUC{0inZC79t5HVmYj$<(i#z0xD|H z&?)%6R-=^@{@v+rw6)Lc?C%xI*dzX&x^r}OWhBj)$b-3e&5(6kj?K)^XaHrs '+str(Dataset)) self.email_template.email_to = mailto self.email_template.email_cc = ccmailto - self.email_template.send_mail(Dataset.id,force_send=True) + if not self.email_send_confirm: + self.email_template.send_mail(Dataset.id,force_send=True) + else: + action = (self.env["confirmation.wizard"].confirm_message( + _("Möchten Sie die EMail versenden ?"),self.email_template, # One or more records + title="Bestätigen",method="Email senden ",callback_params={"Email": mailto})) + if action: + self.email_template.send_mail(Dataset.id,force_send=True) self.email_template.email_cc = ccmailto_org elif (self.triggeractiontyp == 'DSEDIT'): _logger.info('Trigger Aktion TRA_' + str(self)+' Setze Wert für DS_'+str(Dataset)+' FLD_'+str(self.action_field.name)+' - Typ : '+str(self.action_value_type)+' -> '+str(self.action_value_bool)) diff --git a/models/dss_web_contracts.py b/models/dss_web_contracts.py index 1477b9a..308beda 100644 --- a/models/dss_web_contracts.py +++ b/models/dss_web_contracts.py @@ -140,6 +140,8 @@ class dsscontracts(models.Model): _logger.info("create new partner...") fullname = str(self.client_short_vorname) + ' ' +str(self.client_short_name) newcontact = self.env['res.partner'].create({'name': fullname, + 'dsspartner_vorname': self.client_short_vorname, + 'dsspartner_name': self.client_short_name, 'email': self.client_short_email, 'phone': self.client_short_telefon, 'mobile': self.client_short_mobil, @@ -149,7 +151,7 @@ class dsscontracts(models.Model): 'country_id': self.env['res.country'].search([('code', '=', 'DE')], limit=1).id, 'company_type': 'person', # 'company' oder 'person', 'website': self.client_short_website, - 'commercial_company_name': self.client_short_company, + 'company_name': self.client_short_company, 'dsspartner': True, 'dsspartner_werbung': True }) @@ -188,6 +190,7 @@ class dsscontracts(models.Model): 'ads_topics': self.ads_topics, 'contract_auto_extend': self.contract_auto_extend, 'contract_date': self.contract_date, + 'work_state_info': self.remark, 'scan_vertrag': self.scan_vertrag }) _logger.info("create new Werbekampagne...") @@ -198,7 +201,7 @@ class dsscontracts(models.Model): 'date_start_planed': self.date_start_planed, 'date_remove_planed': self.date_remove_planed, #'work_state_info': 'ZA bis: '+str(self.grafik_zuarbeitBis)+' / '+self.remark - 'work_state_info': 'ZA bis: '+format_date(self.grafik_zuarbeitBis,format='dd.MM.yy',locale='de_DE')+' / '+self.remark + 'work_state_info': 'ZA bis: '+format_date(self.grafik_zuarbeitBis,format='dd.MM.yy',locale='de_DE') }) self.erfasst_in_odoo = True diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv index 4db6d9c..c593f82 100755 --- a/security/ir.model.access.csv +++ b/security/ir.model.access.csv @@ -19,6 +19,8 @@ digitalsignage_dss_mediatypes_group_user,access.dss.mediatypes,model_dss_mediaty digitalsignage_dss_texts_group_user,access.dss.texts,model_dss_texts,base.group_user,1,1,1,1 digitalsignage_dss_mediarelations_group_user,access.dss.mediarelations,model_dss_mediarelations,base.group_user,1,1,1,1 digitalsignage_dss_advertisefields_group_user,access.dss.advertisefields,model_dss_advertisefields,base.group_user,1,1,1,1 +digitalsignage_dss_advertisefields_templates_group_user,access.dss.advertisefields.templates,model_dss_advertisefields_templates,base.group_user,1,1,1,1 +digitalsignage_dss_display_templates_group_user,access.dss.display.templates,model_dss_display_templates,base.group_user,1,1,1,1 digitalsignage_dss_import_group_user,access.dss.import,model_dss_import,base.group_user,1,1,1,1 digitalsignage_dss_settings_group_user,access.dss.settings,model_dss_settings,base.group_user,1,1,1,1 digitalsignage_dss_viewsettings_group_user,access.dss.viewsettings,model_dss_viewsettings,base.group_user,1,1,1,1 @@ -42,3 +44,4 @@ DigitalSignage_dss_statesave,access.dss.statesave,DigitalSignage.model_dss_state DigitalSignage_dss_activity_mixin,access.dss.activity_mixin,DigitalSignage.model_dss_activity_mixin,base.group_user,1,0,0,0 DigitalSignage_dss_triggermodel,access.dss.triggermodel,DigitalSignage.model_dss_triggermodel,base.group_user,1,0,0,0 DigitalSignage_dss_invoices,access.dss.invoices,DigitalSignage.model_dss_invoices,base.group_user,1,1,1,1 +DigitalSignage_dss_onlinestate,access.dss.onlinestate,DigitalSignage.model_dss_onlinestate,base.group_user,1,1,1,1 diff --git a/static/src/js/kanban_button.js b/static/src/js/kanban_button.js index 1629a6f..df5f169 100644 --- a/static/src/js/kanban_button.js +++ b/static/src/js/kanban_button.js @@ -40,6 +40,25 @@ export class configKanbanController extends KanbanController { }); alert("Einstellungen gespeichert !") } + Getonlinestate() { + const queryString = window.location.hash; + const urlParams = new URLSearchParams(queryString); + var TableInfo = [urlParams.get('id'),urlParams.get('model'),urlParams.get('view_type')]; + var Fields = []; + TableInfo.push(Fields); + rpc.query({ + model: 'dss.projects', + method: 'compute_getonlinestate2', + args: [TableInfo], + }); + } + Getmethod() { + rpc.query({ + model: 'dss.projects', + method: 'method', + args: [], + }); + } } registry.category("views").add("button_in_kanban", { diff --git a/static/src/xml/form_button.xml b/static/src/xml/form_button.xml index dce7029..596ee1f 100644 --- a/static/src/xml/form_button.xml +++ b/static/src/xml/form_button.xml @@ -11,6 +11,8 @@