from sistema.models import Localita, TipologiaMultimedia, Gestisce, PointOfInterest, Percorso, Multimedia
from socoin_atlas.settings import MEDIA_URL
+from django import forms
+
class LocalitaForm(forms.ModelForm):
class Meta:
model = Localita
exclude = ('is_active',)
- descrizione = forms.CharField(
- label="Nome",
- max_length=255,
- widget=forms.TextInput(attrs={'class': 'form-control', 'form': 'localita_form'})
- )
-
- provincia = forms.CharField(
- label="Provincia",
- max_length=20,
- widget=forms.TextInput(attrs={'class': 'form-control', 'form': 'localita_form'})
- )
-
- cap = forms.CharField(
- label="Cap",
- max_length=10,
- widget=forms.TextInput(attrs={'class': 'form-control', 'form': 'localita_form'})
- )
-
- regione = forms.CharField(
- label="Regione",
- max_length=50,
- widget=forms.TextInput(attrs={'class': 'form-control', 'form': 'localita_form'})
- )
+ labels = {
+ 'descrizione': "Nome",
+ 'provincia': "Provincia",
+ 'cap': "Cap",
+ 'regione': "Regione"
+ }
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
+ for field_name in self.fields:
+ self.fields[field_name].widget.attrs.update({
+ 'class': 'form-control',
+ })
+
+
class TipoMultimediaForm(forms.ModelForm):
nome = forms.CharField(
elif self.get_role() == settings.TOUR_OPERATOR_GROUPS:
return '<a class="btn btn-sm btn-secondary" href="/utenti/mod_tour_operator/%s/" ><i class="fas fa-edit"></i></a>' % row.pk
else:
- return '<a class="btn btn-sm btn-secondary" href="#" ><i class="fas fa-edit"></i></a>' #% row.pk
+ # return '<a class="btn btn-sm btn-secondary" href="{% url utenti:mod_admin %}" ><i class="fas fa-edit"></i></a>' % row.pk
+ return '<a class="btn btn-sm btn-secondary" href="/utenti/mod_admin/%s/" ><i class="fas fa-edit"></i></a>' % row.pk
if column == 'del':
- return '<a class="btn btn-sm btn-danger" href="DeleteUser(%s)" ><i class="fas fa-trash"></i></a>' % row.pk
+ return '<a class="btn btn-sm btn-danger" href="#" onclick="DeleteUser(%s)" ><i class="fas fa-trash"></i></a>' % row.pk
else:
return super(UserDatatables, self).render_column(row, column)
--- /dev/null
+{% extends 'base.html' %}
+
+{% block title %}Conferma Eliminazione{% endblock %}
+
+{% block content %}
+<div class="container">
+ <h1>Sei sicuro di voler eliminare {{ object }}?</h1>
+ <form method="post">
+ {% csrf_token %}
+ <button type="submit" class="btn btn-danger">Elimina</button>
+ <a href="{% url 'struttura:admin' %}" class="btn btn-secondary">Annulla</a>
+ </form>
+</div>
+{% endblock %}
from django.contrib.auth import views as auth_views
from utenti.datatables import UserDatatables
-from utenti.views import Autentication, Logout, Register, AdminListView, TourOperatorListView, ClientiListView, TourOperatorView, ClienteView, AdminView
+from utenti.views import Autentication, Logout, Register, AdminListView, TourOperatorListView, ClientiListView, TourOperatorView, ClienteView, AdminView, AdminDeleteView
urlpatterns = [
path('accounts/', include('django.contrib.auth.urls')),
## ADMIN ##
path('admin/', AdminView.as_view(), name='admin'),
path('mod_admin/<int:pk>/', AdminView.as_view(), name='mod_admin'),
+ path('del_admin/<int:pk>/', AdminDeleteView.as_view(), name='del_admin'),
]
\ No newline at end of file
from django.views import View
from django.contrib import messages
from django.contrib.auth import login, authenticate, logout
-from django.views.generic import TemplateView
+from django.views.generic import TemplateView, DeleteView
from rest_framework import status
-
+from django.urls import reverse_lazy
from sistema.forms import GestisceForm
from sistema.models import Gestisce
from utenti.forms import FormLogin, RegistrationForm, TourOperatorNewForm, CustomUserCreationForm, AdminForm
form = AdminForm(request.POST)
if form.is_valid():
form.save()
-
messages.add_message(request, messages.INFO, 'Nuova amministratore inserito con successo.')
else:
errors = ''
form = CustomUserCreationForm(data=request.POST, instance=User.objects.get(pk=int(self.request.POST.get('pk'))))
if form.is_valid():
form.save()
-
messages.add_message(request, messages.INFO, 'Admin aggiornato con successo.')
else:
errors = ''
return redirect(reverse('utenti:admin_list'))
+class AdminDeleteView(DeleteView):
+ model = User
+ template_name = 'User_confirm_delete.html'
+ success_url = reverse_lazy('utenti:admin')
+
+ def post(self, request, *args, **kwargs):
+ try:
+ obj = self.get_object()
+ obj.delete()
+ return JsonResponse({"response": "User eliminato con successo."}, status=200)
+ except Exception as e:
+ return JsonResponse({"error": str(e)}, status=400)
\ No newline at end of file