musician filters content with get_queryset

This commit is contained in:
Jorge Pastor 2024-12-03 12:06:43 +01:00
parent b7da44b6ba
commit d03472a123
18 changed files with 337 additions and 197 deletions

View file

@ -23,7 +23,11 @@ class MailingListsView(CustomContextMixin, UserTokenRequiredMixin, ListView):
} }
def get_queryset(self): def get_queryset(self):
return self.model.objects.filter(account=self.request.user) qs = self.model.objects.filter(account=self.request.user)
name = self.request.GET.get('name')
if name:
qs = qs.filter(name__icontains=name)
return qs
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-20 10:36+0000\n" "POT-Creation-Date: 2024-12-03 11:03+0000\n"
"PO-Revision-Date: 2021-11-25 12:53+0100\n" "PO-Revision-Date: 2021-11-25 12:53+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -30,19 +30,19 @@ msgstr "No trobem cap objecte que coincideixi amb la teva consulta"
msgid "No mailbox found matching the query" msgid "No mailbox found matching the query"
msgstr "No trobem cap bústia que coincideixi amb la teva consulta" msgstr "No trobem cap bústia que coincideixi amb la teva consulta"
#: forms.py:42 forms.py:111 saas/forms.py:100 #: forms.py:42 forms.py:111 saas/forms.py:101
msgid "The two password fields didnt match." msgid "The two password fields didnt match."
msgstr "Les contrasenyes introduïdes no coincideixen." msgstr "Les contrasenyes introduïdes no coincideixen."
#: forms.py:45 forms.py:115 saas/forms.py:103 #: forms.py:45 forms.py:115 saas/forms.py:104
msgid "Password" msgid "Password"
msgstr "Contrasenya" msgstr "Contrasenya"
#: forms.py:50 forms.py:120 saas/forms.py:108 #: forms.py:50 forms.py:120 saas/forms.py:109
msgid "Password confirmation" msgid "Password confirmation"
msgstr "Confirma la contrasenya" msgstr "Confirma la contrasenya"
#: forms.py:53 forms.py:123 saas/forms.py:111 #: forms.py:53 forms.py:123 saas/forms.py:112
msgid "Enter the same password as before, for verification." msgid "Enter the same password as before, for verification."
msgstr "Introdueix la mateixa contrasenya per verificar-la." msgstr "Introdueix la mateixa contrasenya per verificar-la."
@ -72,7 +72,7 @@ msgid "Mails"
msgstr "Correus" msgstr "Correus"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: mixins.py:22 models.py:146 views.py:599 #: mixins.py:22 models.py:146 views.py:598
msgid "Databases" msgid "Databases"
msgstr "Bases de dades" msgstr "Bases de dades"
@ -89,7 +89,7 @@ msgid "Community WP"
msgstr "WP Comunitari" msgstr "WP Comunitari"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: mixins.py:26 websites/views.py:24 #: mixins.py:26 websites/views.py:25
msgid "Websites" msgid "Websites"
msgstr "" msgstr ""
@ -107,7 +107,7 @@ msgid "Description details for databases page."
msgstr "Consulta la configuració de les teves bases de dades." msgstr "Consulta la configuració de les teves bases de dades."
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: models.py:234 views.py:399 #: models.py:234 views.py:398
msgid "Mail addresses" msgid "Mail addresses"
msgstr "Adreces de correu" msgstr "Adreces de correu"
@ -164,13 +164,13 @@ msgstr ""
"base de dades.<br>El nom d'usuari i la contrasenya s'enviaran a aquesta " "base de dades.<br>El nom d'usuari i la contrasenya s'enviaran a aquesta "
"adreça de correu electrònic." "adreça de correu electrònic."
#: saas/forms.py:90 saas/forms.py:124 #: saas/forms.py:90 saas/forms.py:125
#, python-format #, python-format
msgid "Suggestion: %s" msgid "Suggestion: %s"
msgstr "Suggerimet: %s" msgstr "Suggerimet: %s"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: saas/views.py:28 saas/views.py:51 templates/musician/domain_list.html:51 #: saas/views.py:28 saas/views.py:55 templates/musician/domain_list.html:49
msgid "Software as a Service" msgid "Software as a Service"
msgstr "Software as a Service" msgstr "Software as a Service"
@ -184,11 +184,11 @@ msgstr ""
"Els socis/ies poden gestionar els seus usuaris de Nextcloud en aquesta " "Els socis/ies poden gestionar els seus usuaris de Nextcloud en aquesta "
"secció." "secció."
#: saas/views.py:52 #: saas/views.py:56
msgid "Community WordPress" msgid "Community WordPress"
msgstr "WordPress comunitari" msgstr "WordPress comunitari"
#: saas/views.py:53 #: saas/views.py:57
msgid "" msgid ""
"Pangea's multisite WordPress service. Members can have their WordPress on " "Pangea's multisite WordPress service. Members can have their WordPress on "
"this community WordPress hosted and maintained by Pangea." "this community WordPress hosted and maintained by Pangea."
@ -292,12 +292,17 @@ msgid "Save"
msgstr "Desar" msgstr "Desar"
#: templates/musician/address_list.html:7 #: templates/musician/address_list.html:7
#, fuzzy
#| msgid "Filtering"
msgid "Filter by domain" msgid "Filter by domain"
msgstr "Filtrat" msgstr "Filtrat per domini"
#: templates/musician/address_list.html:10 #: templates/musician/address_list.html:10
#: templates/musician/database_list.html:15
#: templates/musician/mailinglist_list.html:18
#: templates/musician/saas_nextcloud_list.html:15
#: templates/musician/saas_wordpress_list.html:15
#: templates/musician/webapps/webapp_list.html:19
#: templates/musician/webapps/webappuser_list.html:12
#: templates/musician/websites/website_list.html:15
msgid "Search" msgid "Search"
msgstr "" msgstr ""
@ -307,7 +312,7 @@ msgstr "Domini"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: templates/musician/address_list.html:27 templates/musician/mail_base.html:22 #: templates/musician/address_list.html:27 templates/musician/mail_base.html:22
#: views.py:485 #: views.py:484
msgid "Mailboxes" msgid "Mailboxes"
msgstr "Bústies de correu" msgstr "Bústies de correu"
@ -329,7 +334,7 @@ msgstr "Perfil"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: templates/musician/base.html:71 templates/musician/billing.html:6 #: templates/musician/base.html:71 templates/musician/billing.html:6
#: views.py:357 #: views.py:356
msgid "Billing" msgid "Billing"
msgstr "Factures" msgstr "Factures"
@ -353,12 +358,12 @@ msgstr "Número"
msgid "Bill date" msgid "Bill date"
msgstr "Data de la factura" msgstr "Data de la factura"
#: templates/musician/billing.html:21 templates/musician/database_list.html:22 #: templates/musician/billing.html:21 templates/musician/database_list.html:32
#: templates/musician/domain_detail.html:38 #: templates/musician/domain_detail.html:38
#: templates/musician/webapps/webapp_detail.html:17 #: templates/musician/webapps/webapp_detail.html:17
#: templates/musician/webapps/webapp_detail.html:96 #: templates/musician/webapps/webapp_detail.html:96
#: templates/musician/webapps/webapp_list.html:26 #: templates/musician/webapps/webapp_list.html:36
#: templates/musician/websites/website_list.html:72 #: templates/musician/websites/website_list.html:82
msgid "Type" msgid "Type"
msgstr "Tipus" msgstr "Tipus"
@ -391,39 +396,44 @@ msgstr "L'espai en disc dels recursos es va actualitzant setmanalment."
msgid "Show history" msgid "Show history"
msgstr "Mostrar historial" msgstr "Mostrar historial"
#: templates/musician/database_list.html:21 #: templates/musician/database_list.html:13
#: templates/musician/database_list.html:31
#: templates/musician/mailbox_list.html:30 #: templates/musician/mailbox_list.html:30
#: templates/musician/mailinglist_list.html:24 #: templates/musician/mailinglist_list.html:16
#: templates/musician/mailinglist_list.html:34
#: templates/musician/saas_list.html:19 #: templates/musician/saas_list.html:19
#: templates/musician/saas_nextcloud_list.html:13 #: templates/musician/saas_nextcloud_list.html:13
#: templates/musician/saas_nextcloud_list.html:23
#: templates/musician/saas_wordpress_list.html:13 #: templates/musician/saas_wordpress_list.html:13
#: templates/musician/webapps/webapp_list.html:25 #: templates/musician/saas_wordpress_list.html:23
#: templates/musician/webapps/webapp_list.html:17
#: templates/musician/webapps/webapp_list.html:35
#: templates/musician/websites/website_detail.html:77 #: templates/musician/websites/website_detail.html:77
#: templates/musician/websites/website_list.html:20 #: templates/musician/websites/website_list.html:30
msgid "Name" msgid "Name"
msgstr "Nom" msgstr "Nom"
#: templates/musician/database_list.html:23 #: templates/musician/database_list.html:33
msgid "Database users" msgid "Database users"
msgstr "Usuaris Base de dades" msgstr "Usuaris Base de dades"
#: templates/musician/database_list.html:24 #: templates/musician/database_list.html:34
#: templates/musician/domain_list.html:71 #: templates/musician/domain_list.html:69
#: templates/musician/saas_nextcloud_list.html:16 #: templates/musician/saas_nextcloud_list.html:26
msgid "Disk usage" msgid "Disk usage"
msgstr "Ús del disc" msgstr "Ús del disc"
#: templates/musician/database_list.html:33 #: templates/musician/database_list.html:43
#: templates/musician/database_list.html:35 #: templates/musician/database_list.html:45
msgid "Open database manager" msgid "Open database manager"
msgstr "Obre el gestor de bases de dades" msgstr "Obre el gestor de bases de dades"
#. Translators: database page when there isn't any database. #. Translators: database page when there isn't any database.
#. Translators: saas page when there isn't any saas. #. Translators: saas page when there isn't any saas.
#: templates/musician/database_list.html:58 #: templates/musician/database_list.html:68
#: templates/musician/saas_list.html:60 #: templates/musician/saas_list.html:60
#: templates/musician/saas_nextcloud_list.html:60 #: templates/musician/saas_nextcloud_list.html:70
#: templates/musician/saas_wordpress_list.html:48 #: templates/musician/saas_wordpress_list.html:58
msgid "Ooops! Looks like there is nothing here!" msgid "Ooops! Looks like there is nothing here!"
msgstr "Mmmh, sembla que aquí no hi ha res!" msgstr "Mmmh, sembla que aquí no hi ha res!"
@ -488,56 +498,56 @@ msgstr "SubDominis"
msgid "Any related subdomain." msgid "Any related subdomain."
msgstr "Qualsevol subdomini relacionat." msgstr "Qualsevol subdomini relacionat."
#: templates/musician/domain_list.html:7 #: templates/musician/domain_list.html:6
msgid "Your domains" msgid "Your domains"
msgstr "Els teus dominis i llocs web" msgstr "Els teus dominis i llocs web"
#: templates/musician/domain_list.html:20 #: templates/musician/domain_list.html:18
#: templates/musician/domain_list.html:117 #: templates/musician/domain_list.html:115
msgid "View DNS records" msgid "View DNS records"
msgstr "Veure registres DNS" msgstr "Veure registres DNS"
#: templates/musician/domain_list.html:24 #: templates/musician/domain_list.html:22
msgid "view configuration" msgid "view configuration"
msgstr "veure la configuració" msgstr "veure la configuració"
#: templates/musician/domain_list.html:31 #: templates/musician/domain_list.html:29
msgid "Expiration date" msgid "Expiration date"
msgstr "Data de venciment" msgstr "Data de venciment"
#: templates/musician/domain_list.html:38 #: templates/musician/domain_list.html:36
msgid "Mail" msgid "Mail"
msgstr "Correu" msgstr "Correu"
#: templates/musician/domain_list.html:41 #: templates/musician/domain_list.html:39
msgid "mail addresses created" msgid "mail addresses created"
msgstr "adreces de correu creades" msgstr "adreces de correu creades"
#: templates/musician/domain_list.html:46 #: templates/musician/domain_list.html:44
msgid "Mail list" msgid "Mail list"
msgstr "Llista de correu" msgstr "Llista de correu"
#: templates/musician/domain_list.html:53 #: templates/musician/domain_list.html:51
msgid "Nothing installed" msgid "Nothing installed"
msgstr "No tens res instal·lat" msgstr "No tens res instal·lat"
#: templates/musician/domain_list.html:57 #: templates/musician/domain_list.html:55
msgid "Website" msgid "Website"
msgstr "" msgstr ""
#: templates/musician/domain_list.html:60 #: templates/musician/domain_list.html:58
msgid "assigned website" msgid "assigned website"
msgstr "website assignat" msgstr "website assignat"
#: templates/musician/domain_list.html:89 #: templates/musician/domain_list.html:87
msgid "Configuration details" msgid "Configuration details"
msgstr "Detalls de configuració" msgstr "Detalls de configuració"
#: templates/musician/domain_list.html:96 #: templates/musician/domain_list.html:94
msgid "FTP access:" msgid "FTP access:"
msgstr "Accés FTP:" msgstr "Accés FTP:"
#: templates/musician/domain_list.html:99 #: templates/musician/domain_list.html:97
#, fuzzy, python-format #, fuzzy, python-format
#| msgid "" #| msgid ""
#| "Send an email to <a href=\"mailto:%(support_email)s\">%(support_email)s</" #| "Send an email to <a href=\"mailto:%(support_email)s\">%(support_email)s</"
@ -548,15 +558,15 @@ msgstr ""
"Envia un correu a <a href=\"mailto:%(support_email)s\">%(support_email)s</a> " "Envia un correu a <a href=\"mailto:%(support_email)s\">%(support_email)s</a> "
"indicant el teu nom dusuari/a i texplicarem què fer." "indicant el teu nom dusuari/a i texplicarem què fer."
#: templates/musician/domain_list.html:109 #: templates/musician/domain_list.html:107
msgid "No website configured." msgid "No website configured."
msgstr "No hi ha cap web configurada." msgstr "No hi ha cap web configurada."
#: templates/musician/domain_list.html:111 #: templates/musician/domain_list.html:109
msgid "Root directory:" msgid "Root directory:"
msgstr "Directori arrel:" msgstr "Directori arrel:"
#: templates/musician/domain_list.html:112 #: templates/musician/domain_list.html:110
msgid "Type:" msgid "Type:"
msgstr "Tipus:" msgstr "Tipus:"
@ -621,9 +631,9 @@ msgstr "Filtrat"
#: templates/musician/systemuser_list.html:32 #: templates/musician/systemuser_list.html:32
#: templates/musician/webapps/webapp_detail.html:33 #: templates/musician/webapps/webapp_detail.html:33
#: templates/musician/webapps/webapp_detail.html:41 #: templates/musician/webapps/webapp_detail.html:41
#: templates/musician/webapps/webappuser_list.html:30 #: templates/musician/webapps/webappuser_list.html:41
#: templates/musician/websites/website_list.html:86 #: templates/musician/websites/website_list.html:96
#: templates/musician/websites/website_list.html:93 #: templates/musician/websites/website_list.html:103
msgid "Update password" msgid "Update password"
msgstr "Actualitza la contrasenya" msgstr "Actualitza la contrasenya"
@ -643,35 +653,35 @@ msgstr "Actualitzar llista"
msgid "Create list" msgid "Create list"
msgstr "Crear llista" msgstr "Crear llista"
#: templates/musician/mailinglist_list.html:25 #: templates/musician/mailinglist_list.html:35
#: templates/musician/saas_list.html:20 #: templates/musician/saas_list.html:20
#: templates/musician/saas_nextcloud_list.html:14 #: templates/musician/saas_nextcloud_list.html:24
#: templates/musician/saas_wordpress_list.html:14 #: templates/musician/saas_wordpress_list.html:24
#: templates/musician/websites/website_list.html:23 #: templates/musician/websites/website_list.html:33
msgid "Status" msgid "Status"
msgstr "Estat" msgstr "Estat"
#: templates/musician/mailinglist_list.html:26 #: templates/musician/mailinglist_list.html:36
msgid "Address" msgid "Address"
msgstr "Direcció de correu" msgstr "Direcció de correu"
#: templates/musician/mailinglist_list.html:27 #: templates/musician/mailinglist_list.html:37
msgid "Admin email" msgid "Admin email"
msgstr "Administrador" msgstr "Administrador"
#: templates/musician/mailinglist_list.html:28 #: templates/musician/mailinglist_list.html:38
msgid "Configure" msgid "Configure"
msgstr "Configura" msgstr "Configura"
#: templates/musician/mailinglist_list.html:37 #: templates/musician/mailinglist_list.html:47
msgid "Active" msgid "Active"
msgstr "Actiu" msgstr "Actiu"
#: templates/musician/mailinglist_list.html:39 #: templates/musician/mailinglist_list.html:49
msgid "Inactive" msgid "Inactive"
msgstr "Inactiu" msgstr "Inactiu"
#: templates/musician/mailinglist_list.html:61 #: templates/musician/mailinglist_list.html:71
msgid "New list" msgid "New list"
msgstr "Nova llista" msgstr "Nova llista"
@ -718,8 +728,8 @@ msgid "Are you sure that you want remove the SaaS:"
msgstr "Estàs segur/a que vols esborrar la següent llista:" msgstr "Estàs segur/a que vols esborrar la següent llista:"
#: templates/musician/saas_list.html:21 #: templates/musician/saas_list.html:21
#: templates/musician/saas_nextcloud_list.html:15 #: templates/musician/saas_nextcloud_list.html:25
#: templates/musician/saas_wordpress_list.html:15 #: templates/musician/saas_wordpress_list.html:25
msgid "Service" msgid "Service"
msgstr "Servei" msgstr "Servei"
@ -728,16 +738,16 @@ msgid "Service info"
msgstr "Informació del servei" msgstr "Informació del servei"
#: templates/musician/saas_list.html:31 #: templates/musician/saas_list.html:31
#: templates/musician/saas_nextcloud_list.html:25 #: templates/musician/saas_nextcloud_list.html:35
#: templates/musician/saas_wordpress_list.html:24 #: templates/musician/saas_wordpress_list.html:34
msgid "Installed on" msgid "Installed on"
msgstr "Instal·lat a" msgstr "Instal·lat a"
#: templates/musician/saas_list.html:38 templates/musician/saas_list.html:40 #: templates/musician/saas_list.html:38 templates/musician/saas_list.html:40
#: templates/musician/saas_nextcloud_list.html:32 #: templates/musician/saas_nextcloud_list.html:42
#: templates/musician/saas_nextcloud_list.html:34 #: templates/musician/saas_nextcloud_list.html:44
#: templates/musician/saas_wordpress_list.html:31 #: templates/musician/saas_wordpress_list.html:41
#: templates/musician/saas_wordpress_list.html:33 #: templates/musician/saas_wordpress_list.html:43
msgid "Open service admin panel" msgid "Open service admin panel"
msgstr "Obre el panell dadministració del servei" msgstr "Obre el panell dadministració del servei"
@ -763,7 +773,7 @@ msgstr ""
"Has assolit el límit d'usuaris Nextcloud de la teva subscripció, els nous " "Has assolit el límit d'usuaris Nextcloud de la teva subscripció, els nous "
"usuaris poden implicar <strong>costos addicionals</strong>." "usuaris poden implicar <strong>costos addicionals</strong>."
#: templates/musician/saas_nextcloud_list.html:69 #: templates/musician/saas_nextcloud_list.html:79
msgid "New user" msgid "New user"
msgstr "Nou usuari" msgstr "Nou usuari"
@ -783,13 +793,13 @@ msgstr ""
"Aquest usuari només té permisos d'escriptura en el seu propi directori." "Aquest usuari només té permisos d'escriptura en el seu propi directori."
#: templates/musician/systemuser_list.html:18 #: templates/musician/systemuser_list.html:18
#: templates/musician/webapps/webappuser_list.html:15 #: templates/musician/webapps/webappuser_list.html:26
msgid "Username" msgid "Username"
msgstr "Nom dusuari/a" msgstr "Nom dusuari/a"
#: templates/musician/systemuser_list.html:19 #: templates/musician/systemuser_list.html:19
#: templates/musician/webapps/webapp_detail.html:47 #: templates/musician/webapps/webapp_detail.html:47
#: templates/musician/webapps/webappuser_list.html:16 #: templates/musician/webapps/webappuser_list.html:27
#: templates/musician/websites/website_detail.html:49 #: templates/musician/websites/website_detail.html:49
msgid "Path" msgid "Path"
msgstr "Ruta" msgstr "Ruta"
@ -807,15 +817,15 @@ msgid "WebApp Options for"
msgstr "Opcions WebApp per" msgstr "Opcions WebApp per"
#: templates/musician/webapps/webapp_detail.html:13 #: templates/musician/webapps/webapp_detail.html:13
#: templates/musician/webapps/webapp_list.html:29 #: templates/musician/webapps/webapp_list.html:39
#: templates/musician/webapps/webappuser_list.html:17 #: templates/musician/webapps/webappuser_list.html:28
#: templates/musician/websites/website_detail.html:13 #: templates/musician/websites/website_detail.html:13
#: templates/musician/websites/website_list.html:22 #: templates/musician/websites/website_list.html:32
msgid "Server" msgid "Server"
msgstr "Servidor" msgstr "Servidor"
#: templates/musician/webapps/webapp_detail.html:27 #: templates/musician/webapps/webapp_detail.html:27
#: templates/musician/websites/website_list.html:82 #: templates/musician/websites/website_list.html:92
msgid "SFTP user" msgid "SFTP user"
msgstr "Usuari SFTP" msgstr "Usuari SFTP"
@ -862,11 +872,11 @@ msgstr ""
msgid "Add new option" msgid "Add new option"
msgstr "Afegir nova Opcio" msgstr "Afegir nova Opcio"
#: templates/musician/webapps/webapp_list.html:27 #: templates/musician/webapps/webapp_list.html:37
msgid "Version" msgid "Version"
msgstr "" msgstr ""
#: templates/musician/webapps/webapp_list.html:28 #: templates/musician/webapps/webapp_list.html:38
msgid "SFTP User" msgid "SFTP User"
msgstr "Usuari SFTP" msgstr "Usuari SFTP"
@ -884,6 +894,12 @@ msgstr "Afegir Opcio a"
msgid "Are you sure that you want remove the following option?" msgid "Are you sure that you want remove the following option?"
msgstr "Estàs segur/a que vols esborrar la següent opció?" msgstr "Estàs segur/a que vols esborrar la següent opció?"
#: templates/musician/webapps/webappuser_list.html:10
#, fuzzy
#| msgid "Users"
msgid "User"
msgstr "Usuaris"
#: templates/musician/websites/website_detail.html:7 #: templates/musician/websites/website_detail.html:7
msgid "WebSite Options for" msgid "WebSite Options for"
msgstr "Opcions de WebSite per" msgstr "Opcions de WebSite per"
@ -938,11 +954,15 @@ msgstr "Afegir nova directiva"
msgid "Update Option of Website" msgid "Update Option of Website"
msgstr "Actualitzar Opció de WebSite" msgstr "Actualitzar Opció de WebSite"
#: templates/musician/websites/website_list.html:21 #: templates/musician/websites/website_list.html:13
msgid "Filter by Name or Domain"
msgstr "Filtrat per Nom o Domini"
#: templates/musician/websites/website_list.html:31
msgid "Url" msgid "Url"
msgstr "" msgstr ""
#: templates/musician/websites/website_list.html:89 #: templates/musician/websites/website_list.html:99
#, fuzzy #, fuzzy
#| msgid "SFTP user" #| msgid "SFTP user"
msgid "FTP user" msgid "FTP user"
@ -966,32 +986,32 @@ msgid "Account"
msgstr "Compte" msgstr "Compte"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:284 #: views.py:283
msgid "User profile" msgid "User profile"
msgstr "El teu perfil" msgstr "El teu perfil"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:371 #: views.py:370
msgid "Download bill" msgid "Download bill"
msgstr "Descarrega la factura" msgstr "Descarrega la factura"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:620 #: views.py:623
msgid "Domain details" msgid "Domain details"
msgstr "Detalls del domini" msgstr "Detalls del domini"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:676 #: views.py:679
msgid "Login" msgid "Login"
msgstr "Accés" msgstr "Accés"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:747 #: views.py:750
msgid "Webapp users" msgid "Webapp users"
msgstr "" msgstr ""
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:765 #: views.py:775
msgid "Main users" msgid "Main users"
msgstr "Usuari principal" msgstr "Usuari principal"
@ -999,7 +1019,7 @@ msgstr "Usuari principal"
msgid "This option already exist." msgid "This option already exist."
msgstr "Aquesta opcio ja existeix" msgstr "Aquesta opcio ja existeix"
#: webapps/views.py:34 #: webapps/views.py:38
msgid "" msgid ""
"A web app is the directory where your website is stored. Through SFTP, you " "A web app is the directory where your website is stored. Through SFTP, you "
"can access this directory and upload/edit/delete files." "can access this directory and upload/edit/delete files."
@ -1007,7 +1027,7 @@ msgstr ""
"Una WebApp és el directori on es desa el teu WebSite. A través de SFTP, pots " "Una WebApp és el directori on es desa el teu WebSite. A través de SFTP, pots "
"accedir a aquest directori i pujar, editar o eliminar fitxers." "accedir a aquest directori i pujar, editar o eliminar fitxers."
#: webapps/views.py:35 #: webapps/views.py:39
msgid "" msgid ""
"Each Webapp has its own SFTP user, which is created automatically when the " "Each Webapp has its own SFTP user, which is created automatically when the "
"Webapp is created." "Webapp is created."
@ -1016,7 +1036,7 @@ msgstr ""
"crea l'aplicació web." "crea l'aplicació web."
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: webapps/views.py:44 #: webapps/views.py:48
#, fuzzy #, fuzzy
#| msgid "Type details" #| msgid "Type details"
msgid "webapp details" msgid "webapp details"
@ -1033,7 +1053,7 @@ msgstr ""
msgid "This Path already exists on this Website." msgid "This Path already exists on this Website."
msgstr "Aquesta ruta ja existeix en aquest" msgstr "Aquesta ruta ja existeix en aquest"
#: websites/views.py:33 #: websites/views.py:38
msgid "" msgid ""
"A website is the place where a domain is associated with the directory where " "A website is the place where a domain is associated with the directory where "
"the web files are located. (WebApp)" "the web files are located. (WebApp)"
@ -1042,7 +1062,7 @@ msgstr ""
"troben els fitxers web. (Aplicació web)" "troben els fitxers web. (Aplicació web)"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: websites/views.py:42 #: websites/views.py:47
#, fuzzy #, fuzzy
#| msgid "Type details" #| msgid "Type details"
msgid "website details" msgid "website details"

