Customers
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 27/12/2017
|
||||
* Time: 17:45
|
||||
*/
|
||||
|
||||
class RemoveCustomer {
|
||||
|
||||
private $customerID;
|
||||
private $allowDelete = TRUE;
|
||||
|
||||
public function __construct( $userID )
|
||||
{
|
||||
$this->setCustomerID( $userID );
|
||||
|
||||
$this->handle();
|
||||
}
|
||||
|
||||
public function getAllowDelete()
|
||||
{
|
||||
return $this->allowDelete;
|
||||
}
|
||||
|
||||
private function setCustomerID( $customerID )
|
||||
{
|
||||
$this->customerID = $customerID;
|
||||
}
|
||||
|
||||
private function handle()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -17,10 +17,6 @@ class CustomerValidation extends BaseValidation {
|
||||
'validations' => 'required|alphaNumericSpaces',
|
||||
'fieldname' => 'name'
|
||||
],
|
||||
'contactperson' => [
|
||||
'validations' => 'required|alphaNumericSpaces',
|
||||
'fieldname' => 'contactperson'
|
||||
],
|
||||
'email' => [
|
||||
'validations' => 'email',
|
||||
'fieldname' => 'email'
|
||||
|
||||
@@ -16,10 +16,7 @@
|
||||
<?php $this->load->view( 'partials/_css' ); ?>
|
||||
|
||||
<?php $this->load->view( 'partials/_fonts' ); ?>
|
||||
<script src="js/vendor/breakpoints/breakpoints.js"></script>
|
||||
<script>
|
||||
Breakpoints();
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body id="dbois-app">
|
||||
<!-- ko stopBinding: true -->
|
||||
|
||||
@@ -0,0 +1,158 @@
|
||||
<div class="modal modal-fade-in-scale-up modal-primary" tabindex="-1" id="customer-modal">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">toevoegen / wijzigen opdrachtgever</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
<div class="col-xl-12">
|
||||
<div role="form" class="form-horizontal">
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
naam
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-institution"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="voornaam"
|
||||
class="form-control"
|
||||
data-bind="textInput:name,
|
||||
css:{'is-invalid':nameInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: nameInvalid() ? 'block' : 'none'}">
|
||||
voer een naam in
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
adres
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="adres"
|
||||
class="form-control"
|
||||
data-bind="textInput:address">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
postcode
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="postcode"
|
||||
class="form-control"
|
||||
data-bind="textInput:postcode">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
plaats
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-address-book-o"></i>
|
||||
</span>
|
||||
<input type="text"
|
||||
placeholder="plaats"
|
||||
class="form-control"
|
||||
data-bind="textInput:place">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
contactpersoon
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-user"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="contactpersoon"
|
||||
class="form-control"
|
||||
data-bind="textInput:contactperson">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
email
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-envelope"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="email"
|
||||
class="form-control"
|
||||
data-bind="textInput:email,
|
||||
css:{'is-invalid':emailInvalid}">
|
||||
</div>
|
||||
<small class="invalid-feedback"
|
||||
data-bind="style:{display: emailInvalid() ? 'block' : 'none'}">
|
||||
email ongeldig<span data-bind="text:emailInvalid"></span>
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
website
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<div class="input-group input-group-icon">
|
||||
<span class="input-group-addon">
|
||||
<i class="icon fa-link"></i>
|
||||
</span>
|
||||
<input type="email"
|
||||
placeholder="email"
|
||||
class="form-control"
|
||||
data-bind="textInput:website">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group row">
|
||||
<label class="col-xl-3 form-control-label">
|
||||
opmerkingen
|
||||
</label>
|
||||
<div class="col-xl-9">
|
||||
<textarea class="form-control" data-bind="textInput:remarks"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button"
|
||||
class="btn btn-success"
|
||||
data-bind="visible:formValid(), click:saveCustomer">opslaan
|
||||
</button>
|
||||
<button type="button" class="btn btn-warning" data-dismiss="modal">annuleren</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,7 +1,68 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* User: Theo Weijmer
|
||||
* Date: 29/12/2017
|
||||
* Time: 14:17
|
||||
*/
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-xl-8">
|
||||
<table class="table table-sm">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="table-tealish-header">naam</th>
|
||||
<th class="table-tealish-header">adres</th>
|
||||
<th class="table-tealish-header">plaats</th>
|
||||
<th class="table-tealish-header">contactpersoon</th>
|
||||
<th class="table-tealish-header">email</th>
|
||||
<th class="table-tealish-header"> </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody data-bind="foreach:customers">
|
||||
<tr>
|
||||
<td><span data-bind="text:name"></span></td>
|
||||
<td><span data-bind="text:address"></span></td>
|
||||
<td><span data-bind="text:postcode + ' ' + place"></span></td>
|
||||
<td><span data-bind="text:contactperson"</td>
|
||||
<td><span data-bind="text:email"></span></td>
|
||||
<td>
|
||||
<i class="icon fa-edit pointer" title="wijzig" data-bind="click:$root.editCustomer"></i>
|
||||
<!-- ko if:archive == 'F' -->
|
||||
<i class="icon fa-archive pointer" title="archiveer"
|
||||
data-bind="click:$root.archiveCustomer"></i>
|
||||
<!-- /ko -->
|
||||
<!-- ko if:archive != 'F' -->
|
||||
<i class="icon fa-minus-circle redish pointer" title="archiveer"
|
||||
data-bind="click:$root.archiveCustomer"></i>
|
||||
<!-- /ko -->
|
||||
<i class="icon fa-trash redish pointer" title="verwijder"
|
||||
data-bind="click:$root.removeCustomer"></i>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="4" class="">
|
||||
<button class="btn btn-primary btn-round btn-sm" data-bind="click:newCustomer">
|
||||
nieuwe opdrachtgever
|
||||
</button>
|
||||
</td>
|
||||
<td colspan="2" class="">
|
||||
<div class="row form-horizontal">
|
||||
<label class="col-md-4 form-control-label">archief</label>
|
||||
<div class="col-md-8">
|
||||
<div class="onoffswitch" data-bind="click:toggleArchive">
|
||||
<input type="checkbox"
|
||||
name="onoffswitch"
|
||||
class="onoffswitch-checkbox"
|
||||
data-bind="checked:archive"
|
||||
id="myonoffswitch">
|
||||
<label class="onoffswitch-label" for="myonoffswitch">
|
||||
<span class="onoffswitch-inner"></span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,50 +1,49 @@
|
||||
|
||||
<!-- Core -->
|
||||
<script src="js/vendor/babel-external-helpers/babel-external-helpers.js"></script>
|
||||
<!--<script src="js/vendor/babel-external-helpers/babel-external-helpers.js"></script>-->
|
||||
<script src="js/vendor/jquery/jquery.js"></script>
|
||||
<script src="js/vendor/popper-js/umd/popper.min.js"></script>
|
||||
<script src="js/vendor/bootstrap/bootstrap.js"></script>
|
||||
<script src="js/vendor/animsition/animsition.js"></script>
|
||||
<script src="js/vendor/mousewheel/jquery.mousewheel.js"></script>
|
||||
<script src="js/vendor/asscrollbar/jquery-asScrollbar.js"></script>
|
||||
<script src="js/vendor/asscrollable/jquery-asScrollable.js"></script>
|
||||
<script src="js/vendor/ashoverscroll/jquery-asHoverScroll.js"></script>
|
||||
<!--<script src="js/vendor/mousewheel/jquery.mousewheel.js"></script>-->
|
||||
<!--<script src="js/vendor/asscrollbar/jquery-asScrollbar.js"></script>-->
|
||||
<!--<script src="js/vendor/asscrollable/jquery-asScrollable.js"></script>-->
|
||||
<!--<script src="js/vendor/ashoverscroll/jquery-asHoverScroll.js"></script>-->
|
||||
|
||||
<!-- Plugins -->
|
||||
<script src="js/vendor/intro-js/intro.js"></script>
|
||||
<script src="js/vendor/screenfull/screenfull.js"></script>
|
||||
<script src="js/vendor/slidepanel/jquery-slidePanel.js"></script>
|
||||
<script src="js/vendor/skycons/skycons.js"></script>
|
||||
<script src="js/vendor/chartist/chartist.min.js"></script>
|
||||
<script src="js/vendor/chartist-plugin-tooltip/chartist-plugin-tooltip.js"></script>
|
||||
<script src="js/vendor/aspieprogress/jquery-asPieProgress.min.js"></script>
|
||||
<script src="js/vendor/jvectormap/jquery-jvectormap.min.js"></script>
|
||||
<script src="js/vendor/jvectormap/maps/jquery-jvectormap-au-mill-en.js"></script>
|
||||
<script src="js/vendor/matchheight/jquery.matchHeight-min.js"></script>
|
||||
<!--<script src="js/vendor/intro-js/intro.js"></script>-->
|
||||
<!--<script src="js/vendor/screenfull/screenfull.js"></script>-->
|
||||
<!--<script src="js/vendor/slidepanel/jquery-slidePanel.js"></script>-->
|
||||
<!--<script src="js/vendor/skycons/skycons.js"></script>-->
|
||||
<!--<script src="js/vendor/chartist/chartist.min.js"></script>-->
|
||||
<!--<script src="js/vendor/chartist-plugin-tooltip/chartist-plugin-tooltip.js"></script>-->
|
||||
<!--<script src="js/vendor/aspieprogress/jquery-asPieProgress.min.js"></script>-->
|
||||
<!--<script src="js/vendor/jvectormap/jquery-jvectormap.min.js"></script>-->
|
||||
<!--<script src="js/vendor/jvectormap/maps/jquery-jvectormap-au-mill-en.js"></script>-->
|
||||
<!--<script src="js/vendor/matchheight/jquery.matchHeight-min.js"></script>-->
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="js/vendor/Component.js"></script>
|
||||
<script src="js/vendor/Plugin.js"></script>
|
||||
<script src="js/vendor/Base.js"></script>
|
||||
<script src="js/vendor/Config.js"></script>
|
||||
<!--<script src="js/vendor/Component.js"></script>-->
|
||||
<!--<script src="js/vendor/Plugin.js"></script>-->
|
||||
<!--<script src="js/vendor/Base.js"></script>-->
|
||||
<!--<script src="js/vendor/Config.js"></script>-->
|
||||
|
||||
<script src="js/vendor/Section/Menubar.js"></script>
|
||||
<script src="js/vendor/Section/GridMenu.js"></script>
|
||||
<script src="js/vendor/Section/Sidebar.js"></script>
|
||||
<script src="js/vendor/Section/PageAside.js"></script>
|
||||
<script src="js/vendor/Plugin/menu.js"></script>
|
||||
|
||||
<script src="js/vendor/colors.js"></script>
|
||||
<!--<script src="js/vendor/Section/Menubar.js"></script>-->
|
||||
<!--<script src="js/vendor/Section/GridMenu.js"></script>-->
|
||||
<!--<script src="js/vendor/Section/Sidebar.js"></script>-->
|
||||
<!--<script src="js/vendor/Section/PageAside.js"></script>-->
|
||||
<!--<script src="js/vendor/Plugin/menu.js"></script>-->
|
||||
<!---->
|
||||
<!--<script src="js/vendor/colors.js"></script>-->
|
||||
<!--<script src="../assets/js/config/tour.js"></script>-->
|
||||
<script>Config.set('assets', '../assets');</script>
|
||||
<!--<script>Config.set('assets', '../assets');</script>-->
|
||||
|
||||
<!-- Page -->
|
||||
<script src="js/vendor/Site.js"></script>
|
||||
<script src="js/vendor/Plugin/asscrollable.js"></script>
|
||||
<script src="js/vendor/Plugin/slidepanel.js"></script>
|
||||
<script src="js/vendor/Plugin/switchery.js"></script>
|
||||
<script src="js/vendor/Plugin/matchheight.js"></script>
|
||||
<script src="js/vendor/Plugin/jvectormap.js"></script>
|
||||
<!--<script src="js/vendor/Site.js"></script>-->
|
||||
<!--<script src="js/vendor/Plugin/asscrollable.js"></script>-->
|
||||
<!--<script src="js/vendor/Plugin/slidepanel.js"></script>-->
|
||||
<!--<script src="js/vendor/Plugin/matchheight.js"></script>-->
|
||||
<!--<script src="js/vendor/Plugin/jvectormap.js"></script>-->
|
||||
|
||||
<!-- DBOIS -->
|
||||
|
||||
@@ -56,9 +55,11 @@
|
||||
<script src="js/lib/modules/beheer/usersModule.js"></script>
|
||||
<script src="js/lib/modules/beheer/customersModule.js"></script>
|
||||
<script src="js/lib/modules/modals/userModal.js"></script>
|
||||
<script src="js/lib/modules/modals/customerModal.js"></script>
|
||||
|
||||
|
||||
<script src="js/lib/dataservices/pageDataservice.js"></script>
|
||||
<script src="js/lib/dataservices/userDataservice.js"></script>
|
||||
<script src="js/lib/dataservices/customerDataservice.js"></script>
|
||||
<script src="js/lib/dataservices/rolesDataservice.js"></script>
|
||||
<script src="js/lib/helpers.js"></script>
|
||||
@@ -1,7 +1,10 @@
|
||||
<?php
|
||||
|
||||
$this->load->view('modals/user_modal');
|
||||
$this->load->view('modals/customer_modal');
|
||||
|
||||
$this->load->view('specials/tellme_modal');
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
<a href="#"><?= $page->pagename ?></a>
|
||||
</li>
|
||||
<?php else: ?>
|
||||
<li class="site-menu-item has-sub">
|
||||
<li class="site-menu-item has-sub pointer">
|
||||
<a href="#"><?= $page->pagename ?></a>
|
||||
<ul class="site-menu-sub">
|
||||
<?php foreach ( $page->subpages as $subpage ): ?>
|
||||
<li data-bind="click:setPage.bind($data, '<?= $subpage->pageurl ?>')">
|
||||
<li class="pointer" data-bind="click:setPage.bind($data, '<?= $subpage->pageurl ?>')">
|
||||
<a><?= $subpage->pagename ?></a>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
|
||||
@@ -11,6 +11,15 @@
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
.site-menu-sub > li{
|
||||
margin-left:30px;
|
||||
padding-left:10px;
|
||||
}
|
||||
.site-menu-sub > li :hover{
|
||||
background-color:#463238;
|
||||
color:gold;
|
||||
}
|
||||
|
||||
/*********TABLES************/
|
||||
|
||||
.table-blueish-header{
|
||||
|
||||
@@ -5,16 +5,16 @@
|
||||
* Time: 14:19
|
||||
*/
|
||||
|
||||
dbo.customersInit = function (){
|
||||
dbo.customersInit = function () {
|
||||
|
||||
if ( dbo.customersModel !== undefined ) {
|
||||
|
||||
} else {
|
||||
dbo.customersModel = {
|
||||
|
||||
customers : ko.observableArray( [] ),
|
||||
customer : ko.observable(),
|
||||
archive: ko.observable( true ),
|
||||
customers: ko.observableArray( [] ),
|
||||
customer : ko.observable(),
|
||||
archive : ko.observable( false ),
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.customersModel;
|
||||
@@ -24,9 +24,8 @@ dbo.customersInit = function (){
|
||||
|
||||
newCustomer: function () {
|
||||
var vm = dbo.customersModel;
|
||||
|
||||
dbo.editCostomerModal.newEditCostumer( false, function () {
|
||||
vm.refreshCostumers();
|
||||
dbo.editCustomerModal.newEditCustomer( false, function () {
|
||||
vm.refreshCustomers();
|
||||
} );
|
||||
},
|
||||
|
||||
@@ -35,15 +34,15 @@ dbo.customersInit = function (){
|
||||
|
||||
vm.archive( !vm.archive() );
|
||||
|
||||
vm.refreshCostumers();
|
||||
vm.refreshCustomers();
|
||||
},
|
||||
|
||||
editCostumer: function () {
|
||||
editCustomer: function () {
|
||||
var customer = this;
|
||||
var vm = dbo.customersModel;
|
||||
|
||||
dbo.editCostumerModal.newEditCostumer( customer, function () {
|
||||
vm.refreshCostumers();
|
||||
dbo.editCustomerModal.newEditCustomer( customer, function () {
|
||||
vm.refreshCustomers();
|
||||
} );
|
||||
},
|
||||
|
||||
@@ -53,12 +52,12 @@ dbo.customersInit = function (){
|
||||
|
||||
var status = self.archive == 'F' ? 'T' : 'F';
|
||||
|
||||
dbo.customerDataService.archiveCostumer( self.id, status, function () {
|
||||
vm.refreshCostumers();
|
||||
dbo.customerDataService.archiveCustomer( self.id, status, function () {
|
||||
vm.refreshCustomers();
|
||||
} );
|
||||
},
|
||||
|
||||
removeCostumer: function () {
|
||||
removeCustomer: function () {
|
||||
var vm = dbo.customersModel;
|
||||
var self = this;
|
||||
|
||||
@@ -72,14 +71,14 @@ dbo.customersInit = function (){
|
||||
}, function ( response ) {
|
||||
console.log( response );
|
||||
if ( response ) {
|
||||
dbo.customerDataService.removeUser( self.id, function ( data ) {
|
||||
dbo.customerDataService.removeCustomer( self.id, function ( data ) {
|
||||
if ( data.result ) {
|
||||
tellMe( {
|
||||
title : 'opdrachtgever verwijderd',
|
||||
message : 'de opdrachtgever is succesvol verwijderd',
|
||||
modalClass: 'modal-success'
|
||||
}, function () {
|
||||
vm.refreshCostumers();
|
||||
vm.refreshCustomers();
|
||||
} );
|
||||
} else {
|
||||
tellMe( {
|
||||
|
||||
@@ -16,7 +16,7 @@ dbo.usersInit = function () {
|
||||
users : ko.observableArray( [] ),
|
||||
user : ko.observable(),
|
||||
roles : ko.observableArray( [] ),
|
||||
archive: ko.observable( true ),
|
||||
archive: ko.observable( false ),
|
||||
|
||||
init: function () {
|
||||
var vm = dbo.usersModel;
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
/**
|
||||
* Created by Pensare Software.
|
||||
* Customer: Theo Weijmer
|
||||
* Date: 25/12/2017
|
||||
* Time: 17:32
|
||||
*/
|
||||
|
||||
$( function () {
|
||||
dbo.editCustomerModal = {
|
||||
|
||||
id : null,
|
||||
name : ko.observable(),
|
||||
address : ko.observable(),
|
||||
postcode : ko.observable(),
|
||||
place : ko.observable(),
|
||||
contactperson: ko.observable(),
|
||||
email : ko.observable(),
|
||||
website : ko.observable(),
|
||||
remarks : ko.observable(),
|
||||
callback : null,
|
||||
|
||||
init: function () {
|
||||
|
||||
},
|
||||
|
||||
newEditCustomer: function ( customer, callback ) {
|
||||
var vm = dbo.editCustomerModal;
|
||||
vm.callback = typeof(callback) == 'function' ? callback : null;
|
||||
|
||||
vm.showCustomerModal();
|
||||
|
||||
vm.setCustomer( customer );
|
||||
},
|
||||
|
||||
saveCustomer: function () {
|
||||
var vm = dbo.editCustomerModal;
|
||||
|
||||
if ( vm.formValid == false ) return;
|
||||
|
||||
var submitDATA = {
|
||||
id : vm.id,
|
||||
name : vm.name(),
|
||||
address : vm.address(),
|
||||
postcode : vm.postcode(),
|
||||
place : vm.place(),
|
||||
contactperson: vm.contactperson(),
|
||||
email : vm.email(),
|
||||
website : vm.website(),
|
||||
remarks : vm.remarks(),
|
||||
}
|
||||
|
||||
dbo.customerDataService.saveCustomer( submitDATA, function ( data ) {
|
||||
if ( data.success ) {
|
||||
tellMe( {
|
||||
title : 'opdrachtgever aangemaakt',
|
||||
message : 'opdrachtgever is succesvol opgeslagen',
|
||||
modalClass: 'modal-success'
|
||||
}, function () {
|
||||
vm.hideCustomerModal();
|
||||
|
||||
if ( typeof(vm.callback) == 'function' ) vm.callback();
|
||||
} );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
var errorMessage = '<ul>';
|
||||
$.each( data.messages, function ( i, p ) {
|
||||
if ( p[0] ) {
|
||||
errorMessage += '<li>' + i + ': ' + p[0] + '</li>';
|
||||
}
|
||||
} );
|
||||
errorMessage += '</ul>';
|
||||
tellMe( {
|
||||
title : 'fout aanmaken opdrachtgever',
|
||||
message : errorMessage,
|
||||
modalClass: 'modal-danger'
|
||||
} );
|
||||
} );
|
||||
},
|
||||
|
||||
setCustomer: function ( customer ) {
|
||||
var vm = dbo.editCustomerModal;
|
||||
|
||||
vm.id = customer.id;
|
||||
vm.name( customer.name || '' );
|
||||
vm.address( customer.address || '' );
|
||||
vm.postcode( customer.postcode || '' );
|
||||
vm.place( customer.place || '' );
|
||||
vm.contactperson( customer.contactperson || '' );
|
||||
vm.email( customer.email || '' );
|
||||
vm.website( customer.website || '' );
|
||||
vm.remarks( customer.remarks || '' );
|
||||
},
|
||||
|
||||
showCustomerModal: function () {
|
||||
$( "#customer-modal" ).modal( 'show' );
|
||||
},
|
||||
|
||||
hideCustomerModal: function () {
|
||||
$( "#customer-modal" ).modal( 'hide' );
|
||||
}
|
||||
};
|
||||
|
||||
dbo.editCustomerModal.init();
|
||||
|
||||
dbo.editCustomerModal.nameInvalid = ko.pureComputed( function () {
|
||||
if ( !this.name() ) return true;
|
||||
|
||||
if ( this.name().length < 2 ) return true;
|
||||
|
||||
return false;
|
||||
}, dbo.editCustomerModal );
|
||||
|
||||
dbo.editCustomerModal.emailInvalid = ko.pureComputed( function () {
|
||||
if ( !this.email() ) return false;
|
||||
|
||||
return !dbo.helpers.validateEmail( this.email() );
|
||||
}, dbo.editCustomerModal );
|
||||
|
||||
dbo.editCustomerModal.formValid = ko.pureComputed( function () {
|
||||
if ( this.nameInvalid() ) return false;
|
||||
if ( this.emailInvalid() ) return false;
|
||||
|
||||
return true;
|
||||
}, dbo.editCustomerModal )
|
||||
|
||||
ko.applyBindings( dbo.editCustomerModal, document.getElementById( 'customer-modal' ) );
|
||||
|
||||
} );
|
||||
Reference in New Issue
Block a user