Skip to content
This repository was archived by the owner on Apr 17, 2023. It is now read-only.

Commit 95814d5

Browse files
authored
Add files via upload
1 parent bff1d55 commit 95814d5

File tree

6 files changed

+81
-0
lines changed

6 files changed

+81
-0
lines changed

Proiect/aplicatie1/admin.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.contrib import admin
2+
3+
# Register your models here.

Proiect/aplicatie1/apps.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class Aplicatie1Config(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'aplicatie1'

Proiect/aplicatie1/models.py

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from django.db import models
2+
3+
4+
class Locations(models.Model):
5+
6+
city = models.CharField(max_length=100)
7+
country = models.CharField(max_length=150)
8+
active = models.BooleanField(default=1)
9+
10+
def __str__(self):
11+
return f"{self.city} - {self.country}"

Proiect/aplicatie1/tests.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.test import TestCase
2+
3+
# Create your tests here.

Proiect/aplicatie1/urls.py

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from django.urls import path
2+
3+
from aplicatie1 import views
4+
5+
app_name = 'locations'
6+
7+
urlpatterns = [
8+
path('', views.LocationsView.as_view(), name='lista_locatii'),
9+
path('adaugare/', views.CreateLocationView.as_view(), name='adauga'),
10+
path('<int:pk>/update/', views.UpdateLocationView.as_view(), name='modifica'),
11+
path('<int:pk>/stergere/', views.delete_location, name='sterge'),
12+
path('<int:pk>/activeaza/', views.activate_location, name='activeaza'),
13+
]

Proiect/aplicatie1/views.py

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
2+
# Create your views here.
3+
from django.contrib.auth.decorators import login_required
4+
from django.contrib.auth.mixins import LoginRequiredMixin
5+
from django.shortcuts import redirect
6+
from django.urls import reverse
7+
from django.views.generic import ListView, CreateView, UpdateView
8+
9+
from aplicatie1.models import Locations
10+
11+
12+
class LocationsView(LoginRequiredMixin, ListView):
13+
model = Locations
14+
template_name = 'aplicatie1/locations_index.html'
15+
paginate_by = 5
16+
17+
18+
class CreateLocationView(LoginRequiredMixin, CreateView):
19+
model = Locations
20+
fields = ['city', 'country']
21+
template_name = 'aplicatie1/locations_form.html'
22+
23+
def get_success_url(self):
24+
return reverse('locations:lista_locatii')
25+
26+
27+
class UpdateLocationView(LoginRequiredMixin, UpdateView):
28+
model = Locations
29+
fields = ['city', 'country']
30+
template_name = 'aplicatie1/locations_form.html'
31+
32+
def get_success_url(self):
33+
return reverse('locations:lista_locatii')
34+
35+
36+
@login_required
37+
def delete_location(request, pk):
38+
Locations.objects.filter(id=pk).update(active=0)
39+
return redirect('locations:lista_locatii')
40+
41+
42+
@login_required
43+
def activate_location(request, pk):
44+
Locations.objects.filter(id=pk).update(active=1)
45+
return redirect('locations:lista_locatii')

0 commit comments

Comments
 (0)