View file

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-20 10:33+0000\n" "POT-Creation-Date: 2024-12-03 11:01+0000\n"
"PO-Revision-Date: 2021-11-25 12:53+0100\n" "PO-Revision-Date: 2021-11-25 12:53+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \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" msgid "No mailbox found matching the query"
msgstr "No hay buzones de correo que coincidan con tu búsqueda" msgstr "No hay buzones de correo que coincidan con tu búsqueda"
#: forms.py:42 forms.py:111 saas/forms.py:100 #: forms.py:42 forms.py:111 saas/forms.py:101
msgid "The two password fields didnt match." msgid "The two password fields didnt match."
msgstr "Las contraseñas introducidas no coinciden." msgstr "Las contraseñas introducidas no coinciden."
#: forms.py:45 forms.py:115 saas/forms.py:103 #: forms.py:45 forms.py:115 saas/forms.py:104
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
#: forms.py:50 forms.py:120 saas/forms.py:108 #: forms.py:50 forms.py:120 saas/forms.py:109
msgid "Password confirmation" msgid "Password confirmation"
msgstr "Confirma la contraseña" msgstr "Confirma la contraseña"
#: forms.py:53 forms.py:123 saas/forms.py:111 #: forms.py:53 forms.py:123 saas/forms.py:112
msgid "Enter the same password as before, for verification." msgid "Enter the same password as before, for verification."
msgstr "Introduce la misma contraseña para verificarla" msgstr "Introduce la misma contraseña para verificarla"
@ -73,7 +73,7 @@ msgid "Mails"
msgstr "Correos" msgstr "Correos"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: mixins.py:22 models.py:146 views.py:599 #: mixins.py:22 models.py:146 views.py:598
msgid "Databases" msgid "Databases"
msgstr "Bases de datos" msgstr "Bases de datos"
@ -90,7 +90,7 @@ msgid "Community WP"
msgstr "WP Comunitario" msgstr "WP Comunitario"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: mixins.py:26 websites/views.py:24 #: mixins.py:26 websites/views.py:25
msgid "Websites" msgid "Websites"
msgstr "" msgstr ""
@ -108,7 +108,7 @@ msgid "Description details for databases page."
msgstr "Consulta la configuración de tus bases de datos." msgstr "Consulta la configuración de tus bases de datos."
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: models.py:234 views.py:399 #: models.py:234 views.py:398
msgid "Mail addresses" msgid "Mail addresses"
msgstr "Direcciones de correo" msgstr "Direcciones de correo"
@ -166,13 +166,13 @@ msgstr ""
"está en la base de datos.<br>El nombre de usuario y la contraseña se " "está en la base de datos.<br>El nombre de usuario y la contraseña se "
"enviarán a esta dirección de correo electrónico." "enviarán a esta dirección de correo electrónico."
#: saas/forms.py:90 saas/forms.py:124 #: saas/forms.py:90 saas/forms.py:125
#, python-format #, python-format
msgid "Suggestion: %s" msgid "Suggestion: %s"
msgstr "Sugerencia: %s" msgstr "Sugerencia: %s"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: saas/views.py:28 saas/views.py:51 templates/musician/domain_list.html:51 #: saas/views.py:28 saas/views.py:55 templates/musician/domain_list.html:49
msgid "Software as a Service" msgid "Software as a Service"
msgstr "Software as a Service" msgstr "Software as a Service"
@ -185,11 +185,11 @@ msgid "Members can manage their Nextcloud users in this section."
msgstr "" msgstr ""
"Los miembros pueden gestionar sus usuarios de Nextcloud en esta sección." "Los miembros pueden gestionar sus usuarios de Nextcloud en esta sección."
#: saas/views.py:52 #: saas/views.py:56
msgid "Community WordPress" msgid "Community WordPress"
msgstr "WordPress Comunitario" msgstr "WordPress Comunitario"
#: saas/views.py:53 #: saas/views.py:57
msgid "" msgid ""
"Pangea's multisite WordPress service. Members can have their WordPress on " "Pangea's multisite WordPress service. Members can have their WordPress on "
"this community WordPress hosted and maintained by Pangea." "this community WordPress hosted and maintained by Pangea."
@ -294,12 +294,17 @@ msgid "Save"
msgstr "Guardar" msgstr "Guardar"
#: templates/musician/address_list.html:7 #: templates/musician/address_list.html:7
#, fuzzy
#| msgid "Filtering"
msgid "Filter by domain" msgid "Filter by domain"
msgstr "Filtrado" msgstr "Filtra por dominio"
#: templates/musician/address_list.html:10 #: templates/musician/address_list.html:10
#: templates/musician/database_list.html:15
#: templates/musician/mailinglist_list.html:18
#: templates/musician/saas_nextcloud_list.html:15
#: templates/musician/saas_wordpress_list.html:15
#: templates/musician/webapps/webapp_list.html:19
#: templates/musician/webapps/webappuser_list.html:12
#: templates/musician/websites/website_list.html:15
msgid "Search" msgid "Search"
msgstr "" msgstr ""
@ -309,7 +314,7 @@ msgstr "Dominio"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: templates/musician/address_list.html:27 templates/musician/mail_base.html:22 #: templates/musician/address_list.html:27 templates/musician/mail_base.html:22
#: views.py:485 #: views.py:484
msgid "Mailboxes" msgid "Mailboxes"
msgstr "Buzones de correo" msgstr "Buzones de correo"
@ -331,7 +336,7 @@ msgstr "Perfil"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: templates/musician/base.html:71 templates/musician/billing.html:6 #: templates/musician/base.html:71 templates/musician/billing.html:6
#: views.py:357 #: views.py:356
msgid "Billing" msgid "Billing"
msgstr "Facturas" msgstr "Facturas"
@ -355,12 +360,12 @@ msgstr "Número"
msgid "Bill date" msgid "Bill date"
msgstr "Fecha de la factura" msgstr "Fecha de la factura"
#: templates/musician/billing.html:21 templates/musician/database_list.html:22 #: templates/musician/billing.html:21 templates/musician/database_list.html:32
#: templates/musician/domain_detail.html:38 #: templates/musician/domain_detail.html:38
#: templates/musician/webapps/webapp_detail.html:17 #: templates/musician/webapps/webapp_detail.html:17
#: templates/musician/webapps/webapp_detail.html:96 #: templates/musician/webapps/webapp_detail.html:96
#: templates/musician/webapps/webapp_list.html:26 #: templates/musician/webapps/webapp_list.html:36
#: templates/musician/websites/website_list.html:72 #: templates/musician/websites/website_list.html:82
msgid "Type" msgid "Type"
msgstr "Tipo" msgstr "Tipo"
@ -393,39 +398,44 @@ msgstr "El espacio en disco de los recursos se actualiza semanalmente"
msgid "Show history" msgid "Show history"
msgstr "Mostrar historial" msgstr "Mostrar historial"
#: templates/musician/database_list.html:21 #: templates/musician/database_list.html:13
#: templates/musician/database_list.html:31
#: templates/musician/mailbox_list.html:30 #: templates/musician/mailbox_list.html:30
#: templates/musician/mailinglist_list.html:24 #: templates/musician/mailinglist_list.html:16
#: templates/musician/mailinglist_list.html:34
#: templates/musician/saas_list.html:19 #: templates/musician/saas_list.html:19
#: templates/musician/saas_nextcloud_list.html:13 #: templates/musician/saas_nextcloud_list.html:13
#: templates/musician/saas_nextcloud_list.html:23
#: templates/musician/saas_wordpress_list.html:13 #: templates/musician/saas_wordpress_list.html:13
#: templates/musician/webapps/webapp_list.html:25 #: templates/musician/saas_wordpress_list.html:23
#: templates/musician/webapps/webapp_list.html:17
#: templates/musician/webapps/webapp_list.html:35
#: templates/musician/websites/website_detail.html:77 #: templates/musician/websites/website_detail.html:77
#: templates/musician/websites/website_list.html:20 #: templates/musician/websites/website_list.html:30
msgid "Name" msgid "Name"
msgstr "Nombre" msgstr "Nombre"
#: templates/musician/database_list.html:23 #: templates/musician/database_list.html:33
msgid "Database users" msgid "Database users"
msgstr "Usuarios Base de datos" msgstr "Usuarios Base de datos"
#: templates/musician/database_list.html:24 #: templates/musician/database_list.html:34
#: templates/musician/domain_list.html:71 #: templates/musician/domain_list.html:69
#: templates/musician/saas_nextcloud_list.html:16 #: templates/musician/saas_nextcloud_list.html:26
msgid "Disk usage" msgid "Disk usage"
msgstr "Uso del disco" msgstr "Uso del disco"
#: templates/musician/database_list.html:33 #: templates/musician/database_list.html:43
#: templates/musician/database_list.html:35 #: templates/musician/database_list.html:45
msgid "Open database manager" msgid "Open database manager"
msgstr "Abre el gestor de bases de datos" msgstr "Abre el gestor de bases de datos"
#. Translators: database page when there isn't any database. #. Translators: database page when there isn't any database.
#. Translators: saas page when there isn't any saas. #. Translators: saas page when there isn't any saas.
#: templates/musician/database_list.html:58 #: templates/musician/database_list.html:68
#: templates/musician/saas_list.html:60 #: templates/musician/saas_list.html:60
#: templates/musician/saas_nextcloud_list.html:60 #: templates/musician/saas_nextcloud_list.html:70
#: templates/musician/saas_wordpress_list.html:48 #: templates/musician/saas_wordpress_list.html:58
msgid "Ooops! Looks like there is nothing here!" msgid "Ooops! Looks like there is nothing here!"
msgstr "Mmmh… ¡parece que aquí no hay nada!" msgstr "Mmmh… ¡parece que aquí no hay nada!"
@ -491,56 +501,56 @@ msgstr "SubDominios"
msgid "Any related subdomain." msgid "Any related subdomain."
msgstr "Cualquier subdominio relacionado." msgstr "Cualquier subdominio relacionado."
#: templates/musician/domain_list.html:7 #: templates/musician/domain_list.html:6
msgid "Your domains" msgid "Your domains"
msgstr "Tus dominios y sitios web" msgstr "Tus dominios y sitios web"
#: templates/musician/domain_list.html:20 #: templates/musician/domain_list.html:18
#: templates/musician/domain_list.html:117 #: templates/musician/domain_list.html:115
msgid "View DNS records" msgid "View DNS records"
msgstr "Ver registros DNS" msgstr "Ver registros DNS"
#: templates/musician/domain_list.html:24 #: templates/musician/domain_list.html:22
msgid "view configuration" msgid "view configuration"
msgstr "ver la configuración" msgstr "ver la configuración"
#: templates/musician/domain_list.html:31 #: templates/musician/domain_list.html:29
msgid "Expiration date" msgid "Expiration date"
msgstr "Fecha de vencimiento" msgstr "Fecha de vencimiento"
#: templates/musician/domain_list.html:38 #: templates/musician/domain_list.html:36
msgid "Mail" msgid "Mail"
msgstr "Correo" msgstr "Correo"
#: templates/musician/domain_list.html:41 #: templates/musician/domain_list.html:39
msgid "mail addresses created" msgid "mail addresses created"
msgstr "direcciones de correo creadas" msgstr "direcciones de correo creadas"
#: templates/musician/domain_list.html:46 #: templates/musician/domain_list.html:44
msgid "Mail list" msgid "Mail list"
msgstr "Lista de correo" msgstr "Lista de correo"
#: templates/musician/domain_list.html:53 #: templates/musician/domain_list.html:51
msgid "Nothing installed" msgid "Nothing installed"
msgstr "No tienes nada instalado" msgstr "No tienes nada instalado"
#: templates/musician/domain_list.html:57 #: templates/musician/domain_list.html:55
msgid "Website" msgid "Website"
msgstr "" msgstr ""
#: templates/musician/domain_list.html:60 #: templates/musician/domain_list.html:58
msgid "assigned website" msgid "assigned website"
msgstr "website asignado" msgstr "website asignado"
#: templates/musician/domain_list.html:89 #: templates/musician/domain_list.html:87
msgid "Configuration details" msgid "Configuration details"
msgstr "Detalles de configuración" msgstr "Detalles de configuración"
#: templates/musician/domain_list.html:96 #: templates/musician/domain_list.html:94
msgid "FTP access:" msgid "FTP access:"
msgstr "Acceso FTP:" msgstr "Acceso FTP:"
#: templates/musician/domain_list.html:99 #: templates/musician/domain_list.html:97
#, fuzzy, python-format #, fuzzy, python-format
#| msgid "" #| msgid ""
#| "Send an email to <a href=\"mailto:%(support_email)s\">%(support_email)s</" #| "Send an email to <a href=\"mailto:%(support_email)s\">%(support_email)s</"
@ -551,15 +561,15 @@ msgstr ""
"Envía un correo a <a href=“mailto:%(support_email)s”>%(support_email)s</a> " "Envía un correo a <a href=“mailto:%(support_email)s”>%(support_email)s</a> "
"indicando tu nombre de usuaria/o y te explicaremos qué hacer." "indicando tu nombre de usuaria/o y te explicaremos qué hacer."
#: templates/musician/domain_list.html:109 #: templates/musician/domain_list.html:107
msgid "No website configured." msgid "No website configured."
msgstr "No hay ninguna web configurada." msgstr "No hay ninguna web configurada."
#: templates/musician/domain_list.html:111 #: templates/musician/domain_list.html:109
msgid "Root directory:" msgid "Root directory:"
msgstr "Directorio raíz:" msgstr "Directorio raíz:"
#: templates/musician/domain_list.html:112 #: templates/musician/domain_list.html:110
msgid "Type:" msgid "Type:"
msgstr "Tipo:" msgstr "Tipo:"
@ -624,9 +634,9 @@ msgstr "Filtrado"
#: templates/musician/systemuser_list.html:32 #: templates/musician/systemuser_list.html:32
#: templates/musician/webapps/webapp_detail.html:33 #: templates/musician/webapps/webapp_detail.html:33
#: templates/musician/webapps/webapp_detail.html:41 #: templates/musician/webapps/webapp_detail.html:41
#: templates/musician/webapps/webappuser_list.html:30 #: templates/musician/webapps/webappuser_list.html:41
#: templates/musician/websites/website_list.html:86 #: templates/musician/websites/website_list.html:96
#: templates/musician/websites/website_list.html:93 #: templates/musician/websites/website_list.html:103
msgid "Update password" msgid "Update password"
msgstr "Actualiza la contraseña" msgstr "Actualiza la contraseña"
@ -646,35 +656,35 @@ msgstr "Actualizar lista"
msgid "Create list" msgid "Create list"
msgstr "Crear lista" msgstr "Crear lista"
#: templates/musician/mailinglist_list.html:25 #: templates/musician/mailinglist_list.html:35
#: templates/musician/saas_list.html:20 #: templates/musician/saas_list.html:20
#: templates/musician/saas_nextcloud_list.html:14 #: templates/musician/saas_nextcloud_list.html:24
#: templates/musician/saas_wordpress_list.html:14 #: templates/musician/saas_wordpress_list.html:24
#: templates/musician/websites/website_list.html:23 #: templates/musician/websites/website_list.html:33
msgid "Status" msgid "Status"
msgstr "Estado" msgstr "Estado"
#: templates/musician/mailinglist_list.html:26 #: templates/musician/mailinglist_list.html:36
msgid "Address" msgid "Address"
msgstr "Dirección de correo" msgstr "Dirección de correo"
#: templates/musician/mailinglist_list.html:27 #: templates/musician/mailinglist_list.html:37
msgid "Admin email" msgid "Admin email"
msgstr "Administrador" msgstr "Administrador"
#: templates/musician/mailinglist_list.html:28 #: templates/musician/mailinglist_list.html:38
msgid "Configure" msgid "Configure"
msgstr "Configura" msgstr "Configura"
#: templates/musician/mailinglist_list.html:37 #: templates/musician/mailinglist_list.html:47
msgid "Active" msgid "Active"
msgstr "Activo" msgstr "Activo"
#: templates/musician/mailinglist_list.html:39 #: templates/musician/mailinglist_list.html:49
msgid "Inactive" msgid "Inactive"
msgstr "Inactivo" msgstr "Inactivo"
#: templates/musician/mailinglist_list.html:61 #: templates/musician/mailinglist_list.html:71
msgid "New list" msgid "New list"
msgstr "Nueva Lista" msgstr "Nueva Lista"
@ -723,8 +733,8 @@ msgid "Are you sure that you want remove the SaaS:"
msgstr "¿Estás seguro/a de que quieres borrar la siguiente lista:" msgstr "¿Estás seguro/a de que quieres borrar la siguiente lista:"
#: templates/musician/saas_list.html:21 #: templates/musician/saas_list.html:21
#: templates/musician/saas_nextcloud_list.html:15 #: templates/musician/saas_nextcloud_list.html:25
#: templates/musician/saas_wordpress_list.html:15 #: templates/musician/saas_wordpress_list.html:25
msgid "Service" msgid "Service"
msgstr "Servicio" msgstr "Servicio"
@ -733,16 +743,16 @@ msgid "Service info"
msgstr "Información del servicio" msgstr "Información del servicio"
#: templates/musician/saas_list.html:31 #: templates/musician/saas_list.html:31
#: templates/musician/saas_nextcloud_list.html:25 #: templates/musician/saas_nextcloud_list.html:35
#: templates/musician/saas_wordpress_list.html:24 #: templates/musician/saas_wordpress_list.html:34
msgid "Installed on" msgid "Installed on"
msgstr "Instalado en" msgstr "Instalado en"
#: templates/musician/saas_list.html:38 templates/musician/saas_list.html:40 #: templates/musician/saas_list.html:38 templates/musician/saas_list.html:40
#: templates/musician/saas_nextcloud_list.html:32 #: templates/musician/saas_nextcloud_list.html:42
#: templates/musician/saas_nextcloud_list.html:34 #: templates/musician/saas_nextcloud_list.html:44
#: templates/musician/saas_wordpress_list.html:31 #: templates/musician/saas_wordpress_list.html:41
#: templates/musician/saas_wordpress_list.html:33 #: templates/musician/saas_wordpress_list.html:43
msgid "Open service admin panel" msgid "Open service admin panel"
msgstr "Abre el panel de administración del servicio" msgstr "Abre el panel de administración del servicio"
@ -768,7 +778,7 @@ msgstr ""
"Has alcanzado el límite de usuarios Nextcloud de tu suscripción, los nuevos " "Has alcanzado el límite de usuarios Nextcloud de tu suscripción, los nuevos "
"usuarios pueden suponer <strong>costes adicionales</strong>." "usuarios pueden suponer <strong>costes adicionales</strong>."
#: templates/musician/saas_nextcloud_list.html:69 #: templates/musician/saas_nextcloud_list.html:79
msgid "New user" msgid "New user"
msgstr "Nuevo usuario" msgstr "Nuevo usuario"
@ -787,13 +797,13 @@ msgid "This user only has write permissions in their own directory."
msgstr "Este usuario solo tiene permisos de escritura en su directorio." msgstr "Este usuario solo tiene permisos de escritura en su directorio."
#: templates/musician/systemuser_list.html:18 #: templates/musician/systemuser_list.html:18
#: templates/musician/webapps/webappuser_list.html:15 #: templates/musician/webapps/webappuser_list.html:26
msgid "Username" msgid "Username"
msgstr "Nombre de usuario/a" msgstr "Nombre de usuario/a"
#: templates/musician/systemuser_list.html:19 #: templates/musician/systemuser_list.html:19
#: templates/musician/webapps/webapp_detail.html:47 #: templates/musician/webapps/webapp_detail.html:47
#: templates/musician/webapps/webappuser_list.html:16 #: templates/musician/webapps/webappuser_list.html:27
#: templates/musician/websites/website_detail.html:49 #: templates/musician/websites/website_detail.html:49
msgid "Path" msgid "Path"
msgstr "Ruta" msgstr "Ruta"
@ -811,15 +821,15 @@ msgid "WebApp Options for"
msgstr "Opciones de WebApp para" msgstr "Opciones de WebApp para"
#: templates/musician/webapps/webapp_detail.html:13 #: templates/musician/webapps/webapp_detail.html:13
#: templates/musician/webapps/webapp_list.html:29 #: templates/musician/webapps/webapp_list.html:39
#: templates/musician/webapps/webappuser_list.html:17 #: templates/musician/webapps/webappuser_list.html:28
#: templates/musician/websites/website_detail.html:13 #: templates/musician/websites/website_detail.html:13
#: templates/musician/websites/website_list.html:22 #: templates/musician/websites/website_list.html:32
msgid "Server" msgid "Server"
msgstr "Servidor" msgstr "Servidor"
#: templates/musician/webapps/webapp_detail.html:27 #: templates/musician/webapps/webapp_detail.html:27
#: templates/musician/websites/website_list.html:82 #: templates/musician/websites/website_list.html:92
msgid "SFTP user" msgid "SFTP user"
msgstr "Usuario SFTP" msgstr "Usuario SFTP"
@ -868,11 +878,11 @@ msgstr ""
msgid "Add new option" msgid "Add new option"
msgstr "Añadir nueva opción" msgstr "Añadir nueva opción"
#: templates/musician/webapps/webapp_list.html:27 #: templates/musician/webapps/webapp_list.html:37
msgid "Version" msgid "Version"
msgstr "" msgstr ""
#: templates/musician/webapps/webapp_list.html:28 #: templates/musician/webapps/webapp_list.html:38
msgid "SFTP User" msgid "SFTP User"
msgstr "Usuario SFTP" msgstr "Usuario SFTP"
@ -890,6 +900,12 @@ msgstr "Añadir Opción a"
msgid "Are you sure that you want remove the following option?" msgid "Are you sure that you want remove the following option?"
msgstr "¿Estás seguro/a de que quieres borrar la siguiente opción?" msgstr "¿Estás seguro/a de que quieres borrar la siguiente opción?"
#: templates/musician/webapps/webappuser_list.html:10
#, fuzzy
#| msgid "Users"
msgid "User"
msgstr "Usuarios"
#: templates/musician/websites/website_detail.html:7 #: templates/musician/websites/website_detail.html:7
msgid "WebSite Options for" msgid "WebSite Options for"
msgstr "Opciones de Website para" msgstr "Opciones de Website para"
@ -944,11 +960,15 @@ msgstr "Añadir nueva directiva"
msgid "Update Option of Website" msgid "Update Option of Website"
msgstr "Actualizar Opción de WebSite" msgstr "Actualizar Opción de WebSite"
#: templates/musician/websites/website_list.html:21 #: templates/musician/websites/website_list.html:13
msgid "Filter by Name or Domain"
msgstr "Filtra por Nombre o Dominio"
#: templates/musician/websites/website_list.html:31
msgid "Url" msgid "Url"
msgstr "" msgstr ""
#: templates/musician/websites/website_list.html:89 #: templates/musician/websites/website_list.html:99
#, fuzzy #, fuzzy
#| msgid "SFTP user" #| msgid "SFTP user"
msgid "FTP user" msgid "FTP user"
@ -972,32 +992,32 @@ msgid "Account"
msgstr "Cuenta" msgstr "Cuenta"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:284 #: views.py:283
msgid "User profile" msgid "User profile"
msgstr "Tu perfil" msgstr "Tu perfil"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:371 #: views.py:370
msgid "Download bill" msgid "Download bill"
msgstr "Descarga la factura" msgstr "Descarga la factura"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:620 #: views.py:623
msgid "Domain details" msgid "Domain details"
msgstr "Detalles del dominio" msgstr "Detalles del dominio"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:676 #: views.py:679
msgid "Login" msgid "Login"
msgstr "Accede" msgstr "Accede"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:747 #: views.py:750
msgid "Webapp users" msgid "Webapp users"
msgstr "" msgstr ""
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: views.py:765 #: views.py:775
msgid "Main users" msgid "Main users"
msgstr "Usuarios principales" msgstr "Usuarios principales"
@ -1005,7 +1025,7 @@ msgstr "Usuarios principales"
msgid "This option already exist." msgid "This option already exist."
msgstr "Esta opción ya existe." msgstr "Esta opción ya existe."
#: webapps/views.py:34 #: webapps/views.py:38
msgid "" msgid ""
"A web app is the directory where your website is stored. Through SFTP, you " "A web app is the directory where your website is stored. Through SFTP, you "
"can access this directory and upload/edit/delete files." "can access this directory and upload/edit/delete files."
@ -1013,7 +1033,7 @@ msgstr ""
"Una aplicación web es el directorio donde se almacena su sitio web. A través " "Una aplicación web es el directorio donde se almacena su sitio web. A través "
"de SFTP, puede acceder a este directorio y subir, editar o eliminar archivos." "de SFTP, puede acceder a este directorio y subir, editar o eliminar archivos."
#: webapps/views.py:35 #: webapps/views.py:39
msgid "" msgid ""
"Each Webapp has its own SFTP user, which is created automatically when the " "Each Webapp has its own SFTP user, which is created automatically when the "
"Webapp is created." "Webapp is created."
@ -1022,7 +1042,7 @@ msgstr ""
"se crea la aplicación web." "se crea la aplicación web."
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: webapps/views.py:44 #: webapps/views.py:48
#, fuzzy #, fuzzy
#| msgid "Type details" #| msgid "Type details"
msgid "webapp details" msgid "webapp details"
@ -1039,7 +1059,7 @@ msgstr ""
msgid "This Path already exists on this Website." msgid "This Path already exists on this Website."
msgstr "Esta ruta ya existe en este WebSite" msgstr "Esta ruta ya existe en este WebSite"
#: websites/views.py:33 #: websites/views.py:38
msgid "" msgid ""
"A website is the place where a domain is associated with the directory where " "A website is the place where a domain is associated with the directory where "
"the web files are located. (WebApp)" "the web files are located. (WebApp)"
@ -1048,7 +1068,7 @@ msgstr ""
"encuentran los archivos web. (WebApp)" "encuentran los archivos web. (WebApp)"
#. Translators: This message appears on the page title #. Translators: This message appears on the page title
#: websites/views.py:42 #: websites/views.py:47
msgid "website details" msgid "website details"
msgstr "Detalles de cada tipo" msgstr "Detalles de cada tipo"

