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):
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):
context = super().get_context_data(**kwargs)

View file

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

View file

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \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"
"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 saas/forms.py:100
#: forms.py:42 forms.py:111 saas/forms.py:101
msgid "The two password fields didnt match."
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"
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"
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."
msgstr "Introduce la misma contraseña para verificarla"
@ -73,7 +73,7 @@ msgid "Mails"
msgstr "Correos"
#. 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"
msgstr "Bases de datos"
@ -90,7 +90,7 @@ msgid "Community WP"
msgstr "WP Comunitario"
#. Translators: This message appears on the page title
#: mixins.py:26 websites/views.py:24
#: mixins.py:26 websites/views.py:25
msgid "Websites"
msgstr ""
@ -108,7 +108,7 @@ msgid "Description details for databases page."
msgstr "Consulta la configuración de tus bases de datos."
#. Translators: This message appears on the page title
#: models.py:234 views.py:399
#: models.py:234 views.py:398
msgid "Mail addresses"
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 "
"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
msgid "Suggestion: %s"
msgstr "Sugerencia: %s"
#. 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"
msgstr "Software as a Service"
@ -185,11 +185,11 @@ msgid "Members can manage their Nextcloud users in this section."
msgstr ""
"Los miembros pueden gestionar sus usuarios de Nextcloud en esta sección."
#: saas/views.py:52
#: saas/views.py:56
msgid "Community WordPress"
msgstr "WordPress Comunitario"
#: saas/views.py:53
#: saas/views.py:57
msgid ""
"Pangea's multisite WordPress service. Members can have their WordPress on "
"this community WordPress hosted and maintained by Pangea."
@ -294,12 +294,17 @@ msgid "Save"
msgstr "Guardar"
#: templates/musician/address_list.html:7
#, fuzzy
#| msgid "Filtering"
msgid "Filter by domain"
msgstr "Filtrado"
msgstr "Filtra por dominio"
#: 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"
msgstr ""
@ -309,7 +314,7 @@ msgstr "Dominio"
#. Translators: This message appears on the page title
#: templates/musician/address_list.html:27 templates/musician/mail_base.html:22
#: views.py:485
#: views.py:484
msgid "Mailboxes"
msgstr "Buzones de correo"
@ -331,7 +336,7 @@ msgstr "Perfil"
#. Translators: This message appears on the page title
#: templates/musician/base.html:71 templates/musician/billing.html:6
#: views.py:357
#: views.py:356
msgid "Billing"
msgstr "Facturas"
@ -355,12 +360,12 @@ msgstr "Número"
msgid "Bill date"
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/webapps/webapp_detail.html:17
#: templates/musician/webapps/webapp_detail.html:96
#: templates/musician/webapps/webapp_list.html:26
#: templates/musician/websites/website_list.html:72
#: templates/musician/webapps/webapp_list.html:36
#: templates/musician/websites/website_list.html:82
msgid "Type"
msgstr "Tipo"
@ -393,39 +398,44 @@ msgstr "El espacio en disco de los recursos se actualiza semanalmente"
msgid "Show history"
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/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_nextcloud_list.html:13
#: templates/musician/saas_nextcloud_list.html:23
#: 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_list.html:20
#: templates/musician/websites/website_list.html:30
msgid "Name"
msgstr "Nombre"
#: templates/musician/database_list.html:23
#: templates/musician/database_list.html:33
msgid "Database users"
msgstr "Usuarios Base de datos"
#: templates/musician/database_list.html:24
#: templates/musician/domain_list.html:71
#: templates/musician/saas_nextcloud_list.html:16
#: templates/musician/database_list.html:34
#: templates/musician/domain_list.html:69
#: templates/musician/saas_nextcloud_list.html:26
msgid "Disk usage"
msgstr "Uso del disco"
#: templates/musician/database_list.html:33
#: templates/musician/database_list.html:35
#: templates/musician/database_list.html:43
#: templates/musician/database_list.html:45
msgid "Open database manager"
msgstr "Abre el gestor de bases de datos"
#. Translators: database page when there isn't any database.
#. 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_nextcloud_list.html:60
#: templates/musician/saas_wordpress_list.html:48
#: templates/musician/saas_nextcloud_list.html:70
#: templates/musician/saas_wordpress_list.html:58
msgid "Ooops! Looks like there is nothing here!"
msgstr "Mmmh… ¡parece que aquí no hay nada!"
@ -491,56 +501,56 @@ msgstr "SubDominios"
msgid "Any related subdomain."
msgstr "Cualquier subdominio relacionado."
#: templates/musician/domain_list.html:7
#: templates/musician/domain_list.html:6
msgid "Your domains"
msgstr "Tus dominios y sitios web"
#: templates/musician/domain_list.html:20
#: templates/musician/domain_list.html:117
#: templates/musician/domain_list.html:18
#: templates/musician/domain_list.html:115
msgid "View DNS records"
msgstr "Ver registros DNS"
#: templates/musician/domain_list.html:24
#: templates/musician/domain_list.html:22
msgid "view configuration"
msgstr "ver la configuración"
#: templates/musician/domain_list.html:31
#: templates/musician/domain_list.html:29
msgid "Expiration date"
msgstr "Fecha de vencimiento"
#: templates/musician/domain_list.html:38
#: templates/musician/domain_list.html:36
msgid "Mail"
msgstr "Correo"
#: templates/musician/domain_list.html:41
#: templates/musician/domain_list.html:39
msgid "mail addresses created"
msgstr "direcciones de correo creadas"
#: templates/musician/domain_list.html:46
#: templates/musician/domain_list.html:44
msgid "Mail list"
msgstr "Lista de correo"
#: templates/musician/domain_list.html:53
#: templates/musician/domain_list.html:51
msgid "Nothing installed"
msgstr "No tienes nada instalado"
#: templates/musician/domain_list.html:57
#: templates/musician/domain_list.html:55
msgid "Website"
msgstr ""
#: templates/musician/domain_list.html:60
#: templates/musician/domain_list.html:58
msgid "assigned website"
msgstr "website asignado"
#: templates/musician/domain_list.html:89
#: templates/musician/domain_list.html:87
msgid "Configuration details"
msgstr "Detalles de configuración"
#: templates/musician/domain_list.html:96
#: templates/musician/domain_list.html:94
msgid "FTP access:"
msgstr "Acceso FTP:"
#: templates/musician/domain_list.html:99
#: templates/musician/domain_list.html:97
#, fuzzy, python-format
#| msgid ""
#| "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> "
"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."
msgstr "No hay ninguna web configurada."
#: templates/musician/domain_list.html:111
#: templates/musician/domain_list.html:109
msgid "Root directory:"
msgstr "Directorio raíz:"
#: templates/musician/domain_list.html:112
#: templates/musician/domain_list.html:110
msgid "Type:"
msgstr "Tipo:"
@ -624,9 +634,9 @@ msgstr "Filtrado"
#: templates/musician/systemuser_list.html:32
#: templates/musician/webapps/webapp_detail.html:33
#: templates/musician/webapps/webapp_detail.html:41
#: templates/musician/webapps/webappuser_list.html:30
#: templates/musician/websites/website_list.html:86
#: templates/musician/websites/website_list.html:93
#: templates/musician/webapps/webappuser_list.html:41
#: templates/musician/websites/website_list.html:96
#: templates/musician/websites/website_list.html:103
msgid "Update password"
msgstr "Actualiza la contraseña"
@ -646,35 +656,35 @@ msgstr "Actualizar lista"
msgid "Create list"
msgstr "Crear lista"
#: templates/musician/mailinglist_list.html:25
#: templates/musician/mailinglist_list.html:35
#: templates/musician/saas_list.html:20
#: templates/musician/saas_nextcloud_list.html:14
#: templates/musician/saas_wordpress_list.html:14
#: templates/musician/websites/website_list.html:23
#: templates/musician/saas_nextcloud_list.html:24
#: templates/musician/saas_wordpress_list.html:24
#: templates/musician/websites/website_list.html:33
msgid "Status"
msgstr "Estado"
#: templates/musician/mailinglist_list.html:26
#: templates/musician/mailinglist_list.html:36
msgid "Address"
msgstr "Dirección de correo"
#: templates/musician/mailinglist_list.html:27
#: templates/musician/mailinglist_list.html:37
msgid "Admin email"
msgstr "Administrador"
#: templates/musician/mailinglist_list.html:28
#: templates/musician/mailinglist_list.html:38
msgid "Configure"
msgstr "Configura"
#: templates/musician/mailinglist_list.html:37
#: templates/musician/mailinglist_list.html:47
msgid "Active"
msgstr "Activo"
#: templates/musician/mailinglist_list.html:39
#: templates/musician/mailinglist_list.html:49
msgid "Inactive"
msgstr "Inactivo"
#: templates/musician/mailinglist_list.html:61
#: templates/musician/mailinglist_list.html:71
msgid "New list"
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:"
#: templates/musician/saas_list.html:21
#: templates/musician/saas_nextcloud_list.html:15
#: templates/musician/saas_wordpress_list.html:15
#: templates/musician/saas_nextcloud_list.html:25
#: templates/musician/saas_wordpress_list.html:25
msgid "Service"
msgstr "Servicio"
@ -733,16 +743,16 @@ msgid "Service info"
msgstr "Información del servicio"
#: templates/musician/saas_list.html:31
#: templates/musician/saas_nextcloud_list.html:25
#: templates/musician/saas_wordpress_list.html:24
#: templates/musician/saas_nextcloud_list.html:35
#: templates/musician/saas_wordpress_list.html:34
msgid "Installed on"
msgstr "Instalado en"
#: 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:34
#: templates/musician/saas_wordpress_list.html:31
#: templates/musician/saas_wordpress_list.html:33
#: templates/musician/saas_nextcloud_list.html:42
#: templates/musician/saas_nextcloud_list.html:44
#: templates/musician/saas_wordpress_list.html:41
#: templates/musician/saas_wordpress_list.html:43
msgid "Open service admin panel"
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 "
"usuarios pueden suponer <strong>costes adicionales</strong>."
#: templates/musician/saas_nextcloud_list.html:69
#: templates/musician/saas_nextcloud_list.html:79
msgid "New user"
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."
#: templates/musician/systemuser_list.html:18
#: templates/musician/webapps/webappuser_list.html:15
#: templates/musician/webapps/webappuser_list.html:26
msgid "Username"
msgstr "Nombre de usuario/a"
#: templates/musician/systemuser_list.html:19
#: 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
msgid "Path"
msgstr "Ruta"
@ -811,15 +821,15 @@ msgid "WebApp Options for"
msgstr "Opciones de WebApp para"
#: templates/musician/webapps/webapp_detail.html:13
#: templates/musician/webapps/webapp_list.html:29
#: templates/musician/webapps/webappuser_list.html:17
#: templates/musician/webapps/webapp_list.html:39
#: templates/musician/webapps/webappuser_list.html:28
#: templates/musician/websites/website_detail.html:13
#: templates/musician/websites/website_list.html:22
#: templates/musician/websites/website_list.html:32
msgid "Server"
msgstr "Servidor"
#: templates/musician/webapps/webapp_detail.html:27
#: templates/musician/websites/website_list.html:82
#: templates/musician/websites/website_list.html:92
msgid "SFTP user"
msgstr "Usuario SFTP"
@ -868,11 +878,11 @@ msgstr ""
msgid "Add new option"
msgstr "Añadir nueva opción"
#: templates/musician/webapps/webapp_list.html:27
#: templates/musician/webapps/webapp_list.html:37
msgid "Version"
msgstr ""
#: templates/musician/webapps/webapp_list.html:28
#: templates/musician/webapps/webapp_list.html:38
msgid "SFTP User"
msgstr "Usuario SFTP"
@ -890,6 +900,12 @@ msgstr "Añadir Opción a"
msgid "Are you sure that you want remove the following option?"
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
msgid "WebSite Options for"
msgstr "Opciones de Website para"
@ -944,11 +960,15 @@ msgstr "Añadir nueva directiva"
msgid "Update Option of 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"
msgstr ""
#: templates/musician/websites/website_list.html:89
#: templates/musician/websites/website_list.html:99
#, fuzzy
#| msgid "SFTP user"
msgid "FTP user"
@ -972,32 +992,32 @@ msgid "Account"
msgstr "Cuenta"
#. Translators: This message appears on the page title
#: views.py:284
#: views.py:283
msgid "User profile"
msgstr "Tu perfil"
#. Translators: This message appears on the page title
#: views.py:371
#: views.py:370
msgid "Download bill"
msgstr "Descarga la factura"
#. Translators: This message appears on the page title
#: views.py:620
#: views.py:623
msgid "Domain details"
msgstr "Detalles del dominio"
#. Translators: This message appears on the page title
#: views.py:676
#: views.py:679
msgid "Login"
msgstr "Accede"
#. Translators: This message appears on the page title
#: views.py:747
#: views.py:750
msgid "Webapp users"
msgstr ""
#. Translators: This message appears on the page title
#: views.py:765
#: views.py:775
msgid "Main users"
msgstr "Usuarios principales"
@ -1005,7 +1025,7 @@ msgstr "Usuarios principales"
msgid "This option already exist."
msgstr "Esta opción ya existe."
#: webapps/views.py:34
#: webapps/views.py:38
msgid ""
"A web app is the directory where your website is stored. Through SFTP, you "
"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 "
"de SFTP, puede acceder a este directorio y subir, editar o eliminar archivos."
#: webapps/views.py:35
#: webapps/views.py:39
msgid ""
"Each Webapp has its own SFTP user, which is created automatically when the "
"Webapp is created."
@ -1022,7 +1042,7 @@ msgstr ""
"se crea la aplicación web."
#. Translators: This message appears on the page title
#: webapps/views.py:44
#: webapps/views.py:48
#, fuzzy
#| msgid "Type details"
msgid "webapp details"
@ -1039,7 +1059,7 @@ msgstr ""
msgid "This Path already exists on this Website."
msgstr "Esta ruta ya existe en este WebSite"
#: websites/views.py:33
#: websites/views.py:38
msgid ""
"A website is the place where a domain is associated with the directory where "
"the web files are located. (WebApp)"
@ -1048,7 +1068,7 @@ msgstr ""
"encuentran los archivos web. (WebApp)"
#. Translators: This message appears on the page title
#: websites/views.py:42
#: websites/views.py:47
msgid "website details"
msgstr "Detalles de cada tipo"

