This commit is contained in:
2018-01-31 11:10:17 +01:00
parent f3bf0c9f80
commit 05c165c9ed
27 changed files with 724 additions and 265 deletions
@@ -49,7 +49,9 @@ class OffersController extends MY_Controller {
$offerID = Offer::saveOffer( $offerID, $offer );
$this->json( ['success' => TRUE, 'offerID' => $offerID] );
$createProject = $this->checkCreateproject( $offerID );
$this->json( ['success' => TRUE, 'offerID' => $offerID, 'createProject' => $createProject] );
}
public function archiveOffer( $offerID, $status )
@@ -68,4 +70,14 @@ class OffersController extends MY_Controller {
$this->json( ['result' => TRUE] );
}
private function checkCreateproject( $offerID )
{
$offer = Offer::find( $offerID );
if ( is_int( $offer->project_id ) ) return FALSE;
if ( is_null( $offer->accepteddate ) ) return FALSE;
return TRUE;
}
}
@@ -41,6 +41,14 @@ class ProjectsController extends MY_Controller {
$this->json( $project );
}
public function getAvailableEmployees( $projectID )
{
$availableEmployees =
Projectemployee::getAvailableEmployees( $projectID );
$this->json( $availableEmployees );
}
public function addProject()
{
$projectID = Project::createProject();
@@ -48,6 +56,30 @@ class ProjectsController extends MY_Controller {
$this->json( $projectID );
}
public function creatProjectFromOffer( $offerID )
{
$offer = Offer::find( $offerID );
$offernumber = $offer->offernumber;
$projectnumber = 'P' . substr( $offernumber, 1 );
$data = [
'projectnumber' => $projectnumber,
'projectleader_id' => $offer->offerleader_id,
'startdate' => $offer->accepteddate,
'customer_id' => $offer->customer_id
];
$project = Project::create( $data );
Offer::whereId( $offerID )->update( ['project_id' => $project->id] );
Projectemployee::create( ['project_id' => $project->id, 'user_id' => $offer->offerleader_id] );
$this->json( ['success' => TRUE, 'projectnumber' => $projectnumber] );
}
public function addProjectEmployee( $projectID )
{
Projectemployee::createProjectEmployee( $projectID );
@@ -94,6 +126,29 @@ class ProjectsController extends MY_Controller {
$this->json( ['success' => TRUE] );
}
public function saveInvoice()
{
$invoiceValidation = new InvoiceValidation();
if ( ! $invoiceValidation->getValidationResult() )
return $this->json( [
'success' => FALSE, 'messages' => $invoiceValidation->getErrorMessages()] );
$invoice = $this->input->post();
$invoiceID = $invoice['id'];
unset( $invoice['id'] );
$invoice['invoicedate'] = date2mysql( $invoice['invoicedate'] );
$invoice['forecastdate'] = date2mysql( $invoice['forecastdate'] );
$invoice['invoiceamount'] = str_replace( ',', '.', $invoice['invoiceamount'] );
$invoice['forecastamount'] = str_replace( ',', '.', $invoice['forecastamount'] );
$invoiceID = Invoice::saveInvoice( $invoiceID, $invoice );
$this->json( ['success' => TRUE, 'invoiceID' => $invoiceID] );
}
public function savePayment()
{
$paymentValidation = new PaymentValidation();
@@ -108,10 +163,31 @@ class ProjectsController extends MY_Controller {
unset( $payment['id'] );
$payment['paymentdate'] = date2mysql( $payment['paymentdate'] );
$payment['paymentamount'] = str_replace( ',', '.', $payment['paymentamount'] );
$paymentID = Payment::savePayment( $paymentID, $payment );
$this->json( ['success' => TRUE, 'paymentID'=> $paymentID ] );
$this->json( ['success' => TRUE, 'paymentID' => $paymentID] );
}
public function saveProjectcost()
{
$projectcostValidation = new ProjectcostValidation();
if ( ! $projectcostValidation->getValidationResult() )
return $this->json( [
'success' => FALSE, 'messages' => $projectcostValidation->getErrorMessages()] );
$projectcost = $this->input->post();
$projectcostID = $projectcost['id'];
unset( $projectcost['id'] );
$projectcost['date'] = date2mysql( $projectcost['date'] );
$projectcostID = Projectcost::saveProjectcost( $projectcostID, $projectcost );
$this->json( ['success' => TRUE, 'projectcostID' => $projectcostID] );
}
public function saveProjecthour()
@@ -131,7 +207,7 @@ class ProjectsController extends MY_Controller {
$paymentID = Projecthour::saveProjecthour( $projecthourID, $projecthour );
$this->json( ['success' => TRUE, 'projecthourID'=> $paymentID ] );
$this->json( ['success' => TRUE, 'projecthourID' => $paymentID] );
}
public function archiveProject( $projectID, $status )
@@ -0,0 +1,44 @@
<?php
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 10/07/16
* Time: 13:35
*/
require_once( APPPATH . 'libraries/validation/inputValidations/BaseValidation.php' );
class InvoiceValidation extends BaseValidation {
protected $validationFields = [
'project_id' => [
'validations' => 'required|integer',
'fieldname' => 'project'
],
'invoicedate' => [
'validations' => 'date',
'fieldname' => 'factuurdatum'
],
'forecastdate' => [
'validations' => 'date',
'fieldname' => 'prognosedatum'
],
'invoiceamount' => [
'validations' => 'number',
'fieldname' => 'factuurbedrag'
],
'forecastamount' => [
'validations' => 'number',
'fieldname' => 'prognosebedrag'
]
];
public function __construct()
{
parent::__construct();
$this->ci =& get_instance();
}
}
@@ -13,9 +13,9 @@ class PaymentValidation extends BaseValidation {
protected $validationFields = [
'offer_id' => [
'invoice_id' => [
'validations' => 'required|integer',
'fieldname' => 'offerte'
'fieldname' => 'factuur'
],
'paymentdate' => [
'validations' => 'date',
@@ -0,0 +1,40 @@
<?php
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 10/07/16
* Time: 13:35
*/
require_once( APPPATH . 'libraries/validation/inputValidations/BaseValidation.php' );
class ProjectcostValidation extends BaseValidation {
protected $validationFields = [
'project_id' => [
'validations' => 'required|integer',
'fieldname' => 'project'
],
'external_id' => [
'validations' => 'required|integer',
'fieldname' => 'externe'
],
'date' => [
'validations' => 'date',
'fieldname' => 'datum'
],
'costs' => [
'validations' => 'number',
'fieldname' => 'kosten'
]
];
public function __construct()
{
parent::__construct();
$this->ci =& get_instance();
}
}
@@ -32,5 +32,12 @@ class ProjectemployeeValidation extends BaseValidation {
parent::__construct();
$this->ci =& get_instance();
$this->handleSpecificValidations();
}
protected function handleSpecificValidations()
{
}
}
+17
View File
@@ -22,4 +22,21 @@ class Invoice extends BaseModel {
{
return $this->belongsTo( 'Vat' );
}
public static function saveInvoice( $invoiceID, $invoice )
{
$invoice = (array) $invoice;
if ( $invoiceID == 0 )
{
$invoice = Invoice::create( $invoice );
$invoiceID = $invoice['id'];
}
else
{
Invoice::whereId( $invoiceID )->update( $invoice );
}
return $invoiceID;
}
}
+4 -2
View File
@@ -52,13 +52,15 @@ class Offer extends BaseModel {
if ( $offerID == 0 )
{
$offer = Offer::create( $offer );
$offerID = $offer['id'];
}
else
{
$offer = Offer::whereId( $offerID )->update( $offer );
Offer::whereId( $offerID )->update( $offer );
}
return $offer['id'];
return $offerID;
}
public static function removeOffer( $offerID )
@@ -18,4 +18,21 @@ class Projectcost extends BaseModel {
return $this->belongsTo( 'External' );
}
public static function saveProjectcost( $projectID, $project )
{
$project = (array) $project;
if ( $projectID == 0 )
{
$project = Self::create( $project );
$projectID = $project['id'];
}
else
{
Self::whereId( $projectID )->update( $project );
}
return $projectID;
}
}
@@ -23,6 +23,19 @@ class Projectemployee extends BaseModel {
return $this->hasMany( 'Projecthour' );
}
public static function getAvailableEmployees( $projectID )
{
$currentEmployees = Self::whereProjectId( $projectID )
->lists( 'user_id' );
$availableEmployees = User::selectRaw( "id, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname" )
->whereNotIn( 'id', $currentEmployees )
->whereArchive( 'F' )
->get();
return $availableEmployees;
}
public static function createProjectEmployee( $projectID )
{
$projectemployee = Projectemployee::create( [
+2 -4
View File
@@ -54,7 +54,6 @@
<i class="icon fa-plus-square greenish pointer" data-bind="click:addUser"></i>
</div>
</div>
<!-- ko if : ! hasProject() -->
<div class="form-group row">
<label class="col-xl-3 form-control-label">
klant
@@ -67,7 +66,6 @@
optionsText:'name',
value:customer_id,
optionsCaption:'selecteer klant',
disable:hasProject,
event:{change:getCustomerProjects}"></select>
</div>
<small class="invalid-feedback"
@@ -92,7 +90,6 @@
value:project_id"></select>
</div>
</div>
<!-- /ko -->
<div class="form-group row">
</div>
@@ -184,7 +181,8 @@
placeholder="acceptatie datum"
class="form-control"
readonly
data-bind="datepicker:{dateFormat: 'dd-mm-yy' }, value:accepteddate, disable:rejectdate()">
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
value:accepteddate, disable:rejectdate()">
</div>
</div>
<div class="col-xl-1">
+3 -2
View File
@@ -13,7 +13,7 @@
<th class="table-cyanish-header">
datum
</th>
<th class="table-cyanish-header">
<th class="table-cyanish-header align-right">
uren
</th>
<th class="table-cyanish-header" width="40px">
@@ -23,7 +23,8 @@
<tbody data-bind="foreach:projecthours">
<tr>
<td>
<span data-bind="text:fullname, visible:! inEdit()"></span>
<span data-bind="text:dbo.helpers.findArrayElement('id', 'fullname', projectemployee_id(), $root.projectEmployees()),
visible:! inEdit()"></span>
<select class="form-control form-control-sm"
data-bind="options:$root.projectEmployees,
optionsText:'fullname',
@@ -14,13 +14,16 @@
<th class="table-cyanish-header">
factuurdatum
</th>
<th class="table-cyanish-header">
<th class="table-cyanish-header align-right">
bedrag (excl)
</th>
<th class="table-cyanish-header">
<th class="table-cyanish-header align-right">
bedrag (incl)
</th>
<th class="table-cyanish-header">
<th class="table-cyanish-header align-right">
openstaand
</th>
<th class="table-cyanish-header align-right">
prognose(excl)
</th>
<th class="table-cyanish-header">
@@ -67,10 +70,14 @@
data-bind="textInput:invoiceamount, visible:inEdit,
event:{change:$root.saveInvoice,keyup:$root.validateNumber.bind($data, 'invoiceamount')}"/>
</td>
<td>
<td class="align-right">
<i class="icon fa-euro"></i>
<span data-bind="text:inclBtw"></span>
</td>
<td class="align-right">
<i class="icon fa-euro"></i>
<span data-bind="text:outstanding"></span>
</td>
<td class="align-right">
<span data-bind=" visible: ! inEdit()">
<i class="icon fa-euro"></i>
@@ -125,6 +132,7 @@
</th>
<th class="table-cyanish-header-light">
</th>
<th width="50%">&nbsp;</th>
</thead>
<tbody data-bind="foreach:payments">
<tr>
@@ -147,26 +155,30 @@
class="form-control form-control-sm align-right"
paceholder="bedrag"
data-bind="textInput:paymentamount, visible:inEdit,
event:{change:$root.saveInvoice,
event:{change:$root.savePayment,
keyup:$root.validateNumber.bind($data, 'paymentamount')}"/>
</td>
<td>
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editPayment"></i>
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editPayment.bind($data, $parents[0])"></i>
<i class="icon fa-trash redish pointer" title="verwijder"
data-bind="click:$root.removePayment"></i>
</td>
</tr>
</tbody>
<tfoot>
<td colspan="4">
<button class="btn btn-primary btn-round btn-sm" data-bind="click:$root.newPayment">
<td></td>
<td colspan="3">
<a href="#" data-bind="click:$root.newPayment">
nieuwe betaling
</button>
</a>
</td>
</tfoot>
</table>
</td>
</tr>
<tr>
<th colspan="10" class="table-cyanish-header"></th>
</tr>
</tbody>
<tfoot>
<tr>
@@ -26,7 +26,8 @@
<tbody data-bind="foreach:projectcosts">
<tr>
<td>
<span data-bind="text:contactperson, visible:! inEdit()"></span>
<span data-bind="text:dbo.helpers.findArrayElement('id', 'contactperson', external_id(), $root.externals()),
visible:! inEdit()"></span>
<select class="form-control form-control-sm"
data-bind="options:$root.externals,
optionsText:'contactperson',
@@ -68,7 +69,7 @@
event:{change:$root.saveProjectcosts,keyup:$root.validateNumber.bind($data, 'costs')}"/>
</td>
<td>
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editProjecthour"></i>
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editProjectcosts"></i>
<i class="icon fa-trash redish pointer" title="verwijder"
data-bind="click:$root.removeProjecthour"></i>
</td>
@@ -0,0 +1,87 @@
<div class="row" form-inline>
<div class="col-md-3">
<div class="form-group row">
<label class="col-md-3 col-form-label">klant</label>
<div class="col-md-9">
<select class="form-control form-control-sm"
data-bind="options:customers,
optionsText:'name',
optionsValue: 'id',
value:customerID,
disable:offers().length > 0,
optionsCaption:'selecteer klant',
event:{change:saveProject},
css:{'is-invalid': ! customerID()}"></select>
<small class="invalid-feedback"
data-bind="style:{display: ! customerID() ? 'block' : 'none'}">
selecteer een klant
</small>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group row">
<label class="col-md-5 col-form-label">projectleider</label>
<div class="col-md-7">
<select class="form-control form-control-sm"
data-bind="options:users,
optionsText:'fullname',
optionsValue:'id',
value:projectleaderID,
optionsCaption:'projectleider',
event:{change:saveProject}">
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group row">
<label class="col-md-5 col-form-label">begin project</label>
<div class="col-md-7">
<div class="input-group input-group-icon">
<span class="input-group-addon">
<i class="icon fa-calendar"></i>
</span>
<input type="text"
placeholder="start project"
class="form-control form-control-sm"
readonly
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
value:startdate,
event:{change:saveProject}">
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group row">
<label class="col-md-5 col-form-label">eind project</label>
<div class="col-md-7">
<div class="input-group input-group-icon">
<span class="input-group-addon">
<i class="icon fa-calendar"></i>
</span>
<input type="text"
placeholder="eind project"
class="form-control form-control-sm"
readonly
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
value:enddate,
event:{change:saveProject}">
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="graph-holder">
<canvas id="hours-vs-budget" height="300"></canvas>
</div>
</div>
<div class="col-md-4">
<div class="graph-holder">
<canvas id="invoice-vs-payed" height="300"></canvas>
</div>
</div>
</div>
@@ -16,12 +16,6 @@
<th class="table-cyanish-header">
budget
</th>
<th class="table-cyanish-header">
start
</th>
<th class="table-cyanish-header">
eind
</th>
<th class="table-cyanish-header" width="40px">
&nbsp;&nbsp;
</th>
@@ -29,7 +23,8 @@
<tbody data-bind="foreach:projectEmployees">
<tr>
<td>
<span data-bind="text:fullname, visible: ! inEdit()"></span>
<span data-bind="text:dbo.helpers.findArrayElement('id', 'fullname', employeeID(), $root.users()),
visible: ! inEdit()"></span>
<select class="form-control form-control-sm"
data-bind="
options:$root.users,
@@ -59,23 +54,6 @@
data-bind="textInput:budget, visible:inEdit,
event:{change:$root.saveProjectemployee,keyup:$root.validateNumber.bind($data, 'budget')}"/>
</td>
<td>
<span data-bind="text:startdate, visible: ! inEdit()"></span>
<input type="text"
class="form-control form-control-sm"
placeholder="start"
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
value:startdate, visible:inEdit,
event:{change:$root.saveProjectemployee}"/>
</td>
<td>
<span data-bind="visible: ! inEdit()"></span>
<input type="text"
class="form-control form-control-sm"
placeholder=""
data-bind="visible:inEdit,
event:{change:$root.saveProjectemployee}"/>
</td>
<td>
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editProjectemployee"></i>
<i class="icon fa-trash redish pointer" title="verwijder"
@@ -37,19 +37,19 @@
<td>
<span data-bind="text:other_revenue"></span>
</td>
<td>
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editOffer"></i>
<i class="icon fa-trash redish pointer" title="verwijder"
data-bind="click:$root.removeOffer"></i>
</td>
<!-- <td>-->
<!-- <i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editOffer"></i>-->
<!-- <i class="icon fa-trash redish pointer" title="verwijder"-->
<!-- data-bind="click:$root.removeOffer"></i>-->
<!-- </td>-->
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="5">
<button class="btn btn-primary btn-round btn-sm" data-bind="click:newOffer">
nieuwe offerte
</button>
<!-- <button class="btn btn-primary btn-round btn-sm" data-bind="click:newOffer">-->
<!-- nieuwe offerte-->
<!-- </button>-->
</td>
</tr>
</tfoot>
+4 -78
View File
@@ -43,93 +43,19 @@
</ul>
<div class="tab-content">
<div class="tab-pane animation-slide-top active" id="dashboard">
<div class="row" form-inline>
<div class="col-md-3">
<div class="form-group row">
<label class="col-md-3 col-form-label">klant</label>
<div class="col-md-9">
<select class="form-control form-control-sm"
data-bind="options:customers,
optionsText:'name',
optionsValue: 'id',
value:customerID,
disable:offers().length > 0,
optionsCaption:'selecteer klant',
event:{change:saveProject},
css:{'is-invalid': ! customerID()}"></select>
<small class="invalid-feedback"
data-bind="style:{display: ! customerID() ? 'block' : 'none'}">
selecteer een klant
</small>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group row">
<label class="col-md-5 col-form-label">projectleider</label>
<div class="col-md-7">
<select class="form-control form-control-sm"
data-bind="options:users,
optionsText:'fullname',
optionsValue:'id',
value:projectleaderID,
optionsCaption:'projectleider',
event:{change:saveProject}">
</select>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group row">
<label class="col-md-5 col-form-label">begin project</label>
<div class="col-md-7">
<div class="input-group input-group-icon">
<span class="input-group-addon">
<i class="icon fa-calendar"></i>
</span>
<input type="text"
placeholder="start project"
class="form-control form-control-sm"
readonly
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
value:startdate,
event:{change:saveProject}">
</div>
</div>
</div>
</div>
<div class="col-md-3">
<div class="form-group row">
<label class="col-md-5 col-form-label">eind project</label>
<div class="col-md-7">
<div class="input-group input-group-icon">
<span class="input-group-addon">
<i class="icon fa-calendar"></i>
</span>
<input type="text"
placeholder="eind project"
class="form-control form-control-sm"
readonly
data-bind="datepicker:{dateFormat: 'dd-mm-yy' },
value:enddate,
event:{change:saveProject}">
</div>
</div>
</div>
</div>
</div>
<?php $this->load->view('modals/partials/_projectdashboard'); ?>
</div>
<div class="tab-pane animation-slide-top" id="financial">
<div class="row" data-bind="fadeVisible:customerID()">
<div class="col-md-7">
<div class="col-md-6">
<?php $this->load->view( 'modals/partials/_projectoffers' ); ?>
</div>
<div class="col-md-5">
<div class="col-md-6">
<?php $this->load->view( 'modals/partials/_projectcosts' ); ?>
</div>
</div>
<div class="row">
<div class="col-md-9">
<div class="col-md-12">
<?php $this->load->view( 'modals/partials/_invoices' ); ?>
</div>
</div>
+22 -19
View File
@@ -1,4 +1,3 @@
<!-- Core -->
<!--<script src="js/vendor/babel-external-helpers/babel-external-helpers.js"></script>-->
<script src="js/vendor/jquery/jquery.js"></script>
@@ -11,8 +10,7 @@
<script src="js/vendor/froala/js/froala_editor.min.js"></script>
<script src="js/vendor/froala/js/plugins/knockout-froala.js"></script>
<script src="js/vendor/Chart.js"></script>
<!--<script src="js/vendor/mousewheel/jquery.mousewheel.js"></script>-->
@@ -58,28 +56,28 @@
<!-- DBOIS -->
<script src="js/lib/main.js?version=<?=$this->version?>"></script>
<script src="js/lib/modules/specials/tellmeModule.js?version=<?=$this->version?>"></script>
<script src="js/lib/main.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/specials/tellmeModule.js?version=<?= $this->version ?>"></script>
<!-- ***********MODULES************* -->
<script src="js/lib/modules/menuModule.js?version=<?=$this->version?>"></script>
<script src="js/lib/modules/beheer/usersModule.js?version=<?=$this->version?>"></script>
<script src="js/lib/modules/beheer/customersModule.js?version=<?=$this->version?>"></script>
<script src="js/lib/modules/beheer/externalsModule.js?version=<?=$this->version?>"></script>
<script src="js/lib/modules/projects/offersModule.js?version=<?=$this->version?>"></script>
<script src="js/lib/modules/projects/projectsModule.js?version=<?=$this->version?>"></script>
<script src="js/lib/modules/menuModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/beheer/usersModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/beheer/customersModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/beheer/externalsModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/projects/offersModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/projects/projectsModule.js?version=<?= $this->version ?>"></script>
<!-- ***********MODALS************* -->
<script src="js/lib/modals/userModal.js?version=<?=$this->version?>"></script>
<script src="js/lib/modals/customerModal.js?version=<?=$this->version?>"></script>
<script src="js/lib/modals/externalModal.js?version=<?=$this->version?>"></script>
<script src="js/lib/modals/offerModal.js?version=<?=$this->version?>"></script>
<script src="js/lib/modals/projectModal.js?version=<?=$this->version?>"></script>
<script src="js/lib/modals/commentModal.js?version=<?=$this->version?>"></script>
<script src="js/lib/modals/userModal.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modals/customerModal.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modals/externalModal.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modals/offerModal.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modals/projectModal.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modals/commentModal.js?version=<?= $this->version ?>"></script>
<!-- ***********MODALS************* -->
<script src="js/lib/services/offersService.js?version=<?=$this->version?>"></script>
<script src="js/lib/services/offersService.js?version=<?= $this->version ?>"></script>
<!-- ***********DATASERVICES************* -->
@@ -93,4 +91,9 @@
<script src="js/lib/dataservices/documentsDataservice.js"></script>
<script src="js/lib/dataservices/projectsDataservice.js"></script>
<script src="js/lib/dataservices/vatDataservice.js"></script>
<script src="js/lib/helpers.js"></script>
<script src="js/lib/services/chartService.js"></script>
<script src="js/lib/helpers.js"></script>