View file

@ -140,4 +140,4 @@ class NextcloudCreateForm(forms.ModelForm):
password = self.cleaned_data.get("password") password = self.cleaned_data.get("password")
self.fields['password'] = password self.fields['password'] = password
self.instance.set_password(password) self.instance.set_password(password)

View file

@ -17,7 +17,7 @@ from orchestra.contrib.musician.mixins import (CustomContextMixin, ExtendedPagin
UserTokenRequiredMixin) UserTokenRequiredMixin)
from .forms import ( NextcloudChangePasswordForm, SaasNextcloudUpdateForm, from .forms import ( NextcloudChangePasswordForm, SaasNextcloudUpdateForm,
SaasWordpressUpdateForm, NextcloudCreateForm ) SaasWordpressUpdateForm, NextcloudCreateForm)
class SaasNextcloudListView(CustomContextMixin, UserTokenRequiredMixin, ListView): class SaasNextcloudListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
@ -31,9 +31,13 @@ class SaasNextcloudListView(CustomContextMixin, UserTokenRequiredMixin, ListView
} }
def get_queryset(self): def get_queryset(self):
# return self.model.objects.filter(account=self.request.user, service='nextcloud')
qs = self.model.objects.filter(account=self.request.user, service='nextcloud') qs = self.model.objects.filter(account=self.request.user, service='nextcloud')
disk_resource = Resource.objects.get(name='nextcloud-disk') disk_resource = Resource.objects.get(name='nextcloud-disk')
name = self.request.GET.get('name')
if name:
qs = qs.filter(name__icontains=name)
for Nuser in qs: for Nuser in qs:
try: try:
Nuser.usage = Nuser.resource_set.get(resource=disk_resource) Nuser.usage = Nuser.resource_set.get(resource=disk_resource)
@ -41,7 +45,7 @@ class SaasNextcloudListView(CustomContextMixin, UserTokenRequiredMixin, ListView
Nuser.usage = ResourceData(resource=disk_resource) Nuser.usage = ResourceData(resource=disk_resource)
Nuser.percent = get_bootstraped_percent_exact(Nuser.usage.used, Nuser.usage.allocated) Nuser.percent = get_bootstraped_percent_exact(Nuser.usage.used, Nuser.usage.allocated)
return qs return qs
class SaasWordpressListView(CustomContextMixin, UserTokenRequiredMixin, ListView): class SaasWordpressListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
model = SaaS model = SaaS
@ -54,7 +58,11 @@ class SaasWordpressListView(CustomContextMixin, UserTokenRequiredMixin, ListView
} }
def get_queryset(self): def get_queryset(self):
return self.model.objects.filter(account=self.request.user, service='wordpress') qs = self.model.objects.filter(account=self.request.user, service='wordpress')
name = self.request.GET.get('name')
if name:
qs = qs.filter(name__icontains=name)
return qs
class SaasWordpressUpdateView(CustomContextMixin, UserTokenRequiredMixin, UpdateView): class SaasWordpressUpdateView(CustomContextMixin, UserTokenRequiredMixin, UpdateView):

