Browse Source

intanto aggiunta la query: ListaDatabaseXDominio che fornisce l'elenco
dei database suddivisi per dominio di appartenenza con le indicazioni
della versione del server in uso (la storia di mysql8 e 5.7)

aggiornato bootstrapt e jquery.... per il momento sembra andare.

mauro 4 months ago
parent
commit
0b110e0b1a

+ 2 - 0
comunicazioni/models.py

@@ -9,5 +9,7 @@ from history.models import *
 from database.models import *
 from registrar.models import *
 from ftp.models import *
+from database.models import *
+
 
 

+ 36 - 0
comunicazioni/templates/Lista.Database.html

@@ -0,0 +1,36 @@
+{% extends 'base.html' %}
+{% load calctags %}
+{% block top %}
+{% endblock %}
+
+{% block body %}
+
+
+  <br><br>
+  <p>Lista database ordinati per Dominio di appartenenza<p>
+
+  <table class='table table-striped table-hover'>
+    <thead>
+      <tr>
+        <th scope='col'>Dominio</th>
+	<th scope='col'>Database</th>
+	<th scope='col'>Utente</th>
+	<th scope='col'>Server</th>
+	<th scope='col'>Ip</th>
+      </tr>
+    </thead>
+    <tbody>
+      {% for d in database %}
+        <tr>
+          <td scope='row'>{{ d.dominio.nome }}</td>
+          <td scope='row'>{{ d.nome }}</td>
+	  <td scope='row'>{{ d.username }}</td>
+          <td scope='row'>{{ d.server.nome }}</td>
+	  <th scope='row'>{{ d.server.ip }}</td>
+        </tr>
+      {% endfor %}
+      </form>
+    </tbody>
+{% endblock %}
+
+

+ 2 - 0
comunicazioni/urls.py

@@ -31,4 +31,6 @@ urlpatterns = [
 
   path(r'ComunicazioneControlloQuota/<int:demo>/<int:dominio>',views.ComunicazioneControlloQuota,name='ComunicazioneControlloQuota'),
   path(r'OccupazioneControlloQuota/<int:dominio>',views.OccupazioneControlloQuota,name='OccupazioneControlloQuota'),
+
+  path(r'ListaDatabaseXDominio',views.ListaDatabaseXDominio,name="ListaDatabaseXDominio"),
   ]

+ 14 - 1
comunicazioni/views.py

@@ -18,7 +18,6 @@ import re
 from django.db.models import Sum
 from .templatetags.commtags import *
 
-
 class ServizioMail:
   def __init__(self,debug=False):
     self._from_ = getConfigurazione('mail_from')
@@ -131,6 +130,20 @@ class ServizioMail:
     print('Sto usando ancora send_mail')
     self.send()
 
