mirror of https://github.com/nanoy42/coope
12 changed files with 303 additions and 76 deletions
@ -0,0 +1,46 @@ |
|||
# Generated by Django 2.1 on 2019-05-03 16:41 |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
def create_default_category(apps, schema_editor): |
|||
Category = apps.get_model('gestion', 'Category') |
|||
new_category = Category(name="Autre") |
|||
new_category.save() |
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('gestion', '0006_auto_20190227_0859'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='Category', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('name', models.CharField(max_length=100, unique=True, verbose_name='Nom')), |
|||
], |
|||
), |
|||
migrations.RemoveField( |
|||
model_name='historicalproduct', |
|||
name='category', |
|||
), |
|||
migrations.RemoveField( |
|||
model_name='product', |
|||
name='category', |
|||
), |
|||
migrations.RunPython(create_default_category), |
|||
migrations.AddField( |
|||
model_name='historicalproduct', |
|||
name='category', |
|||
field=models.ForeignKey(default=1, blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='gestion.Category'), |
|||
preserve_default=False, |
|||
), |
|||
migrations.AddField( |
|||
model_name='product', |
|||
name='category', |
|||
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.PROTECT, to='gestion.Category'), |
|||
preserve_default=False, |
|||
), |
|||
] |
|||
@ -0,0 +1,28 @@ |
|||
# Generated by Django 2.1 on 2019-05-03 17:08 |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('gestion', '0007_auto_20190503_1841'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='category', |
|||
options={'verbose_name': 'Catégorie'}, |
|||
), |
|||
migrations.AddField( |
|||
model_name='category', |
|||
name='order', |
|||
field=models.IntegerField(default=0), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='product', |
|||
name='category', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='gestion.Category', verbose_name='Catégorie'), |
|||
), |
|||
] |
|||
@ -0,0 +1,37 @@ |
|||
{% extends 'base.html' %} |
|||
{% block entete %}Gestion des produits{% endblock %} |
|||
{% block navbar%} |
|||
<ul> |
|||
<li><a href="#first">Liste des catégories</a></li> |
|||
</ul> |
|||
{% endblock %} |
|||
{% block content %} |
|||
<section id="first" class="main"> |
|||
<header class="major"> |
|||
<h2>Liste des catégories</h2> |
|||
</header> |
|||
{% if perms.gestion.add_category %} |
|||
<a class="button" href="{% url 'gestion:addCategory' %}"><i class="fa fa-boxes"></i> Créer une catégorie</a><br><br> |
|||
{% endif %} |
|||
<div class="table-wrapper"> |
|||
<table> |
|||
<thead> |
|||
<tr> |
|||
<th>Nom</th> |
|||
<th>Ordre</th> |
|||
<th>Administrer</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{% for category in categories %} |
|||
<tr> |
|||
<td><a href="{% url 'gestion:categoryProfile' category.pk %}">{{ category }}</a></td> |
|||
<td>{% if category.order == 0 %}0 (non affichéé){% else %}{{category.order}}{% endif %}</td> |
|||
<td><a href="{% url 'gestion:categoryProfile' category.pk %}" class="button small"><i class="fa fa-eye"></i> Profil</a> {% if perms.gestion.change_category %}<a href="{% url 'gestion:editCategory' category.pk %}" class="button small"><i class="fa fa-pencil-alt"></i> Modifier</a>{% endif %}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
</section> |
|||
{% endblock %} |
|||
@ -0,0 +1,29 @@ |
|||
{% extends "base.html" %} |
|||
{% block entete %}Gestion des produits : Profil de {{category}}{% endblock %} |
|||
{% block navbar %} |
|||
<ul> |
|||
<li><a href="#first">Général</a></li> |
|||
<li><a href="#second">Liste des produits</a></li> |
|||
</ul> |
|||
{% endblock %} |
|||
{% block content %} |
|||
<section id="first" class="main"> |
|||
<header class="major"> |
|||
<h2>Général</h2> |
|||
</header> |
|||
<a class="button small" href="{% url 'gestion:categoriesList' %}">Liste des catégories</a><br><br> |
|||
{% if perms.gestion.change_category %}<a href="{% url 'gestion:editCategory' category.pk %}" class="button small">Modifier</a><br>{% endif %}<br> |
|||
<strong>Nom</strong> : {{ category.name }}<br> |
|||
<strong>Ordre</strong> : {{ category.order }}<br> |
|||
</section> |
|||
<section id="first" class="main"> |
|||
<header class="major"> |
|||
<h2>Liste des produits ({{category.product_set.all.count}} au total dont {{category.active_products.count}} actifs)</h2> |
|||
</header> |
|||
<ul> |
|||
{% for product in category.product_set.all %} |
|||
<li><a href="{% url 'gestion:productProfile' product.pk %}">{{product}}</a></li> |
|||
{% endfor %} |
|||
</ul> |
|||
</section> |
|||
{% endblock %} |
|||
Loading…
Reference in new issue