View file

@ -6,6 +6,16 @@
<h1 class="service-name">{{ service.verbose_name }}</h1> <h1 class="service-name">{{ service.verbose_name }}</h1>
<p class="service-description">{{ service.description }}</p> <p class="service-description">{{ service.description }}</p>
<div class="mt-4 search-form">
<form method="get" class="form-inline">
<div class="form-group mr-sm-2">
<label class="sr-only" for="id_name">Name</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Name' %}" title="" id="id_name">
</div>
<button type="submit" class="btn btn-secondary">{% trans "Search" %}</button>
</form>
</div>
{% if object_list %} {% if object_list %}
<div class="table-responsive"> <div class="table-responsive">

View file

@ -3,10 +3,8 @@
{% block content %} {% block content %}
<h1 class="service-name">{% trans "Your domains" %}</h1> <h1 class="service-name">{% trans "Your domains" %}</h1>
{% for domain in domains %} {% for domain in domains %}
<div class="card service-card"> <div class="card service-card">
<div class="card-header"> <div class="card-header">

View file

@ -9,6 +9,16 @@
<h1 class="service-name">{{ service.verbose_name }}{% if active_domain %} <span class="font-weight-light">{% trans "for" %} {{ active_domain.name }}</span>{% endif %}</h1> <h1 class="service-name">{{ service.verbose_name }}{% if active_domain %} <span class="font-weight-light">{% trans "for" %} {{ active_domain.name }}</span>{% endif %}</h1>
<p class="service-description">{{ service.description }}</p> <p class="service-description">{{ service.description }}</p>
<div class="mt-4 search-form">
<form method="get" class="form-inline">
<div class="form-group mr-sm-2">
<label class="sr-only" for="id_name">Name</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Name' %}" title="" id="id_name">
</div>
<button type="submit" class="btn btn-secondary">{% trans "Search" %}</button>
</form>
</div>
<div class="table-responsive"> <div class="table-responsive">
<table class="table service-list"> <table class="table service-list">
<!-- <colgroup> <!-- <colgroup>