View file

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

View file

@ -17,7 +17,7 @@ from orchestra.contrib.musician.mixins import (CustomContextMixin, ExtendedPagin
UserTokenRequiredMixin)
from .forms import ( NextcloudChangePasswordForm, SaasNextcloudUpdateForm,
SaasWordpressUpdateForm, NextcloudCreateForm )
SaasWordpressUpdateForm, NextcloudCreateForm)
class SaasNextcloudListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
@ -31,9 +31,13 @@ class SaasNextcloudListView(CustomContextMixin, UserTokenRequiredMixin, ListView
}
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')
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:
try:
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.percent = get_bootstraped_percent_exact(Nuser.usage.used, Nuser.usage.allocated)
return qs
class SaasWordpressListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
model = SaaS
@ -54,7 +58,11 @@ class SaasWordpressListView(CustomContextMixin, UserTokenRequiredMixin, ListView
}
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):

View file

@ -6,6 +6,16 @@
<h1 class="service-name">{{ service.verbose_name }}</h1>
<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 %}
<div class="table-responsive">

View file

@ -3,10 +3,8 @@
{% block content %}
<h1 class="service-name">{% trans "Your domains" %}</h1>
{% for domain in domains %}
<div class="card service-card">
<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>
<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">
<table class="table service-list">
<!-- <colgroup>

