remettre la notion de jour validé hors schedule et ajout notion de frais (fixes #76)

This commit is contained in:
2021-11-22 10:55:34 +01:00
parent cab4ee98f0
commit 02dc56c7c9
15 changed files with 664 additions and 5 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([["dropzone"],{MZys:function(e,n,o){"use strict";o.r(n);o("eeMe"),o("e8E5")}},[["MZys","runtime",3]]]);

View File

@@ -0,0 +1 @@
(window.webpackJsonp=window.webpackJsonp||[]).push([["fullcalendar"],{"hhX+":function(e,n,t){"use strict";t.r(n),function(e){t("DQNa"),t("07d7"),t("JfAA");var n,r=t("SZB9"),i=t("9mV6"),u=t.n(i),c=t("Gbwi"),o=t("iOEq");t("eV1F"),t("pDWP"),t("pDWP");var a=document.getElementById("sideuser").value;document.addEventListener("DOMContentLoaded",(function(){var t=document.getElementById("fullcalendar");n=new r.a(t,{plugins:[c.a,o.a],locale:u.a,weekNumbers:!0,selectable:!0,eventSources:[{id:1,url:"event/load/"+a}],eventLimit:8,eventDrop:function(e){e.revert()},eventRender:function(e){function n(n){return e.apply(this,arguments)}return n.toString=function(){return e.toString()},n}((function(e){eventRender(e)})),select:function(e){eventSelect(e)},eventClick:function(e){function n(n){return e.apply(this,arguments)}return n.toString=function(){return e.toString()},n}((function(e){eventClick(e)}))}),e.calendar=n,n.render()}))}.call(this,t("yLpj"))}},[["hhX+","runtime",2]]]);

View File

@@ -0,0 +1 @@
!function(e){function r(r){for(var n,l,i=r[0],f=r[1],a=r[2],c=0,s=[];c<i.length;c++)l=i[c],Object.prototype.hasOwnProperty.call(o,l)&&o[l]&&s.push(o[l][0]),o[l]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(p&&p(r);s.length;)s.shift()();return u.push.apply(u,a||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++){var f=t[i];0!==o[f]&&(n=!1)}n&&(u.splice(r--,1),e=l(l.s=t[0]))}return e}var n={},o={runtime:0},u=[];function l(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,l),t.l=!0,t.exports}l.m=e,l.c=n,l.d=function(e,r,t){l.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.t=function(e,r){if(1&r&&(e=l(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(l.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)l.d(t,n,function(r){return e[r]}.bind(null,n));return t},l.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(r,"a",r),r},l.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},l.p="/schedule/build/";var i=window.webpackJsonp=window.webpackJsonp||[],f=i.push.bind(i);i.push=r,i=i.slice();for(var a=0;a<i.length;a++)r(i[a]);var p=f;t()}([]);

View File

@@ -53,6 +53,12 @@ class Offer
*/
private $validate;
/**
* @ORM\Column(name="cost", type="decimal", scale=2, nullable=true)
*
*/
private $cost;
/**
* @ORM\Column(name="active", type="boolean")
*
@@ -192,5 +198,17 @@ class Offer
return $this;
}
public function getCost(): ?string
{
return $this->cost;
}
public function setCost(?string $cost): self
{
$this->cost = $cost;
return $this;
}
}

View File

@@ -63,6 +63,22 @@ class OfferType extends AbstractType
]
);
$builder->add('validate',
NumberType::class, [
"label" => "Nombre de jours validés hors planning",
//"html5" => true,
"scale" => 2
]
);
$builder->add('cost',
NumberType::class, [
"label" => "Autres Frais",
//"html5" => true,
"scale" => 2
]
);
$builder->add("active",
ChoiceType::class,[
"label" => "Actif",

View File

@@ -53,10 +53,13 @@
<div class="card-body">
{{ form_row(form.name) }}
{{ form_row(form.ref) }}
{{ form_row(form.project) }}
{{ form_row(form.quantity) }}
{{ form_row(form.pu) }}
{{ form_row(form.validate) }}
{{ form_row(form.cost) }}
{{ form_row(form.active) }}
{{ form_row(form.project) }}
</div>
</div>
{{ form_end(form) }}

View File

@@ -83,11 +83,14 @@
<th width="70px" class="no-sort no-print">Action</th>
<th width="200px">Client</th>
<th>Projet</th>
<th width="250px">Proposition</th>
<th width="150px">Ref</th>
<th width="100px" class="text-center no-string">Qt</th>
<th width="100px" class="text-center no-string">PU</th>
<th width="100px">Proposition</th>
<th width="100px">Ref</th>
<th width="70px" class="text-center no-string">Validé hors</th>
<th width="70px" class="text-center no-string">Frais</th>
<th width="70px" class="text-center no-string">Qt</th>
<th width="70px" class="text-center no-string">PU</th>
<th width="100px" class="text-center no-string">Total</th>
</tr>
</thead>
<tbody>
@@ -107,6 +110,9 @@
{% if offer.typedolibarr == "propal" %}<td><a href="https://doli.cadoles.com/dolibarr/comm/propal/card.php?id={{offer.iddolibarr}}" target="_blank">{{offer.ref}}</td>{% endif %}
{% endif %}
<td>{{offer.ref}}</td>
<td class="text-right">{{offer.validate|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{offer.cost|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{offer.quantity|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{offer.pu|number_format(2, '.', ' ')}}</td>
<td class="text-right">{{offer.total|number_format(2, '.', ' ')}}</td>