View file

@ -6,6 +6,16 @@
<h1 class="service-name">{{ verbose_name }}</h1> <h1 class="service-name">{{ verbose_name }}</h1>
<p class="service-description">{{ description }}</p> <p class="service-description">{{ description }}</p>
<div class="mt-4 search-form">
<form method="get" class="form-inline">
<div class="form-group mr-sm-2">
<label class="sr-only" for="id_name">Name</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Name' %}" title="" id="id_name">
</div>
<button type="submit" class="btn btn-secondary">{% trans "Search" %}</button>
</form>
</div>
<div class="table-responsive"> <div class="table-responsive">
<table class="table service-list"> <table class="table service-list">
<thead class="thead-dark"> <thead class="thead-dark">

View file

@ -6,6 +6,16 @@
<h1 class="service-name">{{ verbose_name }}</h1> <h1 class="service-name">{{ verbose_name }}</h1>
<p class="service-description">{{ description }}</p> <p class="service-description">{{ description }}</p>
<div class="mt-4 search-form">
<form method="get" class="form-inline">
<div class="form-group mr-sm-2">
<label class="sr-only" for="id_name">Name</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Name' %}" title="" id="id_name">
</div>
<button type="submit" class="btn btn-secondary">{% trans "Search" %}</button>
</form>
</div>
<div class="table-responsive"> <div class="table-responsive">
<table class="table service-list"> <table class="table service-list">
<thead class="thead-dark"> <thead class="thead-dark">

