Sith/counter/migrations/0001_initial.py
2023-05-10 11:56:33 +02:00

436 lines
15 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
import accounting.models
import django.db.models.deletion
from django.conf import settings
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
("subscription", "0001_initial"),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
("core", "0001_initial"),
("club", "0002_auto_20160824_2152"),
]
operations = [
migrations.CreateModel(
name="Counter",
fields=[
(
"id",
models.AutoField(
primary_key=True,
serialize=False,
verbose_name="ID",
auto_created=True,
),
),
("name", models.CharField(max_length=30, verbose_name="name")),
(
"type",
models.CharField(
choices=[
("BAR", "Bar"),
("OFFICE", "Office"),
("EBOUTIC", "Eboutic"),
],
max_length=255,
verbose_name="counter type",
),
),
(
"club",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="club.Club",
related_name="counters",
),
),
(
"edit_groups",
models.ManyToManyField(
to="core.Group", blank=True, related_name="editable_counters"
),
),
],
options={"verbose_name": "counter"},
),
migrations.CreateModel(
name="Customer",
fields=[
(
"user",
models.OneToOneField(
on_delete=django.db.models.deletion.CASCADE,
primary_key=True,
serialize=False,
to=settings.AUTH_USER_MODEL,
),
),
(
"account_id",
models.CharField(
unique=True, max_length=10, verbose_name="account id"
),
),
(
"amount",
accounting.models.CurrencyField(
decimal_places=2, max_digits=12, verbose_name="amount"
),
),
],
options={
"verbose_name": "customer",
"ordering": ["account_id"],
"verbose_name_plural": "customers",
},
),
migrations.CreateModel(
name="Permanency",
fields=[
(
"id",
models.AutoField(
primary_key=True,
serialize=False,
verbose_name="ID",
auto_created=True,
),
),
("start", models.DateTimeField(verbose_name="start date")),
("end", models.DateTimeField(verbose_name="end date")),
(
"counter",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="counter.Counter",
related_name="permanencies",
),
),
(
"user",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to=settings.AUTH_USER_MODEL,
related_name="permanencies",
),
),
],
options={"verbose_name": "permanency"},
),
migrations.CreateModel(
name="Product",
fields=[
(
"id",
models.AutoField(
primary_key=True,
serialize=False,
verbose_name="ID",
auto_created=True,
),
),
("name", models.CharField(max_length=64, verbose_name="name")),
(
"description",
models.TextField(blank=True, verbose_name="description"),
),
(
"code",
models.CharField(max_length=16, blank=True, verbose_name="code"),
),
(
"purchase_price",
accounting.models.CurrencyField(
decimal_places=2, max_digits=12, verbose_name="purchase price"
),
),
(
"selling_price",
accounting.models.CurrencyField(
decimal_places=2, max_digits=12, verbose_name="selling price"
),
),
(
"special_selling_price",
accounting.models.CurrencyField(
decimal_places=2,
max_digits=12,
verbose_name="special selling price",
),
),
(
"icon",
models.ImageField(
upload_to="products", null=True, verbose_name="icon", blank=True
),
),
("limit_age", models.IntegerField(default=0, verbose_name="limit age")),
("tray", models.BooleanField(verbose_name="tray price", default=False)),
(
"buying_groups",
models.ManyToManyField(
related_name="products",
to="core.Group",
verbose_name="buying groups",
),
),
(
"club",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
verbose_name="club",
to="club.Club",
related_name="products",
),
),
(
"parent_product",
models.ForeignKey(
on_delete=django.db.models.deletion.SET_NULL,
null=True,
related_name="children_products",
verbose_name="parent product",
to="counter.Product",
blank=True,
),
),
],
options={"verbose_name": "product"},
),
migrations.CreateModel(
name="ProductType",
fields=[
(
"id",
models.AutoField(
primary_key=True,
serialize=False,
verbose_name="ID",
auto_created=True,
),
),
("name", models.CharField(max_length=30, verbose_name="name")),
(
"description",
models.TextField(null=True, verbose_name="description", blank=True),
),
(
"icon",
models.ImageField(upload_to="products", null=True, blank=True),
),
],
options={"verbose_name": "product type"},
),
migrations.CreateModel(
name="Refilling",
fields=[
(
"id",
models.AutoField(
primary_key=True,
serialize=False,
verbose_name="ID",
auto_created=True,
),
),
(
"amount",
accounting.models.CurrencyField(
decimal_places=2, max_digits=12, verbose_name="amount"
),
),
("date", models.DateTimeField(verbose_name="date")),
(
"payment_method",
models.CharField(
choices=[
("CHECK", "Check"),
("CASH", "Cash"),
("CARD", "Credit card"),
],
max_length=255,
default="CASH",
verbose_name="payment method",
),
),
(
"bank",
models.CharField(
choices=[
("OTHER", "Autre"),
("SOCIETE-GENERALE", "Société générale"),
("BANQUE-POPULAIRE", "Banque populaire"),
("BNP", "BNP"),
("CAISSE-EPARGNE", "Caisse d'épargne"),
("CIC", "CIC"),
("CREDIT-AGRICOLE", "Crédit Agricole"),
("CREDIT-MUTUEL", "Credit Mutuel"),
("CREDIT-LYONNAIS", "Credit Lyonnais"),
("LA-POSTE", "La Poste"),
],
max_length=255,
default="OTHER",
verbose_name="bank",
),
),
(
"is_validated",
models.BooleanField(verbose_name="is validated", default=False),
),
(
"counter",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="counter.Counter",
related_name="refillings",
),
),
(
"customer",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to="counter.Customer",
related_name="refillings",
),
),
(
"operator",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
to=settings.AUTH_USER_MODEL,
related_name="refillings_as_operator",
),
),
],
options={"verbose_name": "refilling"},
),
migrations.CreateModel(
name="Selling",
fields=[
(
"id",
models.AutoField(
primary_key=True,
serialize=False,
verbose_name="ID",
auto_created=True,
),
),
("label", models.CharField(max_length=64, verbose_name="label")),
(
"unit_price",
accounting.models.CurrencyField(
decimal_places=2, max_digits=12, verbose_name="unit price"
),
),
("quantity", models.IntegerField(verbose_name="quantity")),
("date", models.DateTimeField(verbose_name="date")),
(
"payment_method",
models.CharField(
choices=[
("SITH_ACCOUNT", "Sith account"),
("CARD", "Credit card"),
],
max_length=255,
default="SITH_ACCOUNT",
verbose_name="payment method",
),
),
(
"is_validated",
models.BooleanField(verbose_name="is validated", default=False),
),
(
"club",
models.ForeignKey(
on_delete=django.db.models.deletion.SET_NULL,
null=True,
to="club.Club",
related_name="sellings",
),
),
(
"counter",
models.ForeignKey(
on_delete=django.db.models.deletion.SET_NULL,
null=True,
to="counter.Counter",
related_name="sellings",
),
),
(
"customer",
models.ForeignKey(
on_delete=django.db.models.deletion.SET_NULL,
null=True,
to="counter.Customer",
related_name="buyings",
),
),
(
"product",
models.ForeignKey(
on_delete=django.db.models.deletion.SET_NULL,
null=True,
to="counter.Product",
related_name="sellings",
blank=True,
),
),
(
"seller",
models.ForeignKey(
on_delete=django.db.models.deletion.SET_NULL,
null=True,
to=settings.AUTH_USER_MODEL,
related_name="sellings_as_operator",
),
),
],
options={"verbose_name": "selling"},
),
migrations.AddField(
model_name="product",
name="product_type",
field=models.ForeignKey(
on_delete=django.db.models.deletion.SET_NULL,
null=True,
related_name="products",
verbose_name="product type",
to="counter.ProductType",
blank=True,
),
),
migrations.AddField(
model_name="counter",
name="products",
field=models.ManyToManyField(
to="counter.Product", blank=True, related_name="counters"
),
),
migrations.AddField(
model_name="counter",
name="sellers",
field=models.ManyToManyField(
related_name="counters",
to="core.User",
blank=True,
verbose_name="sellers",
),
),
migrations.AddField(
model_name="counter",
name="view_groups",
field=models.ManyToManyField(
to="core.Group", blank=True, related_name="viewable_counters"
),
),
]