2018-08-22 16:42:21 +02:00
|
|
|
{% extends 'base.html.twig' %}
|
|
|
|
{% trans_default_domain 'FOSUserBundle' %}
|
|
|
|
{% block body %}
|
2018-08-23 12:18:02 +02:00
|
|
|
{% verbatim %}
|
|
|
|
|
|
|
|
<div id="wrapper">
|
|
|
|
<div class="previsionnel"
|
|
|
|
ng-app="caisse"
|
|
|
|
ng-controller="previsionnelCtrl as pCtrl"
|
|
|
|
>
|
2018-08-23 18:12:32 +02:00
|
|
|
<div class="row">
|
2018-08-27 16:37:27 +02:00
|
|
|
<div class="col-xs-12 col-md-6"></div>
|
|
|
|
<div class="col-xs-12 col-md-6">
|
2018-08-23 18:12:32 +02:00
|
|
|
|
|
|
|
<div ng-if="config.initialLoadingDone && config.loading">
|
|
|
|
Chargement ...
|
|
|
|
</div>
|
|
|
|
<div ng-if="config.initialLoadingDone && !config.loading">
|
|
|
|
Modifications sauvegardées
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-08-23 12:18:02 +02:00
|
|
|
<h1>Prévisionnel</h1>
|
|
|
|
<div class="row">
|
2018-08-27 16:37:27 +02:00
|
|
|
<div class="col-xs-12">
|
2018-08-23 15:00:56 +02:00
|
|
|
<div class="config well">
|
2018-08-23 12:18:02 +02:00
|
|
|
<h2>
|
|
|
|
Configuration
|
|
|
|
</h2>
|
2018-08-23 15:00:56 +02:00
|
|
|
<p class="padded">
|
|
|
|
|
2018-08-23 12:18:02 +02:00
|
|
|
Euros disponibles au départ:
|
2018-08-27 15:20:01 +02:00
|
|
|
<input type="number" ng-model="config.disponibility" ng-change="save()">
|
2018-08-23 15:00:56 +02:00
|
|
|
<br>
|
|
|
|
|
|
|
|
Gains moyen par mois:
|
2018-08-27 15:20:01 +02:00
|
|
|
<input type="number" ng-model="config.averageMonthlyEarnings" ng-disabled="config.isSaving">
|
2018-08-23 15:00:56 +02:00
|
|
|
</p>
|
|
|
|
<p>
|
2018-08-23 15:09:43 +02:00
|
|
|
<p>
|
|
|
|
Gérer délais
|
|
|
|
<input type="checkbox" ng-model="config.showDelays">
|
|
|
|
Gérer répétitions
|
|
|
|
<input type="checkbox" ng-model="config.showRepeats">
|
|
|
|
</p>
|
2018-08-23 15:00:56 +02:00
|
|
|
|
2018-08-23 12:24:02 +02:00
|
|
|
<strong>
|
2018-08-23 15:00:56 +02:00
|
|
|
Dépenses mensuelles: {{ sumMonthlyExpenses() }} €
|
|
|
|
</strong>
|
|
|
|
</p>
|
|
|
|
<p>
|
2018-08-23 12:24:02 +02:00
|
|
|
|
2018-08-23 15:00:56 +02:00
|
|
|
<strong>
|
|
|
|
Bénef mensuel: {{ config.averageMonthlyEarnings - sumMonthlyExpenses() }} €
|
|
|
|
</strong>
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
|
|
|
|
Crédit mensuel réalisable (33% des gains moyens par mois): {{ config.averageMonthlyEarnings * 0.33 |number }} €
|
|
|
|
</p>
|
2018-08-23 12:18:02 +02:00
|
|
|
</div>
|
2018-08-27 16:37:27 +02:00
|
|
|
</div>
|
|
|
|
<div class="col-xs-12 col-sm-7 postes">
|
2018-08-23 18:12:32 +02:00
|
|
|
<h2>
|
|
|
|
{{expenses.length}} Postes de dépenses mensuelles
|
2018-08-23 12:18:02 +02:00
|
|
|
<button ng-click="addExpense()">+</button>
|
|
|
|
</h2>
|
|
|
|
<p class="desc">
|
|
|
|
Indiquez les catégories de dépenses mensuelles que vous faites pour faire évoluer la
|
|
|
|
simulation de budget restant dans plusieurs mois.
|
|
|
|
</p>
|
|
|
|
<table class="exepnse-table">
|
|
|
|
<thead>
|
|
|
|
<tr>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="padded" >
|
2018-08-23 12:18:02 +02:00
|
|
|
Nom
|
|
|
|
</td>
|
2018-08-23 15:09:43 +02:00
|
|
|
<td class="padded" ng-if="config.showDelays">
|
2018-08-23 12:18:02 +02:00
|
|
|
débute dans X mois
|
|
|
|
</td>
|
2018-08-23 15:09:43 +02:00
|
|
|
<td class="padded" ng-if="config.showRepeats">
|
2018-08-23 12:18:02 +02:00
|
|
|
mois répétitions
|
|
|
|
</td>
|
2018-08-23 15:09:43 +02:00
|
|
|
<td class="padded" ng-if="config.showRepeats">
|
2018-08-23 12:18:02 +02:00
|
|
|
prix répétitions
|
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="padded" >
|
2018-08-23 12:18:02 +02:00
|
|
|
prix mensuel
|
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="padded" >
|
2018-08-23 12:18:02 +02:00
|
|
|
prix annuel
|
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="padded" >
|
|
|
|
activé
|
|
|
|
</td>
|
2018-08-23 12:18:02 +02:00
|
|
|
</tr>
|
|
|
|
</thead>
|
2018-08-22 16:42:21 +02:00
|
|
|
|
2018-08-23 12:18:02 +02:00
|
|
|
<tbody>
|
2018-08-22 16:42:21 +02:00
|
|
|
|
2018-08-23 12:18:02 +02:00
|
|
|
</tbody>
|
2018-08-23 15:00:56 +02:00
|
|
|
<tr ng-repeat="e in expenses ">
|
2018-08-23 12:18:02 +02:00
|
|
|
<td>
|
2018-08-27 14:58:45 +02:00
|
|
|
<input type="text" ng-model="e.name" ng-change="save()">
|
2018-08-23 12:18:02 +02:00
|
|
|
</td>
|
2018-08-23 15:09:43 +02:00
|
|
|
<td ng-if="config.showDelays">
|
2018-08-23 12:18:02 +02:00
|
|
|
|
2018-08-27 14:58:45 +02:00
|
|
|
<input type="number" ng-model="e.delay" ng-change="save()">
|
2018-08-23 12:18:02 +02:00
|
|
|
</td>
|
2018-08-23 15:09:43 +02:00
|
|
|
<td ng-if="config.showRepeats">
|
2018-08-27 14:58:45 +02:00
|
|
|
<input type="number" ng-model="e.repeat" ng-change="save()">
|
2018-08-23 12:18:02 +02:00
|
|
|
</td>
|
2018-08-23 15:09:43 +02:00
|
|
|
<td ng-if="config.showRepeats" class="text-right padded">
|
2018-08-23 12:18:02 +02:00
|
|
|
{{ e.repeat * e.amount }}
|
|
|
|
</td>
|
|
|
|
<td>
|
2018-08-27 14:58:45 +02:00
|
|
|
<input type="number" ng-model="e.amount" ng-change="save()">
|
2018-08-23 12:18:02 +02:00
|
|
|
</td>
|
|
|
|
<td class="text-right padded">
|
2018-08-23 15:00:56 +02:00
|
|
|
<strong>
|
|
|
|
|
|
|
|
{{ e.amount * 12 }}
|
|
|
|
</strong>
|
|
|
|
€
|
2018-08-23 12:18:02 +02:00
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="padded">
|
2018-08-27 14:58:45 +02:00
|
|
|
<input type="checkbox" ng-model="e.enabled" ng-change="save()">
|
2018-08-23 15:00:56 +02:00
|
|
|
</td>
|
2018-08-23 12:18:02 +02:00
|
|
|
</tr>
|
|
|
|
</table>
|
2018-08-23 15:00:56 +02:00
|
|
|
<div class="well examples-depenses">
|
2018-08-23 12:18:02 +02:00
|
|
|
<strong>
|
2018-08-23 15:36:36 +02:00
|
|
|
Exemples de postes de dépenses à ajouter:
|
2018-08-23 12:18:02 +02:00
|
|
|
</strong>
|
2018-08-23 15:00:56 +02:00
|
|
|
{% endverbatim %}
|
|
|
|
{{ "
|
2018-08-23 12:18:02 +02:00
|
|
|
appartement
|
|
|
|
mutuelle
|
|
|
|
transport en commun
|
|
|
|
assurance voiture
|
|
|
|
assurance moto
|
|
|
|
trucs de loisirs divers
|
|
|
|
gaz
|
|
|
|
elec
|
|
|
|
internet
|
|
|
|
épargne
|
|
|
|
impots
|
|
|
|
cottisation URSSAF
|
|
|
|
resto au boulot
|
|
|
|
courses
|
|
|
|
serveur wouaibe
|
|
|
|
abonnement protonmail VPN
|
|
|
|
abonnement service audio, vidéo
|
|
|
|
carburant véhicule
|
|
|
|
donations
|
|
|
|
médecin
|
|
|
|
chat
|
|
|
|
chien
|
2018-08-23 15:00:56 +02:00
|
|
|
licorne"|nl2br }}
|
|
|
|
|
|
|
|
{% verbatim %}
|
|
|
|
|
2018-08-23 12:18:02 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-08-22 16:42:21 +02:00
|
|
|
</div>
|
2018-08-27 16:37:27 +02:00
|
|
|
<div class="col-sm-12 col-lg-5">
|
2018-08-22 16:42:21 +02:00
|
|
|
|
2018-08-23 15:00:56 +02:00
|
|
|
<h2>Simulation sur {{config.lines}} mois</h2>
|
2018-08-23 15:09:43 +02:00
|
|
|
<div class="well" ng-if="config.monthsBeforeNoMoney < config.lines">
|
|
|
|
Ce sera la dèche dans {{config.monthsBeforeNoMoney}} mois
|
|
|
|
</div>
|
2018-08-23 12:18:02 +02:00
|
|
|
<table>
|
|
|
|
<thead>
|
2018-08-23 15:00:56 +02:00
|
|
|
<tr >
|
|
|
|
<td class="padded" >
|
2018-08-23 12:18:02 +02:00
|
|
|
Month in the future
|
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="padded" >
|
2018-08-23 12:18:02 +02:00
|
|
|
date
|
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="padded" >
|
2018-08-23 12:18:02 +02:00
|
|
|
Dépenses
|
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="padded" >
|
2018-08-23 12:18:02 +02:00
|
|
|
Disponibilité
|
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
</trclass>
|
2018-08-23 12:18:02 +02:00
|
|
|
</thead>
|
|
|
|
<tbody>
|
2018-08-23 15:00:56 +02:00
|
|
|
<tr ng-repeat="line in previsionTable()" >
|
2018-08-23 12:18:02 +02:00
|
|
|
<td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<div ng-if="line.available > config.warningThershold"
|
|
|
|
class=" bgsuccess padded ">
|
2018-08-23 12:18:02 +02:00
|
|
|
{{ $index }}
|
2018-08-23 15:00:56 +02:00
|
|
|
</div>
|
|
|
|
<div ng-if="line.available > 0 && line.available < config.warningThershold"
|
|
|
|
class="bgwarning padded ">
|
|
|
|
{{ $index }} bientôt la dèche
|
|
|
|
</div>
|
|
|
|
<div ng-if="line.available < 0"
|
|
|
|
class="bgdanger padded ">
|
|
|
|
{{ $index }} DAMNED pu de pognon!
|
|
|
|
</div>
|
2018-08-23 12:18:02 +02:00
|
|
|
</td>
|
|
|
|
<td>
|
|
|
|
-
|
|
|
|
</td>
|
2018-08-23 12:24:02 +02:00
|
|
|
<td class="text-right ">
|
2018-08-22 17:10:01 +02:00
|
|
|
|
2018-08-23 12:18:02 +02:00
|
|
|
{{ line.expense }}
|
|
|
|
</td>
|
2018-08-23 15:00:56 +02:00
|
|
|
<td class="text-right"
|
|
|
|
ngClass="{'bgdanger' : line.available < 0 }">
|
|
|
|
|
|
|
|
<strong>
|
2018-08-22 16:42:21 +02:00
|
|
|
|
2018-08-23 15:00:56 +02:00
|
|
|
{{ line.available}}
|
|
|
|
</strong>
|
|
|
|
€
|
2018-08-23 12:18:02 +02:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-08-22 16:42:21 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-08-23 12:18:02 +02:00
|
|
|
{% endverbatim %}
|
|
|
|
{% endblock %}
|