Skip to content

Commit

Permalink
some_changes
Browse files Browse the repository at this point in the history
06_05_2023
  • Loading branch information
xbfhalo committed Jun 5, 2023
1 parent 038ff81 commit 04cdb37
Show file tree
Hide file tree
Showing 46 changed files with 1,187 additions and 690 deletions.
15 changes: 0 additions & 15 deletions admin_page/forms.py
Original file line number Diff line number Diff line change
@@ -1,16 +1 @@
from django import forms
from employees.models import Employees
from assets.models import Devices


class EmployeeForm(forms.ModelForm):
class Meta:
model = Employees
fields = ('first_name', 'last_name', 'eid', 'department', 'title', 'mobilephone', 'location')


class DeviceForm(forms.ModelForm):
class Meta:
model = Devices
fields = ('device_type', 'device_vendor', 'device_title', 'device_model', 'serial_number', 'device_status', 'user_id', \
'supplier', 'purchase_date', 'device_warranty', 'comments')
2 changes: 0 additions & 2 deletions admin_page/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
# НЕ ЗМІНЮВАТИ
urlpatterns = [
path('accounts', admin_page, name='accounts'),
path('devices/create', device_create, name='device_create'),
re_path(r'^devices/update/(?P<deviceinner_device_id>[0-9]+)$', device_update),
re_path(r'^devices/details/(?P<deviceinner_device_id>[0-9]+)$', device_details),
re_path(r'^devices/delete/(?P<deviceinner_device_id>[0-9]+)$', device_delete),
]
99 changes: 14 additions & 85 deletions admin_page/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
from django.core.paginator import Paginator
from employees.models import Employees
from assets.models import Devices
from .forms import EmployeeForm, DeviceForm
from django.contrib.auth.decorators import login_required

# НЕ ЗМІНЮВАТИ
Expand Down Expand Up @@ -36,9 +35,12 @@ def get_devices_data(self):
return final_storage

def get_employee_data(self):
if request.user.groups.filter(name='Admins').exists() and request.user.is_employee:
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
return employee_data
else:
employee_data = ''
return employee_data

if request.user.groups.filter(name='Admins').exists():
output = []
Expand Down Expand Up @@ -157,87 +159,6 @@ def get_employee_data(self):
'model_options': model_options
})

# ID відноситься до Devices Table
@login_required
def device_create(request):
if not request.user.groups.filter(name='Admins').exists():

return redirect("/")

else:
# Обов'язкові відомості про акаунт
class getdata(object):
def get_employee_data(self):
if request.user.groups.filter(name='Admins').exists() and request.user.is_employee:
employee_data = Employees.objects.get(user_id=request.user.id)
return employee_data

user_data = {}
user_data['u_id'] = request.user.id
user_data['u_email'] = request.user.email
if request.user.groups.filter(name='Admins').exists():
user_data['u_group'] = 'Admins'
# -----------------


return render(request, 'admin_page/create_device.html', {
'page_title': 'Обладняння',
'app_name': 'Головна',
'page_name': 'Створення',
'employee_data': getdata().get_employee_data(),
'user_data': user_data,
})


@login_required
def device_update(request, deviceinner_device_id):
if not request.user.groups.filter(name='Admins').exists():

return redirect("/")

else:
# Обов'язкові відомості про акаунт
class getdata(object):
def get_employee_data(self):
if request.user.groups.filter(name='Admins').exists() and request.user.is_employee:
employee_data = Employees.objects.get(user_id=request.user.id)
return employee_data

user_data = {}
user_data['u_id'] = request.user.id
user_data['u_email'] = request.user.email
if request.user.groups.filter(name='Admins').exists():
user_data['u_group'] = 'Admins'

target_device = Devices.objects.get(id=deviceinner_device_id)

if request.method == 'GET':
return render(request, 'admin_page/update_device.html', context={
'page_title': 'Акаунти',
'app_name': 'Головна',
'page_name': 'Оновлення',
'employee_data': getdata().get_employee_data(),
'target_post': target_device,
'form': DeviceForm(instance=target_device),
'user_data': user_data,
})
elif request.method == 'POST':
form2 = DeviceForm(request.POST)
if form2.is_valid():
target_device.device_type = form2.cleaned_data.get('device_type')
target_device.device_vendor = form2.cleaned_data.get('device_vendor')
target_device.device_title = form2.cleaned_data.get('device_title')
target_device.device_model = form2.cleaned_data.get('device_model')
target_device.serial_number = form2.cleaned_data.get('serial_number')
target_device.device_status = form2.cleaned_data.get('device_status')
target_device.user_id = form2.cleaned_data.get('user_id')
target_device.supplier = form2.cleaned_data.get('supplier')
target_device.purchase_date = form2.cleaned_data.get('purchase_date')
target_device.device_warranty = form2.cleaned_data.get('device_warranty')
target_device.comments = form2.cleaned_data.get('comments')
target_device.save()
return redirect('/admin_page/accounts')


@login_required
def device_details(request, deviceinner_device_id):
Expand All @@ -249,9 +170,13 @@ def device_details(request, deviceinner_device_id):
# Обов'язкові відомості про акаунт
class getdata(object):
def get_employee_data(self):
if request.user.groups.filter(name='Admins').exists() and request.user.is_employee:
if Employees.objects.filter(user_id=request.user.id).exists() and request.user.groups.filter(
name='Admins').exists():
employee_data = Employees.objects.get(user_id=request.user.id)
return employee_data
else:
employee_data = ''
return employee_data

