Commit 5e0bfdd6 authored by Evren Kutar's avatar Evren Kutar

date field validation bug fix

parent bbba9179
...@@ -1636,3 +1636,6 @@ table.dataTable thead .sorting:after { ...@@ -1636,3 +1636,6 @@ table.dataTable thead .sorting:after {
} }
/* end page transitions */ /* end page transitions */
.movetobottom {
margin-right: 10px !important;
}
\ No newline at end of file
...@@ -34,6 +34,7 @@ var app = angular.module( ...@@ -34,6 +34,7 @@ var app = angular.module(
*/ */
constant("RESTURL", (function () { constant("RESTURL", (function () {
// todo: below backendurl definition is for development purpose and will be deleted // todo: below backendurl definition is for development purpose and will be deleted
//var subdomain = ;
var backendurl = "http://api.ulakbus.net/"; var backendurl = "http://api.ulakbus.net/";
if (document.cookie.indexOf("backendurl") > -1) { if (document.cookie.indexOf("backendurl") > -1) {
var cookiearray = document.cookie.split(';'); var cookiearray = document.cookie.split(';');
......
...@@ -38,9 +38,10 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt ...@@ -38,9 +38,10 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt
} }
$scope.onSubmit = function (form) { $scope.onSubmit = function (form) {
$scope.$broadcast('schemaFormValidate'); //$scope.$broadcast('schemaFormValidate');
if (form.$valid) { debugger;
//if (form.$valid) {
Generator.submit($scope) Generator.submit($scope)
.success(function (data) { .success(function (data) {
...@@ -48,7 +49,7 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt ...@@ -48,7 +49,7 @@ crud.controller('CRUDAddEditCtrl', function ($scope, $rootScope, $location, $htt
.error(function (data) { .error(function (data) {
$scope.message = data.title; $scope.message = data.title;
}); });
} //}
}; };
......
<h1>{{ schema.title }}</h1> <div class="container">
<form id="formgenerated" name="formgenerated" sf-schema="schema" sf-form="form" sf-model="model" ng-submit="onSubmit(formgenerated)"></form> <h1>{{ schema.title }}</h1>
<div ng-repeat="node in Node"> <form id="formgenerated" name="formgenerated" sf-schema="schema" sf-form="form" sf-model="model"
<h3>{{ node.title }} ng-submit="onSubmit(formgenerated)"></form>
<div ng-repeat="node in Node">
<h3>{{ node.title }}
<span ng-if="node.lengthModels < 1"> <span ng-if="node.lengthModels < 1">
<a href="javascript:void(0);" modal-for-nodes="{{node.schema.model_name}},Node"> <a href="javascript:void(0);" modal-for-nodes="{{node.schema.model_name}},Node">
<i class="fa fa-plus-circle fa-fw"></i> <i class="fa fa-plus-circle fa-fw"></i>
</a> </a>
</span> </span>
</h3> </h3>
<div class="node-table">
<ng-include src="'shared/templates/nodeTable.html'"></ng-include> <div class="node-table">
<ng-include src="'shared/templates/nodeTable.html'"></ng-include>
</div>
<hr>
</div> </div>
<hr> <div ng-repeat="node in ListNode">
</div> <h3>{{ node.title }}
<div ng-repeat="node in ListNode">
<h3>{{ node.title }}
<span> <span>
<a href="javascript:void(0);" modal-for-nodes="{{node.schema.model_name}},ListNode,add"> <a href="javascript:void(0);" modal-for-nodes="{{node.schema.model_name}},ListNode,add">
<i class="fa fa-plus-circle fa-fw"></i> <i class="fa fa-plus-circle fa-fw"></i>
</a> </a>
</span> </span>
</h3> </h3>
<div class="list-node-table">
<ng-include src="'shared/templates/nodeTable.html'"></ng-include> <div class="list-node-table">
<ng-include src="'shared/templates/nodeTable.html'"></ng-include>
</div>
<hr>
</div> </div>
<hr>
</div>
<button id="submitbutton" type="button" class="btn btn-primary" ng-click="onSubmit(formgenerated)">Kaydet</button> <div class="buttons-on-bottom"></div>
<!-- <button type="button" class="btn btn-warning">Düzenle</button> todo: make it conditional -->
<!-- <button type="button" class="btn btn-danger">İptal</button> todo: turn back to previous page --> <!--<button id="submitbutton" type="button" class="btn btn-primary" ng-click="onSubmit(formgenerated)">Kaydet</button>-->
\ No newline at end of file <!-- <button type="button" class="btn btn-warning">Düzenle</button> todo: make it conditional -->
<!-- <button type="button" class="btn btn-danger">İptal</button> todo: turn back to previous page -->
</div>
\ No newline at end of file
<div ng-app="ulakbus.crud"> <div class="container" ng-app="ulakbus.crud">
<div class="col-md-6"> <div class="col-md-6">
<h1>{{ schema.title }}</h1> <h1>{{ schema.title }}</h1>
<form name="formgenerated" sf-schema="schema" sf-form="form" sf-model="model" ng-submit="onSubmit(formgenerated)"></form> <form name="formgenerated" sf-schema="schema" sf-form="form" sf-model="model" ng-submit="onSubmit(formgenerated)"></form>
......
<div class="starter-template"> <div class="starter-template container">
<h1>{{model}} <h1>{{model}}
<a href="{{addLink}}"> <a href="{{addLink}}">
<button type="button" class="btn btn-primary">Ekle</button> <button type="button" class="btn btn-primary">Ekle</button>
......
<!--<div class="starter-template">--> <div class="starter-template container">
<!--<h1>{{model}}</h1>--> <!--<div class="personnel-info-container">-->
<div class="info-block-header">
<!--<p ng-repeat="(key, value) in object"><span class="col-md-3">{{ key }}:</span>{{value}}</p>--> <h1>{{model}}</h1>
<!--</div>--> </div>
<div class="table-responsive">
<table class="table">
<div class="starter-template"> <tbody>
<tr ng-repeat="(key, value) in object">
<td class="col-md-2">{{key}}</td>
<td class="col-md-8">{{value}}</td>
</tr>
</tbody>
</table>
</div>
<div class="personnel-info-container"> <!--<div class="personnel-info-left">-->
<div class="personnel-info-left">
<!--<div class="generic-profile-picture">--> <!--&lt;!&ndash;<div class="generic-profile-picture">&ndash;&gt;-->
<!--<img src="../../img/sample-profile-pic.jpg" />--> <!--&lt;!&ndash;<img src="../../img/sample-profile-pic.jpg" />&ndash;&gt;-->
<!--&lt;!&ndash;</div>&ndash;&gt;-->
<!--<div class="info-block">-->
<!--<div class="info-block-header">-->
<!--<h1>{{model}}</h1>-->
<!--</div>--> <!--</div>-->
<div class="info-block"> <!--&lt;!&ndash; end of info-block-header &ndash;&gt;-->
<div class="info-block-header"> <!--<div class="info-block-body" ng-repeat="(key, value) in object">-->
<h1>{{model}}</h1> <!--<dl class="dl-horizontal">-->
</div> <!--<dt>{{ key }}</dt>-->
<!-- end of info-block-header --> <!--<dd>{{value}}</dd>-->
<div class="info-block-body" ng-repeat="(key, value) in object"> <!--</dl>-->
<dl class="dl-horizontal"> <!--</div>-->
<dt>{{ key }}</dt> <!--&lt;!&ndash; end of info-block-body &ndash;&gt;-->
<dd>{{value}}</dd> <!--</div>-->
</dl> <!--&lt;!&ndash;<ul>&ndash;&gt;-->
</div> <!--&lt;!&ndash;<li ng-repeat="(key, value) in object"><span class="col-md-3">{{ key }}:</span>{{value}}</li>&ndash;&gt;-->
<!-- end of info-block-body --> <!--&lt;!&ndash;<li>Pozisyon</li>&ndash;&gt;-->
</div> <!--&lt;!&ndash;<li><i class="fa fa-phone"></i> (+90) 123 456 7890</li>&ndash;&gt;-->
<!--<ul>--> <!--&lt;!&ndash;<li><i class="fa fa-envelope"></i> samplemail@mail.com</li>&ndash;&gt;-->
<!--<li ng-repeat="(key, value) in object"><span class="col-md-3">{{ key }}:</span>{{value}}</li>--> <!--&lt;!&ndash;<li><i class="fa fa-map-marker"></i> Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR</li></li>&ndash;&gt;-->
<!--<li>Pozisyon</li>--> <!--&lt;!&ndash;</ul>&ndash;&gt;-->
<!--<li><i class="fa fa-phone"></i> (+90) 123 456 7890</li>--> <!--</div>-->
<!--<li><i class="fa fa-envelope"></i> samplemail@mail.com</li>--> <!--&lt;!&ndash; end of personnel-info-left &ndash;&gt;-->
<!--<li><i class="fa fa-map-marker"></i> Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR</li></li>--> <!--<div class="personnel-info-right">-->
<!--</ul>--> <!--<div class="info-block" ng-repeat="(key, value) in listobjects">-->
</div> <!--<div class="info-block-header">-->
<!-- end of personnel-info-left --> <!--<h2>{{key}}</h2>-->
<div class="personnel-info-right"> <!--</div>-->
<div class="info-block" ng-repeat="(key, value) in listobjects"> <!--&lt;!&ndash; end of info-block-header &ndash;&gt;-->
<div class="info-block-header"> <!--<div class="info-block-body" ng-repeat="(k, v) in value">-->
<h2>{{key}}</h2> <!--<dl class="dl-horizontal">-->
</div> <!--<dt>{{k}}</dt>-->
<!-- end of info-block-header --> <!--<dd>{{v}}</dd>-->
<div class="info-block-body" ng-repeat="(k, v) in value"> <!--</dl>-->
<dl class="dl-horizontal"> <!--</div>-->
<dt>{{k}}</dt> <!--&lt;!&ndash; end of info-block-body &ndash;&gt;-->
<dd>{{v}}</dd> <!--</div>-->
</dl> <!--&lt;!&ndash; end of info block &ndash;&gt;-->
</div> <!--&lt;!&ndash; end of info block &ndash;&gt;-->
<!-- end of info-block-body --> <!--</div>-->
</div> <!--&lt;!&ndash; personnel-info-left &ndash;&gt;-->
<!-- end of info block --> <!--</div>-->
<!-- end of info block --> <!-- end of personnel-info-container -->
</div> </div>
<!-- personnel-info-left --> \ No newline at end of file
</div>
<!-- end of personnel-info-container -->
</div>
\ No newline at end of file
<h1>{{ schema.title }}</h1> <div class="container">
<form id="formgenerated" name="formgenerated" sf-schema="schema" sf-form="form" sf-model="model" <h1>{{ schema.title }}</h1>
ng-submit="onSubmit(formgenerated)"></form>
<div ng-repeat="node in Node"> <form id="formgenerated" name="formgenerated" sf-schema="schema" sf-form="form" sf-model="model"
<h3>{{ node.title }} ng-submit="onSubmit(formgenerated)"></form>
<div ng-repeat="node in Node">
<h3>{{ node.title }}
<span ng-if="node.lengthModels < 1"> <span ng-if="node.lengthModels < 1">
<a href="javascript:void(0);" modal-for-nodes="{{node.schema.model_name}},Node"> <a href="javascript:void(0);" modal-for-nodes="{{node.schema.model_name}},Node">
<i class="fa fa-plus-circle fa-fw"></i> <i class="fa fa-plus-circle fa-fw"></i>
</a> </a>
</span> </span>
</h3> </h3>
<div class="node-table"> <div class="node-table">
<ng-include src="'shared/templates/nodeTable.html'"></ng-include> <ng-include src="'shared/templates/nodeTable.html'"></ng-include>
</div>
<hr>
</div> </div>
<hr> <div ng-repeat="node in ListNode">
</div> <h3>{{ node.title }}
<div ng-repeat="node in ListNode">
<h3>{{ node.title }}
<span> <span>
<a href="javascript:void(0);" modal-for-nodes="{{node.schema.model_name}},ListNode,add"> <a href="javascript:void(0);" modal-for-nodes="{{node.schema.model_name}},ListNode,add">
<i class="fa fa-plus-circle fa-fw"></i> <i class="fa fa-plus-circle fa-fw"></i>
</a> </a>
</span> </span>
</h3> </h3>
<div class="list-node-table"> <div class="list-node-table">
<ng-include src="'shared/templates/nodeTable.html'"></ng-include> <ng-include src="'shared/templates/nodeTable.html'"></ng-include>
</div>
<hr>
</div> </div>
<hr> </div>
</div> \ No newline at end of file
<!--<button id="submitbutton" type="button" class="btn btn-primary" ng-click="onSubmit(formgenerated)">Kaydet</button>-->
<!-- <button type="button" class="btn btn-warning">Düzenle</button> todo: make it conditional -->
<!-- <button type="button" class="btn btn-danger">İptal</button> todo: turn back to previous page -->
\ No newline at end of file
<div ng-app="ulakbus.crud"> <div class="container" ng-app="ulakbus.crud">
<div class="col-md-6"> <div class="col-md-6">
<h1>{{ schema.title }}</h1> <h1>{{ schema.title }}</h1>
<form name="formgenerated" sf-schema="schema" sf-form="form" sf-model="model" ng-submit="onSubmit(formgenerated)"></form> <form name="formgenerated" sf-schema="schema" sf-form="form" sf-model="model" ng-submit="onSubmit(formgenerated)"></form>
......
<div class="starter-template"> <div class="starter-template container">
<h1>{{model}} <a href="#/crud/{{model}}/add"><button type="button" class="btn btn-primary">Ekle</button></a></h1> <h1>{{model}} <a href="#/crud/{{model}}/add"><button type="button" class="btn btn-primary">Ekle</button></a></h1>
<div class="row" ng-if="!nobjects[1]"> <div class="row" ng-if="!nobjects[1]">
<div class="col-md-12"> <div class="col-md-12">
......
<!--<div class="starter-template">--> <div class="starter-template container">
<!--<h1>{{model}}</h1>-->
<!--<p ng-repeat="(key, value) in object"><span class="col-md-3">{{ key }}:</span>{{value}}</p>--> <div class="personnel-info-container">
<!--</div>--> <div class="personnel-info-left">
<!--<div class="generic-profile-picture">-->
<div class="starter-template"> <!--<img src="../../img/sample-profile-pic.jpg" />-->
<!--</div>-->
<div class="personnel-info-container"> <div class="info-block">
<div class="personnel-info-left"> <div class="info-block-header">
<h1>{{model}}</h1>
<!--<div class="generic-profile-picture">-->
<!--<img src="../../img/sample-profile-pic.jpg" />-->
<!--</div>-->
<div class="info-block">
<div class="info-block-header">
<h1>{{model}}</h1>
</div>
<!-- end of info-block-header -->
<div class="info-block-body" ng-repeat="(key, value) in object">
<dl class="dl-horizontal">
<dt>{{ key }}</dt>
<dd>{{value}}</dd>
</dl>
</div>
<!-- end of info-block-body -->
</div> </div>
<!--<ul>--> <!-- end of info-block-header -->
<!--<li ng-repeat="(key, value) in object"><span class="col-md-3">{{ key }}:</span>{{value}}</li>--> <div class="info-block-body" ng-repeat="(key, value) in object">
<!--<li>Pozisyon</li>--> <dl class="dl-horizontal">
<!--<li><i class="fa fa-phone"></i> (+90) 123 456 7890</li>--> <dt>{{ key }}</dt>
<!--<li><i class="fa fa-envelope"></i> samplemail@mail.com</li>--> <dd>{{value}}</dd>
<!--<li><i class="fa fa-map-marker"></i> Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR</li></li>--> </dl>
<!--</ul>--> </div>
<!-- end of info-block-body -->
</div> </div>
<!-- end of personnel-info-left --> <!--<ul>-->
<div class="personnel-info-right"> <!--<li ng-repeat="(key, value) in object"><span class="col-md-3">{{ key }}:</span>{{value}}</li>-->
<div class="info-block" ng-repeat="(key, value) in listobjects"> <!--<li>Pozisyon</li>-->
<div class="info-block-header"> <!--<li><i class="fa fa-phone"></i> (+90) 123 456 7890</li>-->
<h2>{{key}}</h2> <!--<li><i class="fa fa-envelope"></i> samplemail@mail.com</li>-->
</div> <!--<li><i class="fa fa-map-marker"></i> Gülbahçe Mah. İzmir Teknoloji Geliştirme Bölgesi A9 Blok 215/A IYTE Campus, URLA/IZMIR</li></li>-->
<!-- end of info-block-header --> <!--</ul>-->
<div class="info-block-body" ng-repeat="(k, v) in value"> </div>
<dl class="dl-horizontal"> <!-- end of personnel-info-left -->
<dt>{{k}}</dt> <div class="personnel-info-right">
<dd>{{v}}</dd> <div class="info-block" ng-repeat="(key, value) in listobjects">
</dl> <div class="info-block-header">
</div> <h2>{{key}}</h2>
<!-- end of info-block-body --> </div>
<!-- end of info-block-header -->
<div class="info-block-body" ng-repeat="(k, v) in value">
<dl class="dl-horizontal">
<dt>{{k}}</dt>
<dd>{{v}}</dd>
</dl>
</div> </div>
<!-- end of info block --> <!-- end of info-block-body -->
<!-- end of info block -->
</div> </div>
<!-- personnel-info-left --> <!-- end of info block -->
<!-- end of info block -->
</div> </div>
<!-- end of personnel-info-container --> <!-- personnel-info-left -->
</div> </div>
\ No newline at end of file <!-- end of personnel-info-container -->
</div>
\ No newline at end of file
...@@ -39,6 +39,7 @@ var app = angular.module( ...@@ -39,6 +39,7 @@ var app = angular.module(
*/ */
constant("RESTURL", (function () { constant("RESTURL", (function () {
// todo: below backendurl definition is for development purpose and will be deleted // todo: below backendurl definition is for development purpose and will be deleted
//var subdomain = ;
var backendurl = "http://api.ulakbus.net/"; var backendurl = "http://api.ulakbus.net/";
if (document.cookie.indexOf("backendurl") > -1) { if (document.cookie.indexOf("backendurl") > -1) {
var cookiearray = document.cookie.split(';'); var cookiearray = document.cookie.split(';');
......
<div class="col-lg-4"> <div class="row">
<div class="panel" ng-class="{'info':'panel-info', 'error': 'panel-red', 'warning': 'panel-yellow'}[msgbox.type]"> <div class="container">
<div class="panel-heading"> <div class="col-lg-12">
{{msgbox.title}} <div class="panel" ng-class="{'info':'panel-info', 'error': 'panel-red', 'warning': 'panel-yellow'}[msgbox.type]">
</div> <div class="panel-heading">
<div class="panel-body"> {{msgbox.title}}
<p>{{msgbox.msg}}</p> </div>
</div> <div class="panel-body">
<!--<div class="panel-footer">--> <p>{{msgbox.msg}}</p>
</div>
<!--<div class="panel-footer">-->
<!--</div>--> <!--</div>-->
</div>
</div>
</div> </div>
</div> </div>
<!--<div class="row">--> <!--<div class="row">-->
<!--<div class="col-lg-4">--> <!--<div class="col-lg-4">-->
......
...@@ -52,7 +52,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c ...@@ -52,7 +52,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
* prepareforms checks input types and convert if necessary * prepareforms checks input types and convert if necessary
*/ */
// todo: remove after backend fix // todo: remove after backend fix
angular.forEach(scope.form, function (value, key) { angular.forEach(scope.form, function (value, key) {
if (value.type === 'select') { if (value.type === 'select') {
scope.schema.properties[value.key].type = 'select'; scope.schema.properties[value.key].type = 'select';
...@@ -89,8 +89,8 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c ...@@ -89,8 +89,8 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
scope.form[scope.form.indexOf(k)] = { scope.form[scope.form.indexOf(k)] = {
type: v.type, type: v.type,
title: v.title, title: v.title,
style: "btn-primary", style: "btn-primary movetobottom hide pull-left",
onClick: function(){ onClick: function () {
delete scope.form_params.cmd; delete scope.form_params.cmd;
delete scope.form_params.flow; delete scope.form_params.flow;
if (v.cmd) { if (v.cmd) {
...@@ -99,10 +99,15 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c ...@@ -99,10 +99,15 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
if (v.flow) { if (v.flow) {
scope.form_params["flow"] = v.flow; scope.form_params["flow"] = v.flow;
} }
scope.model[k]=1; scope.model[k] = 1;
generator.submit(scope); generator.submit(scope);
} }
}; };
$timeout(function () {
var buttons = angular.element(document.querySelector('.movetobottom'));
angular.element(document.querySelector('.buttons-on-bottom')).append(buttons);
buttons.removeClass('hide');
});
} }
// check if type is date and if type date found change it to string // check if type is date and if type date found change it to string
...@@ -116,8 +121,9 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c ...@@ -116,8 +121,9 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
changeMonth: true, changeMonth: true,
changeYear: true, changeYear: true,
dateFormat: "dd.mm.yy", dateFormat: "dd.mm.yy",
onSelect: function (date) { onSelect: function (date, inst) {
scope.model[k] = date; scope.model[k] = date;
scope.$broadcast('schemaForm.error.'+k,'tv4-302',true);
} }
}); });
}); });
...@@ -155,7 +161,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c ...@@ -155,7 +161,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
if (item !== res.data.nobjects[0]) { if (item !== res.data.nobjects[0]) {
formitem.titleMap.push({ formitem.titleMap.push({
"value": item[0], "value": item[0],
"name": item[1] +' '+ (item[2] ? item[2] : '') + '...' "name": item[1] + ' ' + (item[2] ? item[2] : '') + '...'
}); });
} }
}); });
...@@ -163,7 +169,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c ...@@ -163,7 +169,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
onSelect: function (item) { onSelect: function (item) {
scope.model[k] = item.value; scope.model[k] = item.value;
}, },
onDropdownSelect: function(item, inputname) { onDropdownSelect: function (item, inputname) {
scope.model[k] = item.value; scope.model[k] = item.value;
jQuery('input[name=' + inputname + ']').val(item.name); jQuery('input[name=' + inputname + ']').val(item.name);
} }
...@@ -240,7 +246,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c ...@@ -240,7 +246,7 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
}; };
generator.itemLinksGenerator = function (scope, itemlist) { generator.itemLinksGenerator = function (scope, itemlist) {
angular.forEach(itemlist.nobjects, function (value, key) { angular.forEach(itemlist.nobjects, function (value, key) {
function makelink (page) { function makelink(page) {
if (value === '-1' && page !== 'add/') { if (value === '-1' && page !== 'add/') {
return; return;
} }
...@@ -331,56 +337,62 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c ...@@ -331,56 +337,62 @@ form_generator.factory('Generator', function ($http, $q, $timeout, $location, $c
return $http.post(generator.makePostUrl($scope), data); return $http.post(generator.makePostUrl($scope), data);
}; };
generator.submit = function ($scope) { generator.submit = function ($scope) {
// todo: diff for all submits to recognize form change. if no change returns to view with no submit $scope.$broadcast('schemaFormValidate');
angular.forEach($scope.ListNode, function (value, key) { if ($scope.formgenerated.$valid) {
$scope.model[key] = value.model;
});
angular.forEach($scope.Node, function (value, key) {
$scope.model[key] = value.model;
});
var data = {
"form": $scope.model,
//"subcmd": "do_list",
"model": $scope.form_params.model,
"token": $scope.token
};
if ($scope.form_params.cmd) {
data["cmd"] = $scope.form_params.cmd;
}
if ($scope.form_params.cmd) {
data["flow"] = $scope.form_params.flow;
}
if ($scope.object_id) {
//var get_diff = FormDiff.get_diff($scope.model, $scope.initialModel);
data.object_id = $scope.object_id;
//data.form = get_diff;
}
return $http.post(generator.makeUrl($scope), data)
.success(function (data) {
// if return data consists forms key then trigger redraw the form with updated data
if (data.forms) {
delete $scope.form, $scope.model, $scope.schema, $scope.form_params.cmd;
generator.generate($scope, data);
$scope.$broadcast('schemaFormRedraw')
}
// if submit returns nobjects after save
if (data.nobjects) {
generator.itemLinksGenerator($scope, data);
data[$scope.form_params.param] = $scope.form_params.id;
$location.path('/crud/' + $scope.form_params.model + '/list').search(angular.fromJson(data));
}
// if submit returns msgbox after save
if (data.msgbox) {
$scope.msgbox = data.msgbox;
var newElement = $compile( "<msgbox ></msgbox>" )( $scope );
angular.element(document.querySelector('.main.ng-scope')).children().remove();
angular.element(document.querySelector('.main.ng-scope')).append( newElement );
}
// todo: diff for all submits to recognize form change. if no change returns to view with no submit
angular.forEach($scope.ListNode, function (value, key) {
$scope.model[key] = value.model;
});
angular.forEach($scope.Node, function (value, key) {
$scope.model[key] = value.model;
}); });
var data = {
"form": $scope.model,
//"subcmd": "do_list",
"model": $scope.form_params.model,
"token": $scope.token
};
if ($scope.form_params.cmd) {
data["cmd"] = $scope.form_params.cmd;
}
if ($scope.form_params.flow) {
data["flow"] = $scope.form_params.flow;
}
if ($scope.object_id) {
//var get_diff = FormDiff.get_diff($scope.model, $scope.initialModel);
data.object_id = $scope.object_id;
//data.form = get_diff;
}
return $http.post(generator.makeUrl($scope), data)
.success(function (data) {
// if return data consists forms key then trigger redraw the form with updated data
if (data.forms) {
delete $scope.form, $scope.model, $scope.schema, $scope.form_params.cmd;
generator.generate($scope, data);
$scope.$broadcast('schemaFormRedraw')
}
// if submit returns nobjects after save
if (data.nobjects) {
generator.itemLinksGenerator($scope, data);
data[$scope.form_params.param] = $scope.form_params.id;
$location.path('/crud/' + $scope.form_params.model + '/list').search(angular.fromJson(data));
}
// if submit returns msgbox after save
if (data.msgbox) {
$scope.msgbox = data.msgbox;
var newElement = $compile("<msgbox ></msgbox>")($scope);
angular.element(document.querySelector('.main.ng-scope')).children().remove();
angular.element(document.querySelector('.main.ng-scope')).append(newElement);
}
});
}
}; };
return generator; return generator;
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment