Update project
This commit is contained in:
parent
9ba5868b88
commit
7cecdad32c
|
@ -29,7 +29,7 @@ Commande à taper :
|
|||
|
||||
python manage.py importcsv -b nom_de_la_banque -f path_du_fichier_csv
|
||||
|
||||
Le fichier importer DOIT être un `.csv`.
|
||||
Le fichier importer DOIT être un `.csv` et dois être push sur Heroku.
|
||||
Egalement possible de le faire sur heroku via la commandes suivantes :
|
||||
|
||||
heroku login
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
from django.contrib import admin
|
||||
|
||||
from django_admin_listfilter_dropdown.filters import (
|
||||
DropdownFilter,
|
||||
ChoiceDropdownFilter,
|
||||
RelatedDropdownFilter,
|
||||
)
|
||||
|
||||
from .models import (
|
||||
Client,
|
||||
Contract,
|
||||
|
@ -7,6 +13,7 @@ from .models import (
|
|||
)
|
||||
|
||||
|
||||
@admin.register(Client)
|
||||
class ClientAdmin(admin.ModelAdmin):
|
||||
model = Client
|
||||
|
||||
|
@ -14,6 +21,7 @@ class ClientAdmin(admin.ModelAdmin):
|
|||
search_fields = ("name", "adress", "city")
|
||||
|
||||
|
||||
@admin.register(Contract)
|
||||
class ContractAdmin(admin.ModelAdmin):
|
||||
model = Contract
|
||||
|
||||
|
@ -22,13 +30,12 @@ class ContractAdmin(admin.ModelAdmin):
|
|||
list_filter = ("is_finished",) # 'date__year',
|
||||
|
||||
|
||||
@admin.register(Prestation)
|
||||
class PrestationAdmin(admin.ModelAdmin):
|
||||
model = Prestation
|
||||
|
||||
list_display = ("date", "label", "total_amount", "contract")
|
||||
search_fields = ("label",)
|
||||
|
||||
|
||||
admin.site.register(Client, ClientAdmin)
|
||||
admin.site.register(Contract, ContractAdmin)
|
||||
admin.site.register(Prestation, PrestationAdmin)
|
||||
search_fields = ("label", "contract__title")
|
||||
list_filter = (
|
||||
("contract", RelatedDropdownFilter),
|
||||
)
|
||||
|
|
|
@ -39,20 +39,25 @@ class ContractForm(forms.ModelForm):
|
|||
class Meta:
|
||||
model = Contract
|
||||
fields = ("title", "client", "advance", "reference", "is_finished", "is_paid", "description")
|
||||
client = forms.ModelChoiceField(queryset=Contract.objects.all())
|
||||
widgets = {
|
||||
"title": forms.TextInput(
|
||||
attrs={"class": "form-control", "placeholder": "Titre de la facture"}
|
||||
attrs={"class": "form-control", "placeholder": "Titre du contrat"}
|
||||
),
|
||||
"client": ModelSelect2Widget(
|
||||
search_fields=["title__icontains", "contact__icontains", "city__icontains"],
|
||||
max_results=10,
|
||||
attrs={"data-minimum-input-length": 0, "class": "form-control"},
|
||||
"client": forms.Select(
|
||||
attrs={
|
||||
"class": "form-control"
|
||||
},
|
||||
),
|
||||
"advance": forms.TextInput(
|
||||
attrs={"class": "form-control", }
|
||||
),
|
||||
"reference": forms.TextInput(
|
||||
attrs={"class": "form-control", }
|
||||
attrs={
|
||||
"class": "form-control",
|
||||
"placeholder": date.today().strftime("%Y-%m") + "-00x",
|
||||
"value": date.today().strftime("%Y-%m") + "-00x",
|
||||
}
|
||||
),
|
||||
"is_finished": forms.CheckboxInput(
|
||||
attrs={"class": "form-control", }
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
<form action="{% if client_id %}{% url 'client_update' client_id %}{% else %}{% url 'client_create' %}{% endif %}" method="post" class="form-horizontal" id="formulaire" name="formulaire">
|
||||
{% csrf_token %}
|
||||
<div class="form-group row ">
|
||||
<label for="id_date" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 control-label">Nom</label>
|
||||
<label for="id_date" class="col-4 col-sm-2 col-md-2 col-lg-2 col-xl-2 control-label">Nom<span class="text-danger">*</span></label>
|
||||
<div class="col-12 col-sm-10 col-md-8 col-lg-8 col-xl-8 {% if form.name.errors %}has-danger{% endif %}">
|
||||
{{ form.name }}
|
||||
{% if form.name.errors %}<span class="btn btn-sm btn-danger-outline">{% for error in form.name.errors %}{{error}}{% endfor %}</span>{% endif %}
|
|
@ -49,7 +49,7 @@ def client_listing(request):
|
|||
""" Récupère la liste de tous les clients. """
|
||||
client_list = Client.objects.all()
|
||||
context = {"client_list": client_list}
|
||||
return render(request, "billing/clients/listing.html", context)
|
||||
return render(request, "clients/listing.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -62,7 +62,7 @@ def client_details(request, client_id=None):
|
|||
"""
|
||||
client = get_object_or_404(Client, pk=client_id)
|
||||
context = {"client": client}
|
||||
return render(request, "billing/clients/details.html", context)
|
||||
return render(request, "clients/details.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -90,7 +90,7 @@ def client_create_or_update(request, client_id=None):
|
|||
form = ClientForm(instance=client)
|
||||
|
||||
context = {"form": form, "client_id": client_id}
|
||||
return render(request, "billing/clients/create.html", context)
|
||||
return render(request, "clients/create.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -99,7 +99,7 @@ def contract_listing(request):
|
|||
""" Récupère la liste de tous les contrats. """
|
||||
contract_list = Contract.objects.all()
|
||||
context = {"contract_list": contract_list}
|
||||
return render(request, "billing/contracts/listing.html", context)
|
||||
return render(request, "contracts/listing.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -125,7 +125,7 @@ def contract_detail(request, contract_id):
|
|||
"prestation_count": prestation_count,
|
||||
"total": total,
|
||||
}
|
||||
return render(request, "billing/contracts/details.html", context)
|
||||
return render(request, "contracts/details.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -153,7 +153,7 @@ def contract_create_or_update(request, contract_id=None):
|
|||
form = ContractForm(instance=contract)
|
||||
|
||||
context = {"form": form, "contract_id": contract_id}
|
||||
return render(request, "billing/contracts/create.html", context)
|
||||
return render(request, "contracts/create.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -206,7 +206,7 @@ def prestation_create_or_update(request, prestation_id=None):
|
|||
form = PrestationForm(instance=prestation)
|
||||
|
||||
context = {"form": form, "prestation_id": prestation_id}
|
||||
return render(request, "billing/prestations/create.html", context)
|
||||
return render(request, "prestations/create.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
|
|
@ -47,10 +47,12 @@ INSTALLED_APPS = [
|
|||
"django.contrib.messages",
|
||||
"django.contrib.staticfiles",
|
||||
"comptabilite.apps.ComptabiliteConfig",
|
||||
"core.apps.CoreConfig",
|
||||
"eventCompta.apps.ManagementConfig",
|
||||
"billing.apps.BillingConfig",
|
||||
"django.contrib.humanize",
|
||||
"django_select2",
|
||||
"django_admin_listfilter_dropdown",
|
||||
]
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
|
|
@ -343,7 +343,7 @@ def year_listing(request):
|
|||
year_list.append((year.year, Transaction.objects.by_year(year.year).count(),))
|
||||
|
||||
context = {"year_list": year_list}
|
||||
return render(request, "comptability/year_listing.html", context)
|
||||
return render(request, "year_listing.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -390,7 +390,7 @@ def transaction_listing_for_year_and_type(
|
|||
"total_simulated": total_simulated,
|
||||
"total": total,
|
||||
}
|
||||
return render(request, "comptability/transactions/listing.html", context)
|
||||
return render(request, "transactions/listing.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -402,7 +402,7 @@ def transaction_details(request, transaction_id):
|
|||
transaction = Transaction.objects.get(pk=transaction_id)
|
||||
context = {"event": transaction.event, "transaction": transaction}
|
||||
# changed template
|
||||
return render(request, "comptability/transactions/details.html", context)
|
||||
return render(request, "transactions/details.html", context)
|
||||
|
||||
|
||||
@login_required
|
||||
|
@ -430,4 +430,4 @@ def transaction_create_or_update(request, transaction_id=None):
|
|||
form = TransactionForm(instance=transaction)
|
||||
|
||||
context = {"form": form, "transaction_id": transaction_id}
|
||||
return render(request, "comptability/transactions/create.html", context)
|
||||
return render(request, "transactions/create.html", context)
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class CoreConfig(AppConfig):
|
||||
default_auto_field = 'django.db.models.BigAutoField'
|
||||
name = "core"
|
||||
verbose_name = "Core"
|
|
@ -68,34 +68,10 @@
|
|||
<script src="{% static "js/highcharts/highcharts.js" %}"></script>
|
||||
<script src="{% static "js/highcharts/exporting.js" %}"></script>
|
||||
<script src="{% static "js/highcharts/dark-unica.js" %}"></script>
|
||||
<!-- <script src="{% static "js/tablesort.js" %}"></script> -->
|
||||
<!-- <link href="{% static "css/theme.default.min.css" %}" rel="stylesheet"> -->
|
||||
<script src="{% static "js/jquery.tablesorter.js" %}"></script>
|
||||
<script src="{% static "js/jquery.tablesorter.widgets.js" %}"></script>
|
||||
<script src="{% static "js/jqueryui/jquery-ui.min.js" %}"></script>
|
||||
{% block extra_script %}{% endblock %}
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
Highcharts.setOptions({
|
||||
lang: {
|
||||
months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'],
|
||||
shortMonths: [ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec"],
|
||||
weekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'],
|
||||
decimalPoint: ",",
|
||||
thousandsSep: ".",
|
||||
downloadJPEG: "Telecharger en JPEG",
|
||||
downloadPDF: "Telecharger en PDF",
|
||||
downloadPNG: "Telecharger en PNG",
|
||||
downloadSVG: "Telecharger en SVG",
|
||||
printChart: "Imprimer",
|
||||
resetZoom: "Rétablir",
|
||||
resetZoomTitle: "Rétablir",
|
||||
loading: "Chargement…",
|
||||
noData: "Pas de données disponibles."
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<section id="main" class="container">{% block content %}{% endblock %}</section>
|
||||
|
Loading…
Reference in New Issue