View file

@ -10,6 +10,16 @@
{{ description2 }} {{ description2 }}
</p> </p>
<div class="mt-4 search-form">
<form method="get" class="form-inline">
<div class="form-group mr-sm-2">
<label class="sr-only" for="id_name">Name</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Name' %}" title="" id="id_name">
</div>
<button type="submit" class="btn btn-secondary">{% trans "Search" %}</button>
</form>
</div>
<div class="table-responsive"> <div class="table-responsive">
<table class="table service-list"> <table class="table service-list">
<colgroup> <colgroup>

View file

@ -2,6 +2,17 @@
{% load bootstrap4 i18n %} {% load bootstrap4 i18n %}
{% block tabcontent %} {% block tabcontent %}
<div class="mt-4 search-form">
<form method="get" class="form-inline">
<div class="form-group mr-sm-2">
<label class="sr-only" for="id_name">Name</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'User' %}" title="" id="id_name">
</div>
<button type="submit" class="btn btn-secondary">{% trans "Search" %}</button>
</form>
</div>
<div class="table-responsive"> <div class="table-responsive">
<table class="table service-list"> <table class="table service-list">
<!-- <colgroup> <!-- <colgroup>

View file

@ -6,6 +6,16 @@
{{ description }} {{ description }}
</p> </p>
<div class="mt-4 search-form">
<form method="get" class="form-inline">
<div class="form-group mr-sm-2">
<label class="sr-only" for="id_name">Name</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Filter by Name or Domain' %}" title="" id="id_name">
</div>
<button type="submit" class="btn btn-secondary">{% trans "Search" %}</button>
</form>
</div>
<div class="table-responsive"> <div class="table-responsive">
<table class="table service-list table-hover"> <table class="table service-list table-hover">
<colgroup> <colgroup>

