Add IntelliJ IDEA project configuration files

This commit adds IntelliJ IDEA-specific configuration files for the project, including module setup, version control integration, inspection profiles, and workspace settings. These files facilitate development environment configuration for contributors using IntelliJ IDEA.
This commit is contained in:
2025-06-30 18:06:35 +03:00
parent 72e0fc963c
commit daba5a8438
51 changed files with 2686 additions and 1377 deletions
-132
View File
@@ -1,132 +0,0 @@
# Generated by Django 5.2.3 on 2025-06-25 12:33
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = []
operations = [
migrations.CreateModel(
name="ContainerKindModel",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=100, unique=True)),
("short_name", models.CharField(max_length=5, unique=True)),
("description", models.TextField(blank=True, null=True)),
],
options={
"ordering": ["name"],
"abstract": False,
},
),
migrations.CreateModel(
name="OperationModel",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=100, unique=True)),
("short_name", models.CharField(max_length=5, unique=True)),
("description", models.TextField(blank=True, null=True)),
],
options={
"ordering": ["name"],
"abstract": False,
},
),
migrations.CreateModel(
name="PayerModel",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=100, unique=True)),
("short_name", models.CharField(max_length=5, unique=True)),
("description", models.TextField(blank=True, null=True)),
],
options={
"ordering": ["name"],
"abstract": False,
},
),
migrations.CreateModel(
name="ContainerTypeModel",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=6, unique=True)),
("length", models.IntegerField()),
("height", models.BooleanField()),
("deleted", models.BooleanField(default=False)),
(
"container_type",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="container_type_container_kinds",
to="common.containerkindmodel",
),
),
],
),
migrations.CreateModel(
name="LinesModel",
fields=[
(
"id",
models.BigAutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
("name", models.CharField(max_length=100, unique=True)),
("short_name", models.CharField(max_length=5, unique=True)),
("description", models.TextField(blank=True, null=True)),
(
"payer",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="line_payers",
to="common.payermodel",
),
),
],
options={
"ordering": ["name"],
"abstract": False,
},
),
]
+11 -6
View File
@@ -3,7 +3,7 @@ from django.db import models
# Create your models here.
class NomenclatureBaseModel(models.Model):
name = models.CharField(max_length=100, unique=True)
short_name = models.CharField(max_length=5, unique=True)
short_name = models.CharField(max_length=5, null=True, blank=True)
description = models.TextField(blank=True, null=True)
class Meta:
@@ -13,14 +13,16 @@ class NomenclatureBaseModel(models.Model):
def __str__(self):
return self.name
class PayerModel(NomenclatureBaseModel):
class CompanyModel(NomenclatureBaseModel):
...
class LinesModel(NomenclatureBaseModel):
payer = models.ForeignKey(
PayerModel,
company = models.ForeignKey(
'common.CompanyModel',
on_delete=models.CASCADE,
related_name='line_payers'
related_name='line_company'
)
class OperationModel(NomenclatureBaseModel):
@@ -34,8 +36,11 @@ class ContainerTypeModel(models.Model):
length = models.IntegerField()
height = models.BooleanField()
container_type = models.ForeignKey(
ContainerKindModel,
'common.ContainerKindModel',
on_delete=models.CASCADE,
related_name='container_type_container_kinds'
)
deleted = models.BooleanField(default=False)
def __str__(self):
return self.name
+2 -1
View File
@@ -4,6 +4,7 @@ from common import views
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('client/dashboard/', views.ClientDashboardView.as_view(), name='client_dashboard'),
path ('client/preinfo/', views.ClientPreinfoView.as_view(), name='client_preinfo'),
path('barrier/dashboard/', views.BarrierDashboardView.as_view(), name='barrier_dashboard'),
path('dashboard/', views.DashboardRedirectView.as_view(), name='dashboard'),
]
+39
View File
@@ -0,0 +1,39 @@
from containers.models import Container
from preinfo.models import Preinfo
def filter_queryset_by_user(queryset, user):
"""
Filters the queryset based on the user's line or company.
If the user has a line, it filters by that line.
If the user has a company, it filters by all lines associated with that company.
"""
if user.line:
return queryset.filter(line=user.line)
elif user.company:
company_lines = user.company.line_company.all()
return queryset.filter(line__in=company_lines)
return queryset
def get_preinfo_by_number(number):
"""
Retrieves a PreinfoModel instance by its container number.
Returns None if no matching PreinfoModel is found.
"""
try:
return Preinfo.objects.get(container_number=number, received=False)
except Preinfo.DoesNotExist:
return None
def get_container_by_number(number):
"""
Retrieves a Container instance by its number.
Returns None if no matching Container is found.
"""
try:
return Container.objects.get(number=number, expedited=False)
except Container.DoesNotExist:
return None
+25 -10
View File
@@ -1,6 +1,6 @@
from django.urls import reverse_lazy
from django.views.generic import TemplateView, RedirectView
from django.shortcuts import render, redirect
from django.shortcuts import render
# Create your views here.
@@ -20,13 +20,18 @@ class DashboardRedirectView(RedirectView):
is_permanent = False
def get_redirect_url(self, *args, **kwargs):
if 1==1:
return reverse_lazy('client_dashboard')
return reverse_lazy('client_dashboard')
# if self.request.user.is_authenticated:
if self.request.user.username == 'client':
return reverse_lazy('client_dashboard')
elif self.request.user.username == 'clientadmin':
return reverse_lazy('client_dashboard')
elif self.request.user.username == 'barrier':
return reverse_lazy('barrier_dashboard')
return reverse_lazy('index')
class ClientDashboardView(TemplateView):
template_name = 'client-dashboard.html'
template_name = 'client-dashboard-content.html'
extra_context = {
'title': 'Client Dashboard',
'description': 'This is the client dashboard page.',
@@ -35,12 +40,22 @@ class ClientDashboardView(TemplateView):
def get(self, request, *args, **kwargs):
return render(request, self.template_name, self.extra_context)
class ClientPreinfoView(TemplateView):
template_name = 'client-preinfo.html'
class BarrierDashboardView(TemplateView):
template_name = 'barrier-dashboard.html'
extra_context = {
'title': 'Client Preinfo',
'description': 'This is the client preinfo page.',
'title': 'Client Dashboard',
'description': 'This is the client dashboard page.',
}
def get(self, request, *args, **kwargs):
return render(request, self.template_name, self.extra_context)
return render(request, self.template_name, self.extra_context)
# class ClientPreinfoView(TemplateView):
# template_name = 'client-preinfo-content.html'
#
#
#
# def get(self, request, *args, **kwargs):
# return render(request, self.template_name, self.extra_context)