View file

@ -6,6 +6,16 @@
<h1 class="service-name">{{ verbose_name }}</h1>
<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">
<table class="table service-list">
<thead class="thead-dark">

View file

@ -6,6 +6,16 @@
<h1 class="service-name">{{ verbose_name }}</h1>
<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">
<table class="table service-list">
<thead class="thead-dark">

View file

@ -10,6 +10,16 @@
{{ description2 }}
</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">
<table class="table service-list">
<colgroup>

View file

@ -2,6 +2,17 @@
{% load bootstrap4 i18n %}
{% 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">
<table class="table service-list">
<!-- <colgroup>

View file

@ -6,6 +6,16 @@
{{ 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 '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">
<table class="table service-list table-hover">
<colgroup>

View file

@ -273,7 +273,6 @@ class DomainListView(CustomContextMixin, UserTokenRequiredMixin, TemplateView):
'domains': domains,
"support_email_anchor": support_email_anchor,
})
return context
@ -602,6 +601,10 @@ class DatabaseListView(ServiceListView):
def get_queryset(self):
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
ctype = ContentType.objects.get_for_model(self.model)
disk_resource = Resource.objects.get(name='disk', content_type=ctype)
@ -747,6 +750,13 @@ class WebappUserListView(ServiceListView):
'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):
template_name = "musician/webapps/webappuser_change_password.html"
model = WebappUsers

View file

@ -26,7 +26,11 @@ class WebappListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
}
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):
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 .forms import ( WebsiteUpdateForm, WesiteContentCreateForm,
WesiteDirectiveCreateForm)
from django.db.models import Q
class WebsiteListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
@ -25,7 +26,11 @@ class WebsiteListView(CustomContextMixin, UserTokenRequiredMixin, ListView):
}
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):
context = super().get_context_data(**kwargs)