+
+def ListaDatabaseXDominio(request,dominio=0):
+  '''
+  questa funzione consente di avere a video l'elenco dei database, la loro versione suddiviso per dominio
+  '''
+  value = dict()
+
+  database = SqlDatabase.objects.all().order_by('dominio__nome')
+  print('database presenti',len(database))
+  value['database'] = database
+
+  return render(request,"Lista.Database.html",value)
+
+
 def ControlloScadenzeRegistrar(request,demo=0,dominio=0):
   '''
   questa funzione effettua la scansione dei domini per verificare che non ci siano scadenze imminenti.

+ 0 - 168
dashboard4/settings.old

@@ -1,168 +0,0 @@
-"""
-Django settings for dashboard4 project.
-
-For more information on this file, see
-https://docs.djangoproject.com/en/2.1/topics/settings/
-
-For the full list of settings and their values, see
-https://docs.djangoproject.com/en/2.1/ref/settings/
-"""
-
-import os
-
-# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
-BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
-
-
-# Quick-start development settings - unsuitable for production
-# See https://docs.djangoproject.com/en/2.1/howto/deployment/checklist/
-
-# SECURITY WARNING: keep the secret key used in production secret!
-SECRET_KEY = 'orb8q7e9aw#4yc5^k7fj8yz93!xy&3vj4b23&4(nzcbg7$=x97'
-
-# SECURITY WARNING: don't run with debug turned on in production!
-DEBUG = True
-
-ALLOWED_HOSTS = ['www.altemica.net','altemica.net','www.altemica.com','altemica.com']
-
-CSRF_TRUSTED_ORIGINS = ['https://altemica.net',]
-
-# Application definition
-
-INSTALLED_APPS = [
-    'django.contrib.admin',
-    'django.contrib.auth',
-    'django.contrib.contenttypes',
-    'django.contrib.sessions',
-    'django.contrib.messages',
-    #'django.contrib.staticfiles',
-    'configurazione',
-    'login',
-    'sicurezza',
-    'utenti',
-    'domini',
-    'registrar',
-    'cancellazione',
-    'servizi',
-    'causali',
-    'history',
-    'contatti',
-    'alias',
-    #'coda',
-    'logger',
-    'comunicazioni',
-    'template',
-    'ftp',
-    'liste',
-    'mail',
-    'database',
-    'target',
-    'note',
-    'mqtt',
-    'filtro',
-    #httpserver',
-    'supporto'
-]
-
-'''
-disabled:
-
-'''
-
-SESSION_ENGINE = 'django.contrib.sessions.backends.file'
-
-MIDDLEWARE = [
-    'django.middleware.security.SecurityMiddleware',
-    'django.contrib.sessions.middleware.SessionMiddleware',
-    'django.middleware.common.CommonMiddleware',
-    'django.middleware.csrf.CsrfViewMiddleware',
-    'django.contrib.auth.middleware.AuthenticationMiddleware',
-    'django.contrib.messages.middleware.MessageMiddleware',
-    'django.middleware.clickjacking.XFrameOptionsMiddleware',
-]
-
-ROOT_URLCONF = 'dashboard4.urls'
-
-TEMPLATES = [
-    {
-        'BACKEND': 'django.template.backends.django.DjangoTemplates',
-        'DIRS': [ os.path.join(BASE_DIR,'static/basic'), ],
-        'APP_DIRS': True,
-        'OPTIONS': {
-            'context_processors': [
-                'django.template.context_processors.debug',
-                'django.template.context_processors.request',
-                'django.contrib.auth.context_processors.auth',
-                'django.contrib.messages.context_processors.messages',
-            ],
-        },
-    },
-]
-
-WSGI_APPLICATION = 'dashboard4.wsgi.application'
-
-
-# Database
-# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
-
-DATABASES = {
-    'default': {
-        'ENGINE': 'django.db.backends.mysql',
-        'NAME':'services',
-        'USER':'_services_',
-        'PASSWORD':'_anakonda_',
-        'HOST': '10.55.224.5',
-        'PORT': '',
-    }
-}
-
-
-# Password validation
-# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
-
-AUTH_PASSWORD_VALIDATORS = [
-    {
-        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
-    },
-    {
-        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
-    },
-    {
-        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
-    },
-    {
-        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
-    },
-]
-
-
-# Internationalization
-# https://docs.djangoproject.com/en/2.1/topics/i18n/
-
-LANGUAGE_CODE = 'it-it'
-
-TIME_ZONE = 'Europe/Rome'
-
-USE_I18N = True
-
-USE_L10N = True
-
-USE_TZ = True
-
-
-# Static files (CSS, JavaScript, Images)
-# https://docs.djangoproject.com/en/2.1/howto/static-files/
-
-STATIC_URL='/dashboard4/static/'
-
-#STATIC_URL = '/dashboard4s/'
-
-#STATIC_ROOT = '/'
-#/home/net005/966.it/ftp/dashboard4/static'
-#os.path.join(BASE_DIR,'static/')
-
-#STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static'), ]
-
-# da attivare quando in servizio
-FORCE_SCRIPT_NAME = '/dashboard4'
-

+ 0 - 0
dashboard4/__init__.py → dashboard5/__init__.py


+ 6 - 6
dashboard4/settings.py → dashboard5/settings.py

@@ -1,5 +1,5 @@
 """
-Django settings for dashboard4 project.
+Django settings for dashboard5 project.
 
 For more information on this file, see
 https://docs.djangoproject.com/en/2.1/topics/settings/
@@ -84,7 +84,7 @@ MIDDLEWARE = [
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
 ]
 
-ROOT_URLCONF = 'dashboard4.urls'
+ROOT_URLCONF = 'dashboard5.urls'
 
 TEMPLATES = [
     {
@@ -102,7 +102,7 @@ TEMPLATES = [
     },
 ]
 
-WSGI_APPLICATION = 'dashboard4.wsgi.application'
+WSGI_APPLICATION = 'dashboard5.wsgi.application'
 
 
 # Database
@@ -156,15 +156,15 @@ USE_TZ = True
 # Static files (CSS, JavaScript, Images)
 # https://docs.djangoproject.com/en/2.1/howto/static-files/
 
-STATIC_URL='dashboard4_static/'
+STATIC_URL='dashboard5_static/'
 
 #STATIC_ROOT = '/d'
-#/home/net005/966.it/ftp/dashboard4/static'
+#/home/net005/966.it/ftp/dashboard5/static'
 
 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'images'), ]
 
 # da attivare quando in servizio
-FORCE_SCRIPT_NAME = '/dashboard4'
+FORCE_SCRIPT_NAME = '/dashboard5'
 
 #la sessione comunque scade alla chiusura del browser
 SESSION_EXPIRE_AT_BROWSER_CLOSE=True

+ 0 - 0
dashboard4/urls.py → dashboard5/urls.py


+ 1 - 1
dashboard4/wsgi.py → dashboard5/wsgi.py

@@ -11,6 +11,6 @@ import os
 
 from django.core.wsgi import get_wsgi_application
 
-os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dashboard4.settings')
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dashboard5.settings')
 
 application = get_wsgi_application()

+ 3 - 1
login/templates/login.html

@@ -4,7 +4,7 @@
   <form name='login' method='post' class='form-container card p-3 bg-light'>
     {% csrf_token %}
     <div class='form-outline mb-5 text-center btn-primary h3'>
-	    Altemica Dashboard V4
+	    Altemica Dashboard V5
     </div>
     <div class='form-outline mb-4'>
       <input type='email'  class='form-control' id='username' name='username' value=''>
@@ -34,3 +34,5 @@
     <div class='col'><a href='{% url "Login:recupero" %}'>Ho smarrito le credenziali!</a></div>
   </div>
 {% endblock %}
+
+

+ 1 - 1
manage.py

@@ -3,7 +3,7 @@ import os
 import sys
 
 if __name__ == '__main__':
-    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dashboard4.settings')
+    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dashboard5.settings')
     try:
         from django.core.management import execute_from_command_line
     except ImportError as exc:

+ 3 - 3
sicurezza/models.py

@@ -9,7 +9,7 @@ class SecurityLevel(models.Model):
   enabled = models.BooleanField(db_column='enabled',default=True)
   class Meta:
     ordering = ['id']
-    db_table = 'security_level4'
+    db_table = 'security_level5'
     managed = False
 
 class SecurityOptions(models.Model):
@@ -22,7 +22,7 @@ class SecurityOptions(models.Model):
   immagine = models.CharField(db_column='immagine',max_length=64)
   class Meta:
     ordering = ['id']
-    db_table = 'security_options4'
+    db_table = 'security_options5'
     managed = False
 
 class SecurityRow(models.Model):
@@ -35,7 +35,7 @@ class SecurityRow(models.Model):
   enabled = models.BooleanField(db_column='enabled',default=True)
   class Meta:
     ordering = ['id']
-    db_table = 'security_row4'
+    db_table = 'security_row5'
     managed = False
 
 

+ 12 - 9
static/basic/base.html

@@ -4,18 +4,21 @@
 <head>
   {% load static %}
   <title>{% block title %} {% endblock %}</title>
-  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
-
-  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-4bw+/aepP/YC94hEpVNVgiZdgIC5+VKNBQNGCHeKRQN+PtmoHDEXuppvnDJzQIu9" crossorigin="anonymous">
-  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-HwwvtgBNo3bZJJLYd8oVXjrBZt8cqVSpeBNS5n7C8IVInixGAoxmnlMuBnhbgrkm" crossorigin="anonymous"></script>
 
   <!--
-  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KK94CHFLLe+nY2dmCWGMq91rCGa5gtU4mk92HdvYe+M/SXH301p5ILy+dN9+nJOZ" crossorigin="anonymous">
-  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ENjdO4Dr2bkBIFxQpeoTz1HIcje39Wm4jDKdf19U8gI4ddQ3GYNS7NTKfAdVQSZe" crossorigin="anonymous"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+  -->
+
+  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
 
-  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
-  <-script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
+  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-LN+7fdVzj6u52u30Kp6M/trliBMCMKTyK833zpbD+pXdCLuTusPj697FH4R/5mcr" crossorigin="anonymous">
+  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.7/dist/js/bootstrap.bundle.min.js" integrity="sha384-ndDqU0Gzau9qJ1lfW4pNLlhNTkCfHzAVBReH9diLvGRem5+R9g2FzA8ZGN954O5Q" crossorigin="anonymous"></script>
+
+  <!--
+  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-4bw+/aepP/YC94hEpVNVgiZdgIC5+VKNBQNGCHeKRQN+PtmoHDEXuppvnDJzQIu9" crossorigin="anonymous">
+  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-HwwvtgBNo3bZJJLYd8oVXjrBZt8cqVSpeBNS5n7C8IVInixGAoxmnlMuBnhbgrkm" crossorigin="anonymous"></script>
   -->
+
   <meta charset='utf-8'>
   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
 
@@ -32,7 +35,7 @@
   <div class="collapse navbar-collapse" id="navbarNav">
     <ul class="navbar-nav">
       <li class='nav-item active'>
-	<a class="navbar-brand" href="https://altemica.net/dashboard4">
+	<a class="navbar-brand" href="https://altemica.net/dashboard5">
           <img src="{% static 'images/logo-altemica-300x100.jpg' %}" width="30%" class="d-inline-block align-left" alt=""></img>
         </a>
       </li>

+ 9 - 5
template/models.py

@@ -11,9 +11,14 @@ class Template(models.Model):
   note = models.TextField(db_column='note',default='')
   class Meta: 
     ordering = ['id']
-    db_table = 'template4'
+    db_table = 'template5'
     managed  = False
 
+'''
+nota: mi sa che questi template sono stati solo pensati e mai creati/utilizzati:
+provando a disattivarli, viene fuori un errore nell'app causali
+'''
+
 class TemplateAdmin(models.Model):
   nome = models.CharField(max_length=40)
   soggetto = models.CharField(max_length=256,null=False,default="")
@@ -23,7 +28,7 @@ class TemplateAdmin(models.Model):
   html = models.BooleanField(default=0,null=False)
   class Meta:
     ordering = ['id']
-    db_table = 'template4_admin'
+    db_table = 'template5_admin'
     managed = False
 
 class TemplateAccount(models.Model):
@@ -35,7 +40,7 @@ class TemplateAccount(models.Model):
   html = models.BooleanField(default=0,null=False)
   class Meta:
     ordering = ['id']
-    db_table = 'template4_account'
+    db_table = 'template5_account'
     managed = False
 
 class TemplateOther(models.Model):
@@ -47,6 +52,5 @@ class TemplateOther(models.Model):
   html = models.BooleanField(default=0,null=False)
   class Meta:
     ordering = ['id']
-    db_table = 'template4_Other'
+    db_table = 'template5_Other'
     managed = False
-