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

Commit e139f10

Browse files
authored
Add files via upload
1 parent 35e0a0e commit e139f10

File tree

6 files changed

+81
-0
lines changed

6 files changed

+81
-0
lines changed

Proiect/aplicatie2/admin.py

Lines changed: 3 additions & 0 deletions
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/aplicatie2/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class Aplicatie2Config(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'aplicatie2'

Proiect/aplicatie2/models.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from django.db import models
2+
3+
tipuri_companie = (('SRL', 'S.R.L.'), ('SA', 'S.A.'))
4+
# first is save in data base
5+
6+
7+
# Create your models here.
8+
class Companies(models.Model):
9+
nume = models.CharField(max_length=100)
10+
website = models.CharField(max_length=50)
11+
tip_companie = models.CharField(max_length=10, choices=tipuri_companie)
12+
active = models.BooleanField(default=1)
13+
14+
def __str__(self):
15+
return f"{self.nume} - {self.website} - {self.tip_companie}"

Proiect/aplicatie2/tests.py

Lines changed: 3 additions & 0 deletions
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/aplicatie2/urls.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from django.urls import path
2+
from aplicatie2 import views
3+
4+
app_name = 'companies'
5+
6+
urlpatterns = [
7+
path('', views.CompaniesView.as_view(), name='lista_companii'),
8+
path('adaugare/', views.CreateCompaniesView.as_view(), name='adauga'),
9+
path('<int:pk>/update/', views.UpdateCompaniesView.as_view(), name='modifica'),
10+
path('<int:pk>/stergere/', views.delete_companies, name='sterge'),
11+
path('<int:pk>/activeaza/', views.activate_companies, name='activeaza'),]

Proiect/aplicatie2/views.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
from django.contrib.auth.decorators import login_required
2+
from django.contrib.auth.mixins import LoginRequiredMixin
3+
from django.shortcuts import redirect
4+
from django.urls import reverse
5+
from django.views.generic import ListView, CreateView, UpdateView
6+
7+
from aplicatie2.models import Companies
8+
9+
10+
class CompaniesView(LoginRequiredMixin, ListView):
11+
model = Companies
12+
template_name = 'aplicatie2/companies_index.html'
13+
paginate_by = 5
14+
15+
16+
class CreateCompaniesView(LoginRequiredMixin, CreateView):
17+
model = Companies
18+
fields = ['nume', 'website', 'tip_companie']
19+
template_name = 'aplicatie2/companies_form.html'
20+
21+
def get_success_url(self):
22+
return reverse('companies:lista_companii')
23+
24+
25+
class UpdateCompaniesView(LoginRequiredMixin, UpdateView):
26+
model = Companies
27+
fields = ['nume', 'website', 'tip_companie']
28+
template_name = 'aplicatie2/companies_form.html'
29+
30+
def get_success_url(self):
31+
return reverse('companies:lista_companii')
32+
33+
34+
@login_required
35+
def delete_companies(request, pk):
36+
Companies.objects.filter(id=pk).update(active=0)
37+
return redirect('companies:lista_companii')
38+
39+
40+
@login_required
41+
def activate_companies(request, pk):
42+
Companies.objects.filter(id=pk).update(active=1)
43+
return redirect('companies:lista_companii')

0 commit comments

Comments
 (0)