change db
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -363,3 +363,5 @@ MigrationBackup/
|
||||
FodyWeavers.xsd
|
||||
/venv/
|
||||
|
||||
db.sqlite3
|
||||
|
||||
|
@@ -1,8 +1,6 @@
|
||||
# Generated by Django 4.0 on 2022-03-06 19:55
|
||||
# Generated by Django 4.0 on 2022-01-31 15:05
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
@@ -10,7 +8,6 @@ class Migration(migrations.Migration):
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('auth', '0012_alter_user_first_name_max_length'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
@@ -18,21 +15,14 @@ class Migration(migrations.Migration):
|
||||
name='Collabs_hour',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('userName', models.CharField(max_length=100, verbose_name='Auteur')),
|
||||
('nHour', models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(23)], verbose_name='Heures')),
|
||||
('nMinutes', models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(60)], verbose_name='Minutes')),
|
||||
('sRemarques', models.TextField(blank=True, verbose_name='Remarques')),
|
||||
('bNoticed', models.BooleanField(blank=True, default=False, verbose_name='Vérifiée')),
|
||||
('dtDate', models.DateField(verbose_name='Date')),
|
||||
('sBases', models.CharField(choices=[('1', 'Monthey'), ('2', 'Uvrier')], default=1, max_length=1, verbose_name='Employé de la base de')),
|
||||
('userName', models.CharField(max_length=100, verbose_name="Nom d'utilisateur")),
|
||||
('collab', models.CharField(max_length=10, verbose_name='Collaborateur')),
|
||||
('nHour', models.IntegerField(default=0, verbose_name='Heure')),
|
||||
('nMinutes', models.IntegerField(default=0, verbose_name='Minutes')),
|
||||
('sRemarques', models.TextField(verbose_name='Remarques')),
|
||||
('bNoticed', models.BooleanField(default=0, verbose_name='Pris en compte')),
|
||||
('dtUpdate', models.DateTimeField(auto_now=True, verbose_name='Date de modification')),
|
||||
('dtCreated', models.DateTimeField(auto_now_add=True, verbose_name='Date de création')),
|
||||
('user', models.ForeignKey(default=0, on_delete=django.db.models.deletion.DO_NOTHING, to='auth.user', verbose_name='Collaborateur')),
|
||||
('dtCreated', models.DateTimeField(auto_now_add=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'heure suplémentaire',
|
||||
'verbose_name_plural': 'heures suplémentaires',
|
||||
'permissions': (('can_notice', 'Peut noter comme traitée'),),
|
||||
},
|
||||
),
|
||||
]
|
||||
|
@@ -1,28 +0,0 @@
|
||||
# Generated by Django 4.0 on 2022-01-31 15:05
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Collabs_hour',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('userName', models.CharField(max_length=100, verbose_name="Nom d'utilisateur")),
|
||||
('collab', models.CharField(max_length=10, verbose_name='Collaborateur')),
|
||||
('nHour', models.IntegerField(default=0, verbose_name='Heure')),
|
||||
('nMinutes', models.IntegerField(default=0, verbose_name='Minutes')),
|
||||
('sRemarques', models.TextField(verbose_name='Remarques')),
|
||||
('bNoticed', models.BooleanField(default=0, verbose_name='Pris en compte')),
|
||||
('dtUpdate', models.DateTimeField(auto_now=True, verbose_name='Date de modification')),
|
||||
('dtCreated', models.DateTimeField(auto_now_add=True)),
|
||||
],
|
||||
),
|
||||
]
|
38
collabs/migrations_prod/0001_initial.py
Normal file
38
collabs/migrations_prod/0001_initial.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# Generated by Django 4.0 on 2022-03-06 19:55
|
||||
|
||||
import django.core.validators
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
initial = True
|
||||
|
||||
dependencies = [
|
||||
('auth', '0012_alter_user_first_name_max_length'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='Collabs_hour',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('userName', models.CharField(max_length=100, verbose_name='Auteur')),
|
||||
('nHour', models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(23)], verbose_name='Heures')),
|
||||
('nMinutes', models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(60)], verbose_name='Minutes')),
|
||||
('sRemarques', models.TextField(blank=True, verbose_name='Remarques')),
|
||||
('bNoticed', models.BooleanField(blank=True, default=False, verbose_name='Vérifiée')),
|
||||
('dtDate', models.DateField(verbose_name='Date')),
|
||||
('sBases', models.CharField(choices=[('1', 'Monthey'), ('2', 'Uvrier')], default=1, max_length=1, verbose_name='Employé de la base de')),
|
||||
('dtUpdate', models.DateTimeField(auto_now=True, verbose_name='Date de modification')),
|
||||
('dtCreated', models.DateTimeField(auto_now_add=True, verbose_name='Date de création')),
|
||||
('user', models.ForeignKey(default=0, on_delete=django.db.models.deletion.DO_NOTHING, to='auth.user', verbose_name='Collaborateur')),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'heure suplémentaire',
|
||||
'verbose_name_plural': 'heures suplémentaires',
|
||||
'permissions': (('can_notice', 'Peut noter comme traitée'),),
|
||||
},
|
||||
),
|
||||
]
|
BIN
mycaldav/last_sync_config.bin
Normal file
BIN
mycaldav/last_sync_config.bin
Normal file
Binary file not shown.
@@ -1,5 +1,10 @@
|
||||
from datetime import datetime, timedelta, time
|
||||
import datetime as Datetime
|
||||
import pickle
|
||||
import os
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
|
||||
|
||||
from django.db import models
|
||||
import urllib.request
|
||||
@@ -30,7 +35,7 @@ class cls_caldav():
|
||||
def sort_array(self):
|
||||
self.items.sort(key=lambda x: x.dtstamp, reverse=False)
|
||||
|
||||
def get_caldav_data(self,periode=1):
|
||||
def get_caldav_data(self,periode=1,calendar=None):
|
||||
ctx = ssl.create_default_context()
|
||||
ctx.check_hostname = False
|
||||
ctx.verify_mode = ssl.CERT_NONE
|
||||
@@ -96,8 +101,13 @@ class cls_caldav():
|
||||
|
||||
class cls_caldav_client():
|
||||
caldav_url = "https://sync.infomaniak.com"
|
||||
caldav_user = 'SC01066'
|
||||
caldav_password = "mc144*1870CLERC"
|
||||
#caldav_user = 'SC01066' #ambulanciers@ambulance-clerc.ch
|
||||
#caldav_password = "mc144*1870CLERC"
|
||||
|
||||
caldav_user = 'AA01593' #agenda@ambulance-clerc.ch
|
||||
caldav_password = "Agendamc144"
|
||||
|
||||
caldav_agenda_config_url = "https://sync.infomaniak.com/calendars/AA01593/29d5c8d0-9b86-4d45-bc2b-13585a2e78f8?export"
|
||||
|
||||
|
||||
|
||||
@@ -105,11 +115,35 @@ class cls_caldav_client():
|
||||
self.client = caldav.DAVClient(url=self.caldav_url, username=self.caldav_user, password=self.caldav_password)
|
||||
self.data = self.client.principal()
|
||||
|
||||
self.m38 = self.data.calendar(name="M38")
|
||||
self.m37 = self.data.calendar(name="M37")
|
||||
self.clear_all_events_by_Date(self.m38)
|
||||
self.add_event_in_calandar(self.m38)
|
||||
self.add_event_in_calandar(self.m37)
|
||||
for cal in self.data.calendars():
|
||||
print(f"name: {cal.name}({cal.url})")
|
||||
|
||||
self.a_task = self.data.calendar(name="Tâche")
|
||||
|
||||
|
||||
if datetime.today().day == 29:
|
||||
try:
|
||||
with open(os.path.join("mycaldav", "last_sync_config.bin"), "rb") as file:
|
||||
array = pickle.load(file)
|
||||
except:
|
||||
array = {"year": 0, "month": 0}
|
||||
print("Erreur lecture fichier débiteur")
|
||||
|
||||
if array["month"] == datetime.now().month:
|
||||
if array["year"] == datetime.now().year:
|
||||
print("pas de copy, sync déjà fait")
|
||||
else:
|
||||
self.get_caldav_data(self.a_task)
|
||||
else:
|
||||
self.get_caldav_data(self.a_task)
|
||||
self.clear_all_events_by_Date(self.a_task)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
def add_event_in_calandar(self, calandar):
|
||||
@@ -117,9 +151,53 @@ class cls_caldav_client():
|
||||
dtstart=datetime(2022, 6, 30, 12),
|
||||
dtend=datetime(2022, 6, 30, 13),
|
||||
summary="Do the needful",
|
||||
|
||||
)
|
||||
|
||||
def get_caldav_data(self, calandar=None):
|
||||
ctx = ssl.create_default_context()
|
||||
ctx.check_hostname = False
|
||||
ctx.verify_mode = ssl.CERT_NONE
|
||||
|
||||
|
||||
|
||||
o_url = urllib.request.urlopen(self.caldav_agenda_config_url, context=ctx)
|
||||
data = o_url.read()
|
||||
o_url.close()
|
||||
|
||||
now = f"01.{datetime.now().month}.{datetime.now().year}"
|
||||
|
||||
|
||||
next_month = datetime.strptime(f"1.{datetime.today().month}.{datetime.today().year}","%d.%m.%Y") + relativedelta(months=1) - relativedelta(days=1)
|
||||
next_month = (next_month.year, next_month.month, next_month.day)
|
||||
|
||||
today = (datetime.now().year, datetime.now().month, 1)
|
||||
print(f"today:{today}")
|
||||
print(f"next:{next_month}")
|
||||
events = None
|
||||
events = recurring_ical_events.of(Calendar.from_ical(data)).between(today, next_month)
|
||||
cur_events = calandar.date_search(start=datetime(today[0],today[1],today[2]), end=datetime(next_month[0],next_month[1],next_month[2]), expand=True)
|
||||
|
||||
for event in events:
|
||||
print(f"copy de l'événement: {event['SUMMARY']}")
|
||||
|
||||
|
||||
my_event = calandar.save_event(
|
||||
dtstart=event["DTSTART"].dt,
|
||||
dtend=event["DTEND"].dt,
|
||||
summary= event["SUMMARY"],
|
||||
description=event["DESCRIPTION"],
|
||||
)
|
||||
|
||||
with open(os.path.join("mycaldav", "last_sync_config.bin"), "wb") as file:
|
||||
array = {"year":datetime.now().year, "month":datetime.now().month}
|
||||
pickle.dump(array, file)
|
||||
|
||||
|
||||
|
||||
|
||||
def clear_all_events_by_Date(self, calandar):
|
||||
events = calandar.date_search(start=datetime(2022, 6, 30), end=datetime(2022, 7, 1), expand=True)
|
||||
events = calandar.date_search(start=datetime(2000, 1, 1), end=datetime.now() - relativedelta(years=1), expand=True)
|
||||
for e in events:
|
||||
e.delete()
|
||||
print(events)
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<table style="font-family: 'Source Sans Pro', sans-serif; font-size: 12pt;">
|
||||
<td style="font-weight: bold;padding-bottom: 5px; text-align: center;" colspan="2">Jour</td>
|
||||
{% for task in latest_task_list %}
|
||||
<tr><td style="font-weight: bold;vertical-align: top;" width="75" >{{task.key}}</td> <td style="{% if task.done %}text-decoration:line-through{% endif %}">{{ task.name }}<br>{{task.desc}}</td></tr>
|
||||
<tr><td style="font-weight: bold;vertical-align: top;" width="75" >{{task.key}}</td> <td style="{% if task.done %}text-decoration:line-through{% endif %}">{{ task.name }}<br>{{task.desc}}{{task.dtstart}}</td></tr>
|
||||
{% endfor %}
|
||||
<tr><td> </td></tr>
|
||||
<tr>
|
||||
|
@@ -16,6 +16,7 @@ def view_task_caldav(request):
|
||||
o_caldav.get_caldav_data()
|
||||
template = loader.get_template("task/task.html")
|
||||
context = {'latest_task_list':o_caldav.day, 'night_task_list': o_caldav.night}
|
||||
myClient = cls_caldav_client()
|
||||
return HttpResponse(template.render(context,request))
|
||||
|
||||
@xframe_options_exempt
|
||||
@@ -55,4 +56,5 @@ def view_dayly_caldav(request):
|
||||
myClient = cls_caldav_client()
|
||||
|
||||
|
||||
|
||||
return HttpResponse(ret)
|
||||
|
@@ -1,7 +1,7 @@
|
||||
from django.contrib import admin
|
||||
|
||||
from polls.models import Question, Choice
|
||||
from vehicles.models import *
|
||||
|
||||
|
||||
|
||||
class ChoiceInline(admin.TabularInline):
|
||||
@@ -19,4 +19,4 @@ class QuestionAdmin(admin.ModelAdmin):
|
||||
|
||||
admin.site.register(Question, QuestionAdmin)
|
||||
admin.site.register(Choice)
|
||||
admin.site.register(Vehicles)
|
||||
|
||||
|
@@ -1,3 +1,41 @@
|
||||
from django.contrib import admin
|
||||
|
||||
# Register your models here.
|
||||
from vehicles.models import *
|
||||
|
||||
class _vhc_admin(admin.ModelAdmin):
|
||||
|
||||
list_display = ('sName', 'nBases', 'nStatus')
|
||||
|
||||
|
||||
|
||||
search_fields = ['sName']
|
||||
|
||||
|
||||
#fields = ["sBases", "dtDate",'type', "user","nHour", "nMinutes", "sRemarques"]
|
||||
|
||||
class _vhc_infos_admin(admin.ModelAdmin):
|
||||
|
||||
#list_display = ('Vehicle', 'nType', 'sTitle','sDesc')
|
||||
|
||||
|
||||
|
||||
search_fields = ['sName']
|
||||
|
||||
|
||||
#fields = ["Vehicle", "nType",'sTitle', "sDesc","dtStart", "dtEnd", "Author"]
|
||||
fieldsets = (
|
||||
('Informations liées au véhicule', {
|
||||
'fields': ('Vehicle',)
|
||||
}),
|
||||
('Information sur le message', {
|
||||
'fields': ('nType','sTitle','sDesc')
|
||||
}),
|
||||
('Information supplémentaires et validité', {
|
||||
'fields': ("dtStart","dtEnd", 'Author')
|
||||
}),
|
||||
)
|
||||
|
||||
|
||||
|
||||
admin.site.register(vehicles_infos, _vhc_infos_admin)
|
||||
admin.site.register(vehicles, _vhc_admin)
|
||||
|
@@ -4,3 +4,4 @@ from django.apps import AppConfig
|
||||
class VehiclesConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = 'vehicles'
|
||||
verbose_name = "Clerc véhicule"
|
||||
|
@@ -0,0 +1,28 @@
|
||||
# Generated by Django 4.0 on 2022-07-04 10:37
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('vehicles', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='vehicles',
|
||||
name='nBases',
|
||||
field=models.CharField(choices=[('1', 'Monthey'), ('2', 'Uvrier')], default=1, max_length=1, verbose_name='Basé à '),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='vehicles',
|
||||
name='nStatus',
|
||||
field=models.CharField(choices=[('1', 'Opérationnel'), ('2', 'Hors Service'), ('3', 'Réserve'), ('4', 'Utilisation altérée')], default=1, max_length=1, verbose_name='Statut'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='vhc_problems',
|
||||
name='nType',
|
||||
field=models.CharField(choices=[('1', 'Technique'), ('2', 'Matériel'), ('3', 'Opérationnel')], default=1, max_length=1, verbose_name='Type'),
|
||||
),
|
||||
]
|
@@ -0,0 +1,22 @@
|
||||
# Generated by Django 4.0 on 2022-07-04 10:51
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('vehicles', '0002_vehicles_nbases_vehicles_nstatus_vhc_problems_ntype'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='vehicles',
|
||||
name='bEnabled',
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles',
|
||||
name='sName',
|
||||
field=models.CharField(max_length=250, verbose_name='Indicatif'),
|
||||
),
|
||||
]
|
17
vehicles/migrations/0004_alter_vehicles_options.py
Normal file
17
vehicles/migrations/0004_alter_vehicles_options.py
Normal file
@@ -0,0 +1,17 @@
|
||||
# Generated by Django 4.0 on 2022-07-04 10:58
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('vehicles', '0003_remove_vehicles_benabled_alter_vehicles_sname'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='vehicles',
|
||||
options={'verbose_name': 'véhicule', 'verbose_name_plural': 'véhicules'},
|
||||
),
|
||||
]
|
18
vehicles/migrations/0005_rename_vhc_problems_vhc_infos.py
Normal file
18
vehicles/migrations/0005_rename_vhc_problems_vhc_infos.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 4.0 on 2022-07-04 13:11
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('auth', '0012_alter_user_first_name_max_length'),
|
||||
('vehicles', '0004_alter_vehicles_options'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameModel(
|
||||
old_name='Vhc_problems',
|
||||
new_name='Vhc_infos',
|
||||
),
|
||||
]
|
18
vehicles/migrations/0006_rename_vhc_infos_vehicles_infos.py
Normal file
18
vehicles/migrations/0006_rename_vhc_infos_vehicles_infos.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 4.0 on 2022-07-04 16:13
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('auth', '0012_alter_user_first_name_max_length'),
|
||||
('vehicles', '0005_rename_vhc_problems_vhc_infos'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameModel(
|
||||
old_name='Vhc_infos',
|
||||
new_name='Vehicles_infos',
|
||||
),
|
||||
]
|
17
vehicles/migrations/0007_alter_vehicles_infos_options.py
Normal file
17
vehicles/migrations/0007_alter_vehicles_infos_options.py
Normal file
@@ -0,0 +1,17 @@
|
||||
# Generated by Django 4.0 on 2022-07-04 18:19
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('vehicles', '0006_rename_vhc_infos_vehicles_infos'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='vehicles_infos',
|
||||
options={'verbose_name': 'véhicule info', 'verbose_name_plural': 'véhicule infos'},
|
||||
),
|
||||
]
|
@@ -0,0 +1,65 @@
|
||||
# Generated by Django 4.0 on 2022-07-04 18:59
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('auth', '0012_alter_user_first_name_max_length'),
|
||||
('vehicles', '0007_alter_vehicles_infos_options'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='Author',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to='auth.user', verbose_name='Auteur'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='Vehicle',
|
||||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='vehicles.vehicles', verbose_name='Véhicule'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='bEnabled',
|
||||
field=models.BooleanField(default=1, verbose_name='Actif'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='dtCreated',
|
||||
field=models.DateTimeField(auto_now_add=True, verbose_name='date published'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='dtEnd',
|
||||
field=models.DateField(blank=True, verbose_name='Date de fin'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='dtStart',
|
||||
field=models.DateField(verbose_name='Date de début'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='dtUpdated',
|
||||
field=models.DateTimeField(auto_now=True, verbose_name='date updated'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='sAuthor',
|
||||
field=models.CharField(max_length=120, verbose_name='auteur string'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='sDesc',
|
||||
field=models.TextField(verbose_name='Description'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='sTitle',
|
||||
field=models.CharField(max_length=250, verbose_name='Titre'),
|
||||
),
|
||||
]
|
18
vehicles/migrations/0009_alter_vehicles_infos_dtend.py
Normal file
18
vehicles/migrations/0009_alter_vehicles_infos_dtend.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 4.0 on 2022-07-04 19:02
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('vehicles', '0008_alter_vehicles_infos_author_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='vehicles_infos',
|
||||
name='dtEnd',
|
||||
field=models.DateField(blank=True, null=True, verbose_name='Date de fin'),
|
||||
),
|
||||
]
|
@@ -4,20 +4,53 @@ from django.db import models
|
||||
from django.conf import settings
|
||||
from django.utils import timezone
|
||||
|
||||
BASES_CHOICES = [
|
||||
('1', 'Monthey'),
|
||||
('2', 'Uvrier'),
|
||||
]
|
||||
STATUS_CHOICES = [
|
||||
('1', 'Opérationnel'),
|
||||
('2', 'Hors Service'),
|
||||
('3', 'Réserve'),
|
||||
('4', 'Utilisation altérée'),
|
||||
]
|
||||
TYPES_CHOICES = [
|
||||
('1', 'Technique'),
|
||||
('2', 'Matériel'),
|
||||
('3', 'Opérationnel'),
|
||||
]
|
||||
|
||||
class Vehicles(models.Model):
|
||||
sName = models.CharField (max_length=250)
|
||||
bEnabled = models.BooleanField( default=0 )
|
||||
|
||||
class Vhc_problems(models.Model):
|
||||
Vehicle = models.ForeignKey( Vehicles, on_delete=models.CASCADE)
|
||||
sTitle = models.CharField( max_length=250)
|
||||
sDesc = models.TextField()
|
||||
bEnabled = models.BooleanField( default=1)
|
||||
dtStart = models.DateTimeField()
|
||||
dtEnd = models.DateTimeField()
|
||||
sAuthor = models.CharField( max_length=120)
|
||||
Author = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING )
|
||||
dtUpdated = models.DateTimeField('date updated')
|
||||
dtCreated = models.DateTimeField('date published')
|
||||
class vehicles(models.Model):
|
||||
sName = models.CharField("Indicatif", max_length=250)
|
||||
nBases = models.CharField('Basé à ', max_length=1, choices=BASES_CHOICES, default=1)
|
||||
nStatus = models.CharField('Statut', max_length=1, choices=STATUS_CHOICES, default=1)
|
||||
|
||||
def __str__(self):
|
||||
return self.sName
|
||||
|
||||
class Meta:
|
||||
verbose_name = "véhicule"
|
||||
verbose_name_plural = "véhicules"
|
||||
|
||||
|
||||
class vehicles_infos(models.Model):
|
||||
Vehicle = models.ForeignKey(vehicles, on_delete=models.CASCADE, verbose_name="Véhicule")
|
||||
nType = models.CharField('Type', max_length=1, choices=TYPES_CHOICES, default=1)
|
||||
sTitle = models.CharField("Titre",max_length=250)
|
||||
sDesc = models.TextField("Description")
|
||||
bEnabled = models.BooleanField("Actif",default=1)
|
||||
|
||||
dtStart = models.DateField("Date de début")
|
||||
dtEnd = models.DateField("Date de fin", blank=True, null=True)
|
||||
sAuthor = models.CharField("auteur string",max_length=120)
|
||||
Author = models.ForeignKey(settings.AUTH_USER_MODEL,verbose_name="Auteur", on_delete=models.DO_NOTHING)
|
||||
dtUpdated = models.DateTimeField('date updated', auto_now=True)
|
||||
dtCreated = models.DateTimeField('date published', auto_now_add=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.sTitle
|
||||
|
||||
class Meta:
|
||||
verbose_name = "véhicule info"
|
||||
verbose_name_plural = "véhicule infos"
|
||||
|
Reference in New Issue
Block a user