View file

@ -273,7 +273,6 @@ class DomainListView(CustomContextMixin, UserTokenRequiredMixin, TemplateView):
'domains': domains, 'domains': domains,
"support_email_anchor": support_email_anchor, "support_email_anchor": support_email_anchor,
}) })
return context return context
@ -602,6 +601,10 @@ class DatabaseListView(ServiceListView):
def get_queryset(self): def get_queryset(self):
qs = super().get_queryset().order_by("name") qs = super().get_queryset().order_by("name")
name = self.request.GET.get('name')
if name:
qs = qs.filter(name__icontains=name)
# TODO(@slamora): optimize query # TODO(@slamora): optimize query
ctype = ContentType.objects.get_for_model(self.model) ctype = ContentType.objects.get_for_model(self.model)
disk_resource = Resource.objects.get(name='disk', content_type=ctype) disk_resource = Resource.objects.get(name='disk', content_type=ctype)
@ -747,6 +750,13 @@ class WebappUserListView(ServiceListView):
'title': _('Webapp users'), 'title': _('Webapp users'),
} }
def get_queryset(self):
qs = self.model.objects.filter(account=self.request.user)
name = self.request.GET.get('name')
if name:
qs = qs.filter(username__icontains=name)
return qs
class WebappUserChangePasswordView(CustomContextMixin, UserTokenRequiredMixin, UpdateView): class WebappUserChangePasswordView(CustomContextMixin, UserTokenRequiredMixin, UpdateView):
template_name = "musician/webapps/webappuser_change_password.html" template_name = "musician/webapps/webappuser_change_password.html"
model = WebappUsers model = WebappUsers

