From 91966747793eccce11439b52af5b9de83cc24a75 Mon Sep 17 00:00:00 2001 From: jorgepastorr Date: Mon, 18 Nov 2024 12:04:49 +0100 Subject: [PATCH] musician saas user nextcloud alowed resource advice --- .../musician/locale/ca/LC_MESSAGES/django.mo | Bin 14818 -> 15103 bytes .../musician/locale/ca/LC_MESSAGES/django.po | 67 +++++++++++------- .../musician/locale/es/LC_MESSAGES/django.mo | Bin 14895 -> 15183 bytes .../musician/locale/es/LC_MESSAGES/django.po | 65 ++++++++++------- orchestra/contrib/musician/saas/views.py | 15 ++++ .../musician/saas_nextcloud_form.html | 6 ++ 6 files changed, 104 insertions(+), 49 deletions(-) diff --git a/orchestra/contrib/musician/locale/ca/LC_MESSAGES/django.mo b/orchestra/contrib/musician/locale/ca/LC_MESSAGES/django.mo index 0d209dd008b029f103ddafd228d8dc5c990f26e9..c77f118bd27a4afcc80265a19101f669c3b64df7 100644 GIT binary patch delta 3942 zcmYk;c~DkW7{~F0p$I4nZh)yT?)#F3xG$lG7HOKMxglZ_h{(%pRN7l^WQLk(xhw8V zDh@NHIccWttHr-@S*)Gd%C-ocrE;&pFRI_wxSX{nzI|9}&3J zPzs4>iB%PiDN{X^56Z7$#`y6!>=~WBn28-Cj0wW^ zSP8ddRosJ|Vh*Bn>yvK9T(l>YVGmAtjJiR$8pZ@;JZemdI0#2#ZQOx<@O$ip6>GY7 z$5ym`*cJi6qPH!}@p(gO%EAR7i!nqXSrhX~`<6)YZm@SPz?FFKmsIun8{3 z7Pucn@Cxd>+o=0KKxML09e3bisHLcj{?Sxg*e`NXGhBkt;|f#;icvGUfEw5hWUS^M zD#f9ZZU>#LJy99zkMwPZVmzkd04zjh=uss3*NK7TU27hW`eG33#v`y1&Oyy+8)_zn zsDbXqKs0#6WPod5`XWONyer};={s?t_a5VYX1=XV6)J0)u+Ko{+9)lWCvNavG zhCWnA=Ay1&jM~+!P)oH7HSm+ReGiq1$hz)%?NAfy?WfY5%1fw}PDQd~a?yk9P$NHt z+B84mEWC*t*i@cbUH2YpAd64~UxC`3Yf+gfLM`Qf)OkOk_KN=(d*CAK!t2&DR7ZDF zBh9Jj-pG#{P%df!OKf{JY9QN@OU!qu>q<}^m7FBimbV@}t8iJb9 zI8=wJ)+y+$IX30^T-13xk$05&3YF@k$e$_UL-%`v=@=Sg%tXvV9lwCe%wOm{|97Z7 z!-2=BO%lKk(pp8LI%tlb0A4`2f%d3I#>CM!joqiFa}#4G)6BuI@haxw8b+Imt;w@G zT#cI8MpOp2qhD*bkBWA0F={54Z2KPeqaD=TJ)VdI)zN4UXlA*nj+UcRwA*?BE7LxXO6h6T%=))> zH|Yo1m-c?_f&p#Zj=G@+nt+<_piaW85>-Pz*WR0*hd5-LNJu_k7rGL?%O-~tS#f3ucK72Kf%xEFQd z5!CZ~6z5_wDg(n_aBnmgm4S(h@9+jd()Y2S6ClgqMb}=@^%c$!^SZH-n6E%Qls3q%x%4{;`VkXYV zhp5cV?n3@`;{tYwQojY&F2X3>hc)qM)Q$hd0Q3+luM-?H>xoYZZB!K!YK9Wk2%co8 z=-;=BCX_=k22)S#ufiU3*5)%@L1^P?r0hlKy%3L!i5|puLM4-UhnP-mBt9W_5-Ljx zwu|#lSfc}!FNhJu2ZXZnCQ;r$Rk!qod}2A#htM(%Csei&tDTzr+n?+^FA-%%Wiru( z7@`JcDxrO)(vA4Ysqte4vxxrX{l9C!(B^x(MALYg=to2nTZ!%j`^)qqR5lS>+i659 zp_f&8(I)0S<}9h+B`WU|1DzT_<23(~G%DBw^H7i4B-{SjI@&6joO|&P{)v%=i zb@R`Og~SqK7NOG9#SGIa!8B$Nu|zH6Euy?Mpwg7sY!B#}T}jL#qKIWgBVrX1Myw@1 zBsLH#&4~^~j2e{jM4&1m9;YN^6nzucKO!tKB_}&MeTr{_$LCGS$`6i-FS_cf64|wx z&+ALdO7(jFKVd?OCq2oNoiZ)S_`KXg*W`ET99wiY HE-2tXqbZUs delta 3805 zcmZA3d2mfv0LSr@CbCH+5|LP1(GZD*2uj3KA&4M?SXw3aHQF?GrLRKN-VjM_)gmQP zN-IjH`Ujn2N^~*ORZQvBGSd!Pri`KA-@8Z0^iF>7bI*D2-g~xtZywLRGTT)f;#F+e z4w9y1QypV&U_f0y*bdb*#)Tha2M=QsgN#X_JUQ5yY%In?yo>p`qP{V?=oey)4=zG) z%*Q}nh5W>nqWjbp&W<@|e{dRm@Pmt}6Eq0rWY`qdrfAH>_Sg`YVK3Z@o$-=2tbs9c zlm}s3T!?&S%2DS#jy~$zDf`8FY{VB=P%VClbk=x=8N;6m<%7X7u^4~}s1tTW{!Atx zI`I_r#avW_7g`IDK{6ZgIoySQ8rl==FcjvjD)1-kZ>Wa+iO=I*Y=seYJ05#tOPqzV zScLxgIqJAGsPle}8p&Ez!+%Fj#b4+e!;VL|^F=nQhdJ00^H3wO7uA!as0Mz4w8d1T zhWIM#0znau;iwBWL#|=sF%^4bI<7>G(1i%bUqAeX3eEWq`$Y`%pc5xz6plglXesJK zD^U$CL@z8s^>iDmf%{OutF-0gsOy|U_51?r_+J|_{yN|q6&kwR*aaV=PTZ-n)6%Zi zRMZ>}LXF5+)bTS=t9lMYd1+Il_m|SA$dVsx7BCcSd9+Y6`}pC)YRA z*wNz1LA7)l>cmAD>A{@iZpx=wSxJ;QM@+A!*1{+KfQW z{Y>=3<<|A+PkA$HN_Hd9Dsu>RoinW&fA#nd6}pgDoHIm?t+A*ECZUEj1=W*JP>b^h z_QB|QMiFyR7ut(zXeFwrpP>()M_sQ5b-n8@b|$g&2sJko+c*d0VF$_ur~|67E}li5 z=zEOB%b0?C#p(NAs0(MHjvJ0FA2St);VMkSOQ`d>q7$5RsGbwizC9(Khgn2J@X zk$8k&=+n;mU4S(db-~6MjPbVI9W?@jZT$pWKO1R)%M{oz)>(JpU=BElp7}YWf#z>rl%!Vnp^(V1D zK&W>r;3{-=%upy2{4RIc-r-c}TJ5lGWMBZEGJZj2rc4q!{ z-~LU7dJ>rA9M}Z4I^)qj5*SK38KW@+b%MF53%F1X*od0S3Jk#WxCVblJ$R3#y?@Lc?L4(Hjb;})VC!DRa59|iv~_P;ORybzmuMu^OKo~T%pjURjhybJ zR^%O0O4bu?y1tpIkEb?`z+MtZHV_8E{c4_q8vb&^1JjHpBM9rrEFh!FP@*k|^dnlh zJ&Cqd2lpDYyDs;eZ4jlcL=T)j?bXWw%!iz&v|?%5|)koji<^WGMlU>dVb`R z56F1(|IN!*OjrN4QWukbWGQ)ryhrpx(iTCqsz<57riIhYy~nMDx}~&O-?nx6xP&Cx zvRFwzBE{roqHV1{H2w#P7TfD&8<{|~WjdItIF4l4ay*uiP9%#wLnf0&WE1I5Hj*@= ztpnNO-ZQ2RZYQsiw!{^~M+@>~`;eUgTbTBw5(9}Et8I*f`=K+R{e>itbhGtOXwS|n zvV$bs%5>~w_b2M#2;IkFB!N_rSBSPcq=The username and password will be mailed to this email address." msgstr "" -"Es crearà un nou usuari si l'adreça de correu electrònic anterior no és a la base de dades." -"
El nom d'usuari i la contrasenya s'enviaran a aquesta adreça de correu electrònic." +"Es crearà un nou usuari si l'adreça de correu electrònic anterior no és a la " +"base de dades.
El nom d'usuari i la contrasenya s'enviaran a aquesta " +"adreça de correu electrònic." -#: saas/forms.py:89 +#: saas/forms.py:90 saas/forms.py:124 #, python-format msgid "Suggestion: %s" msgstr "Suggerimet: %s" #. Translators: This message appears on the page title -#: saas/views.py:24 saas/views.py:38 templates/musician/domain_list.html:51 +#: saas/views.py:26 saas/views.py:40 templates/musician/domain_list.html:51 msgid "Software as a Service" msgstr "Software as a Service" -#: saas/views.py:25 +#: saas/views.py:27 msgid "Nextcloud Service" msgstr "Servei Nextcloud" -#: saas/views.py:26 +#: saas/views.py:28 msgid "Members can manage their Nextcloud users in this section." -msgstr "Els socis/ies poden gestionar els seus usuaris de Nextcloud en aquesta secció." +msgstr "" +"Els socis/ies poden gestionar els seus usuaris de Nextcloud en aquesta " +"secció." -#: saas/views.py:39 +#: saas/views.py:41 msgid "Community WordPress" msgstr "WordPress comunitari" -#: saas/views.py:40 +#: saas/views.py:42 msgid "" "Pangea's multisite WordPress service. Members can have their WordPress on " "this community WordPress hosted and maintained by Pangea." msgstr "" -"Servei de Wordpress multisite de Pangea. " -"Els socis/ies poden tenir el seu WP en aquest WP comunitari alltijat i mantigut per Pangea." +"Servei de Wordpress multisite de Pangea. Els socis/ies poden tenir el seu WP " +"en aquest WP comunitari alltijat i mantigut per Pangea." #: templates/auth/login.html:59 msgid "Log in" @@ -241,7 +244,7 @@ msgstr "AVÍS: Aquesta acció es irreversible." #: templates/musician/record_check_delete.html:11 #: templates/musician/record_form.html:16 #: templates/musician/saas_check_delete.html:9 -#: templates/musician/saas_nextcloud_form.html:30 +#: templates/musician/saas_nextcloud_form.html:36 #: templates/musician/saas_wordpress_form.html:31 #: templates/musician/systemuser_change_password.html:11 #: templates/musician/webapps/webapp_form.html:11 @@ -263,7 +266,7 @@ msgstr "Cancel·lar" #: templates/musician/record_check_delete.html:10 #: templates/musician/record_form.html:20 #: templates/musician/saas_check_delete.html:10 -#: templates/musician/saas_nextcloud_form.html:35 +#: templates/musician/saas_nextcloud_form.html:41 #: templates/musician/saas_wordpress_form.html:35 #: templates/musician/webapps/webapp_form.html:15 #: templates/musician/webapps/webappoption_check_delete.html:10 @@ -277,7 +280,7 @@ msgstr "Esborrar" #: templates/musician/mailinglist_form.html:31 #: templates/musician/nextcloud_change_password.html:12 #: templates/musician/record_form.html:17 -#: templates/musician/saas_nextcloud_form.html:31 +#: templates/musician/saas_nextcloud_form.html:37 #: templates/musician/saas_wordpress_form.html:32 #: templates/musician/systemuser_change_password.html:12 #: templates/musician/webapps/webapp_form.html:12 @@ -567,7 +570,7 @@ msgstr "Adreces de correu" #: templates/musician/mailbox_change_password.html:5 #: templates/musician/mailbox_form.html:24 #: templates/musician/nextcloud_change_password.html:5 -#: templates/musician/saas_nextcloud_form.html:34 +#: templates/musician/saas_nextcloud_form.html:40 #: templates/musician/systemuser_change_password.html:5 #: templates/musician/webapps/webappuser_change_password.html:5 msgid "Change password" @@ -585,6 +588,7 @@ msgstr "" "Tots els missatges s'esborraran i no es podran recuperar." #: templates/musician/mailbox_form.html:9 +#: templates/musician/saas_nextcloud_form.html:28 msgid "Warning!" msgstr "Atenció!" @@ -739,10 +743,23 @@ msgstr "Actualitzar SaaS" #: templates/musician/saas_nextcloud_form.html:22 #: templates/musician/saas_wordpress_form.html:22 - msgid "Create SaaS" msgstr "Crear SaaS" +#: templates/musician/saas_nextcloud_form.html:28 +msgid "" +"You have reached the limit of Nextcloud users of your subscription so " +"extra fees may apply." +msgstr "" +"Has assolit el límit d'usuaris Nextcloud de la teva subscripció, els nous " +"usuaris poden implicar costos addicionals." + +#: templates/musician/saas_nextcloud_list.html:57 +#, fuzzy +#| msgid "SFTP user" +msgid "New user" +msgstr "Usuari SFTP" + #: templates/musician/systemuser_list.html:6 msgid "" "The main user is your system's main user on each server. You'll be able to " diff --git a/orchestra/contrib/musician/locale/es/LC_MESSAGES/django.mo b/orchestra/contrib/musician/locale/es/LC_MESSAGES/django.mo index 31453859dbecf88a4dac8cb114d3d1b499ba5988..5967a630f92781769d5a5df20047b1c9a1df4e5b 100644 GIT binary patch delta 3913 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 MP6@7@J^HWz00;kHS^xk5 diff --git a/orchestra/contrib/musician/locale/es/LC_MESSAGES/django.po b/orchestra/contrib/musician/locale/es/LC_MESSAGES/django.po index 9475e8bc..180e04a2 100644 --- a/orchestra/contrib/musician/locale/es/LC_MESSAGES/django.po +++ b/orchestra/contrib/musician/locale/es/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-08 09:37+0000\n" +"POT-Creation-Date: 2024-11-18 11:01+0000\n" "PO-Revision-Date: 2021-11-25 12:53+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -30,19 +30,19 @@ msgstr "No hay objetos que coincidan con tu búsqueda" msgid "No mailbox found matching the query" msgstr "No hay buzones de correo que coincidan con tu búsqueda" -#: forms.py:42 forms.py:111 +#: forms.py:42 forms.py:111 saas/forms.py:100 msgid "The two password fields didn’t match." msgstr "Las contraseñas introducidas no coinciden." -#: forms.py:45 forms.py:115 +#: forms.py:45 forms.py:115 saas/forms.py:103 msgid "Password" msgstr "Contraseña" -#: forms.py:50 forms.py:120 +#: forms.py:50 forms.py:120 saas/forms.py:108 msgid "Password confirmation" msgstr "Confirma la contraseña" -#: forms.py:53 forms.py:123 +#: forms.py:53 forms.py:123 saas/forms.py:111 msgid "Enter the same password as before, for verification." msgstr "Introduce la misma contraseña para verificarla" @@ -143,57 +143,59 @@ msgstr "" "Si tienes algún servicio SaaS (Software as a Service) contratado, aquí " "encontrarás sus detalles de configuración." -#: saas/forms.py:16 +#: saas/forms.py:17 msgid "Site URL" msgstr "" -#: saas/forms.py:50 +#: saas/forms.py:51 msgid "" "ID of this blog used by WordPress, the only attribute that doesn't change." msgstr "" "ID de este blog utilizado por WordPress, el único atributo que no cambia." -#: saas/forms.py:51 templates/musician/address_list.html:25 +#: saas/forms.py:52 templates/musician/address_list.html:25 msgid "Email" msgstr "Correo electrónico" -#: saas/forms.py:52 +#: saas/forms.py:53 msgid "" "A new user will be created if the above email address is not in the database." "
The username and password will be mailed to this email address." msgstr "" -"Se creará un nuevo usuario si la dirección de correo electrónico anterior no está en la base de datos." -"
El nombre de usuario y la contraseña se enviarán a esta dirección de correo electrónico." +"Se creará un nuevo usuario si la dirección de correo electrónico anterior no " +"está en la base de datos.
El nombre de usuario y la contraseña se " +"enviarán a esta dirección de correo electrónico." -#: saas/forms.py:89 +#: saas/forms.py:90 saas/forms.py:124 #, python-format msgid "Suggestion: %s" msgstr "Sugerencia: %s" #. Translators: This message appears on the page title -#: saas/views.py:24 saas/views.py:38 templates/musician/domain_list.html:51 +#: saas/views.py:26 saas/views.py:40 templates/musician/domain_list.html:51 msgid "Software as a Service" msgstr "Software as a Service" -#: saas/views.py:25 +#: saas/views.py:27 msgid "Nextcloud Service" msgstr "Servicio Nextcloud" -#: saas/views.py:26 +#: saas/views.py:28 msgid "Members can manage their Nextcloud users in this section." -msgstr "Los miembros pueden gestionar sus usuarios de Nextcloud en esta sección." +msgstr "" +"Los miembros pueden gestionar sus usuarios de Nextcloud en esta sección." -#: saas/views.py:39 +#: saas/views.py:41 msgid "Community WordPress" msgstr "WordPress Comunitario" -#: saas/views.py:40 +#: saas/views.py:42 msgid "" "Pangea's multisite WordPress service. Members can have their WordPress on " "this community WordPress hosted and maintained by Pangea." msgstr "" -"Servicio de WordPress multisitio de Pangea. " -"Los socios pueden tener su WordPress en este WordPress comunitario alojado y mantenido por Pangea." +"Servicio de WordPress multisitio de Pangea. Los socios pueden tener su " +"WordPress en este WordPress comunitario alojado y mantenido por Pangea." #: templates/auth/login.html:59 msgid "Log in" @@ -244,7 +246,7 @@ msgstr "AVISO: Esta acción es irreversible." #: templates/musician/record_check_delete.html:11 #: templates/musician/record_form.html:16 #: templates/musician/saas_check_delete.html:9 -#: templates/musician/saas_nextcloud_form.html:30 +#: templates/musician/saas_nextcloud_form.html:36 #: templates/musician/saas_wordpress_form.html:31 #: templates/musician/systemuser_change_password.html:11 #: templates/musician/webapps/webapp_form.html:11 @@ -266,7 +268,7 @@ msgstr "Cancelar" #: templates/musician/record_check_delete.html:10 #: templates/musician/record_form.html:20 #: templates/musician/saas_check_delete.html:10 -#: templates/musician/saas_nextcloud_form.html:35 +#: templates/musician/saas_nextcloud_form.html:41 #: templates/musician/saas_wordpress_form.html:35 #: templates/musician/webapps/webapp_form.html:15 #: templates/musician/webapps/webappoption_check_delete.html:10 @@ -280,7 +282,7 @@ msgstr "Borrar" #: templates/musician/mailinglist_form.html:31 #: templates/musician/nextcloud_change_password.html:12 #: templates/musician/record_form.html:17 -#: templates/musician/saas_nextcloud_form.html:31 +#: templates/musician/saas_nextcloud_form.html:37 #: templates/musician/saas_wordpress_form.html:32 #: templates/musician/systemuser_change_password.html:12 #: templates/musician/webapps/webapp_form.html:12 @@ -571,7 +573,7 @@ msgstr "Direcciones de correo" #: templates/musician/mailbox_change_password.html:5 #: templates/musician/mailbox_form.html:24 #: templates/musician/nextcloud_change_password.html:5 -#: templates/musician/saas_nextcloud_form.html:34 +#: templates/musician/saas_nextcloud_form.html:40 #: templates/musician/systemuser_change_password.html:5 #: templates/musician/webapps/webappuser_change_password.html:5 msgid "Change password" @@ -589,6 +591,7 @@ msgstr "" "Todos los mensajes se borrarán y no se podrán recuperar." #: templates/musician/mailbox_form.html:9 +#: templates/musician/saas_nextcloud_form.html:28 msgid "Warning!" msgstr "¡Aviso!" @@ -748,6 +751,20 @@ msgstr "Actualizar SaaS" msgid "Create SaaS" msgstr "Crear SaaS" +#: templates/musician/saas_nextcloud_form.html:28 +msgid "" +"You have reached the limit of Nextcloud users of your subscription so " +"extra fees may apply." +msgstr "" +"Has alcanzado el límite de usuarios Nextcloud de tu suscripción, los nuevos " +"usuarios pueden suponer costes adicionales." + +#: templates/musician/saas_nextcloud_list.html:57 +#, fuzzy +#| msgid "SFTP user" +msgid "New user" +msgstr "Usuario SFTP" + #: templates/musician/systemuser_list.html:6 msgid "" "The main user is your system's main user on each server. You'll be able to " diff --git a/orchestra/contrib/musician/saas/views.py b/orchestra/contrib/musician/saas/views.py index aecab50d..84ed79f2 100644 --- a/orchestra/contrib/musician/saas/views.py +++ b/orchestra/contrib/musician/saas/views.py @@ -15,6 +15,8 @@ from .forms import ( NextcloudChangePasswordForm, SaasNextcloudUpdateForm, SaasWordpressUpdateForm, NextcloudCreateForm ) from orchestra.contrib.saas.models import SaaS +from orchestra.contrib.musician.settings import ALLOWED_RESOURCES + class SaasNextcloudListView(CustomContextMixin, UserTokenRequiredMixin, ListView): model = SaaS @@ -108,3 +110,16 @@ class NextcloudCreateView(CustomContextMixin, UserTokenRequiredMixin, CreateView kwargs = super().get_form_kwargs() kwargs['user'] = self.request.user return kwargs + + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + context.update({ + 'extra_user': self.is_extra_user(context['profile']), + }) + return context + + def is_extra_user(self, profile): + qs = SaaS.objects.filter(account=profile, service="nextcloud") + number_of_users = len(qs) + allowed_users = ALLOWED_RESOURCES[profile.type]['nextcloud'] + return number_of_users >= allowed_users \ No newline at end of file diff --git a/orchestra/contrib/musician/templates/musician/saas_nextcloud_form.html b/orchestra/contrib/musician/templates/musician/saas_nextcloud_form.html index 8542a5d0..45d60a9c 100644 --- a/orchestra/contrib/musician/templates/musician/saas_nextcloud_form.html +++ b/orchestra/contrib/musician/templates/musician/saas_nextcloud_form.html @@ -23,6 +23,12 @@ {% endif %} +{% if extra_user %} + +{% endif %} +
{% csrf_token %} {% bootstrap_form form %}