user_data = {}
user_data['u_id'] = request.user.id
Expand Down Expand Up @@ -282,9 +207,13 @@ def device_delete(request, deviceinner_device_id):
# Обов'язкові відомості про акаунт
class getdata(object):
def get_employee_data(self):
if request.user.groups.filter(name='Admins').exists() and request.user.is_employee:
if Employees.objects.filter(user_id=request.user.id).exists() and request.user.groups.filter(
name='Admins').exists():
employee_data = Employees.objects.get(user_id=request.user.id)
return employee_data
else:
employee_data = ''
return employee_data

user_data = {}
user_data['u_id'] = request.user.id
Expand Down
86 changes: 80 additions & 6 deletions assets/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,17 +20,40 @@ def device_list(request):
user_admin = 0
if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''
context['user_admin'] = user_admin
context['employee_data'] = employee_data
# ---

# Pagination:
dev_list = Devices.objects.all()
if request.method == 'GET':
pages = 3

squery = request.GET.get('query')
if squery == None or squery == '':
dev_list = Devices.objects.all()
paginator = Paginator(dev_list, pages)
page_number = request.GET.get('page')
page_object = Paginator.get_page(paginator, page_number)
else:
incomplete_page = []

for data in Devices.objects.all():
list_checker = [str(data.device_type), str(data.device_vendor), str(data.device_title),
str(data.device_model), str(data.serial_number), str(data.device_status),
str(data.user_id), str(data.supplier), str(data.purchase_date),
str(data.device_warranty)]
get_id = {'id': data.id}
for output in list_checker:
if str(squery) == output:
incomplete_page.append(Devices.objects.get(id=get_id.get('id')))

paginator = Paginator(dev_list, 5)
page_number = request.GET.get('page')
page_object = paginator.get_page(page_number)
page_object = []
[page_object.append(x) for x in incomplete_page if x not in page_object]

context['dev'] = dev_list
context['dev_list'] = page_object
return render(request, 'assets/list.html', context=context)

Expand All @@ -46,8 +69,13 @@ def dev_create(request):

if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''

context['user_admin'] = user_admin
context['employee_data'] = employee_data

if request.method == 'POST':
form = DevicesForm(request.POST)
Expand Down Expand Up @@ -78,7 +106,12 @@ def device_update(request, device_id=None):
user_admin = 0
if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''
context['user_admin'] = user_admin
context['employee_data'] = employee_data

if device_id:
device_info = get_object_or_404(Devices, id=device_id)
Expand All @@ -100,6 +133,14 @@ def device_update(request, device_id=None):
def delete_device(request, device_id):
device = get_object_or_404(Devices, id=device_id)

user_admin = 0
if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''

if request.method == 'POST':
device.delete()
return redirect('/assets/list')
Expand All @@ -110,6 +151,8 @@ def delete_device(request, device_id):
'page_name': 'Видалення обладнання',
'device': device,
'device_id': device_id,
'user_admin': user_admin,
'employee_data': employee_data
}
return render(request, 'assets/device_delete.html', context)

Expand All @@ -120,7 +163,11 @@ def category(request):
cat_all = Devices.objects.all()
d_type = DeviceType.objects.all()
d_len = len(cat_all)

#--------- для актуалізації інформації
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''

# Потрібно визначити групу користувача
# так як, для Admins та Users різні варіанти:
Expand All @@ -133,6 +180,7 @@ def category(request):
'user_admin': user_admin,
'dev_type': d_type,
'd_len': d_len,
'employee_data': employee_data,
})

else:
Expand All @@ -144,6 +192,7 @@ def category(request):
'user_admin': user_admin,
'dev_type': d_type,
'd_len': d_len,
'employee_data': employee_data,
})


Expand All @@ -161,6 +210,10 @@ def vendors(request):
user_admin = 0
if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''

vend_list = []
all_vendors = Vendors.objects.all()
Expand All @@ -176,6 +229,7 @@ def vendors(request):
vend_list.append(our_ven_data)

context['user_admin'] = user_admin
context['employee_data'] = employee_data
context['vend_list'] = vend_list

return render(request, 'assets/vendors.html', context=context)
Expand Down Expand Up @@ -209,8 +263,13 @@ def vend_create(request):

if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''

context['user_admin'] = user_admin
context['employee_data'] = employee_data

if request.method == 'POST':
form = VendorsForm(request.POST)
Expand All @@ -234,13 +293,18 @@ def suppliers(request):
user_admin = 0
if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''

all_s = Suppliers.objects.all()
num_s = len(all_s)

return render(request, 'assets/suppliers.html', context={
'sup': all_s,
'len_sup': num_s,
'employee_data': employee_data,
'user_admin': user_admin,
})

Expand All @@ -252,6 +316,10 @@ def warranty(request):
user_admin = 0
if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''

# Завантажуємо дані з бази
all_devices = Devices.objects.all()
Expand All @@ -261,6 +329,7 @@ def warranty(request):
'dev': all_devices,
'dev_type': d_type,
'user_admin': user_admin,
'employee_data': employee_data,
})

@login_required
Expand All @@ -276,7 +345,12 @@ def sup_update(request, supp_id):
user_admin = 0
if request.user.groups.filter(name='Admins').exists():
user_admin = 1
if Employees.objects.filter(user_id=request.user.id).exists():
employee_data = Employees.objects.get(user_id=request.user.id)
else:
employee_data = ''
context['user_admin'] = user_admin
context['employee_data'] = employee_data
# ---

# 1. Збираємо потрібну інформацію:
Expand Down
Loading

0 comments on commit 04cdb37

Please sign in to comment.