View file

@ -26,7 +26,11 @@ class WebappListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
} }
def get_queryset(self): def get_queryset(self):
return self.model.objects.filter(account=self.request.user) qs = self.model.objects.filter(account=self.request.user)
name = self.request.GET.get('name')
if name:
qs = qs.filter(name__icontains=name)
return qs
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)

View file

@ -14,6 +14,7 @@ from orchestra.contrib.musician.mixins import (CustomContextMixin, ExtendedPagin
from orchestra.contrib.websites.models import Website, Content, WebsiteDirective from orchestra.contrib.websites.models import Website, Content, WebsiteDirective
from .forms import ( WebsiteUpdateForm, WesiteContentCreateForm, from .forms import ( WebsiteUpdateForm, WesiteContentCreateForm,
WesiteDirectiveCreateForm) WesiteDirectiveCreateForm)
from django.db.models import Q
class WebsiteListView(CustomContextMixin, UserTokenRequiredMixin, ListView): class WebsiteListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
@ -25,7 +26,11 @@ class WebsiteListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
} }
def get_queryset(self): def get_queryset(self):
return self.model.objects.filter(account=self.request.user) qs = self.model.objects.filter(account=self.request.user)
name = self.request.GET.get('name')
if name:
qs = qs.filter(Q(name__icontains=name) | Q(domains__name__icontains=name))
return qs
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)