Commit acb89377 authored by Evren Kutar's avatar Evren Kutar

form service spof olacak sekilde guncellendi

formsetler icin template olusturuldu.
angular ui bootstrap eklendi
parent 05d91c00
...@@ -10,22 +10,10 @@ ...@@ -10,22 +10,10 @@
var auth = angular.module('ulakbus.auth', ['ngRoute', 'schemaForm', 'ngCookies', 'general']); var auth = angular.module('ulakbus.auth', ['ngRoute', 'schemaForm', 'ngCookies', 'general']);
auth.controller('LoginCtrl', function ($scope, $q, $timeout, $routeParams, Generator, LoginService) { auth.controller('LoginCtrl', function ($scope, $q, $timeout, $routeParams, Generator, LoginService) {
$scope.url = 'simple_login'; $scope.url = 'simple_login';
var form_params = {}; $scope.form_params = {};
form_params['clear_wf'] = 1; $scope.form_params['clear_wf'] = 1;
// todo: change simple login when api ready // todo: change simple login when api ready
Generator.get_form($scope.url, form_params).then(function(data){ Generator.get_form($scope).then(function(data){
var d = data.data.forms;
for (var key in d)
$scope[key] = d[key];
// for email validation add asyncvalidator
//$scope.form[0].$asyncValidators = Generator.asyncValidators;
// add submit button to the form todo: move this to form service
//$scope.form.push(
// {
// type: "submit",
// title: "Save"
// }
//);
$scope.form = [ $scope.form = [
"*", "*",
{ key: "password", type: "password"}, { key: "password", type: "password"},
......
...@@ -18,31 +18,20 @@ var staff = angular.module('ulakbus.staff', ['ngRoute', 'schemaForm', 'formServi ...@@ -18,31 +18,20 @@ var staff = angular.module('ulakbus.staff', ['ngRoute', 'schemaForm', 'formServi
staff.controller('StaffAddEditCtrl', function ($scope, $rootScope, $location, $http, $log, Generator, $routeParams) { staff.controller('StaffAddEditCtrl', function ($scope, $rootScope, $location, $http, $log, Generator, $routeParams) {
$scope.url = 'personel_duzenle_basitlestirilmis'; $scope.url = 'personel_duzenle_basitlestirilmis';
var form_params = {}; $scope.form_params = {};
if ($routeParams.id) { if ($routeParams.id) {
form_params['object_id'] = $routeParams.id; $scope.form_params['object_id'] = $routeParams.id;
form_params['cmd'] = 'edit_object'; $scope.form_params['cmd'] = 'edit_object';
} }
else { else {
form_params['cmd'] = 'add_object'; $scope.form_params['cmd'] = 'add_object';
} }
// to start in certain part of the workflow use clear_wf=1 // to start in certain part of the workflow use clear_wf=1
form_params['clear_wf'] = 1; $scope.form_params['clear_wf'] = 1;
// get form with generator
Generator.get_form($scope);
Generator.get_form($scope.url, form_params).then(function (object) {
var d = object.data.forms;
// add form, schema and model to scope object
for (var key in d)
$scope[key] = d[key];
$scope.initialModel = angular.copy($scope.model);
$scope.form.push(
{
type: "submit",
title: "Save"
}
);
});
$scope.object_id = $routeParams.id;
$scope.onSubmit = function (form) { $scope.onSubmit = function (form) {
$scope.$broadcast('schemaFormValidate'); $scope.$broadcast('schemaFormValidate');
if (form.$valid) { if (form.$valid) {
...@@ -65,11 +54,12 @@ staff.controller('StaffAddEditCtrl', function ($scope, $rootScope, $location, $h ...@@ -65,11 +54,12 @@ staff.controller('StaffAddEditCtrl', function ($scope, $rootScope, $location, $h
*/ */
staff.controller('StaffListCtrl', function ($scope, $rootScope, Generator) { staff.controller('StaffListCtrl', function ($scope, $rootScope, Generator) {
var form_params = {"clear_wf": 1}; $scope.url = 'personel_duzenle_basitlestirilmis';
Generator.get_form('personel_duzenle_basitlestirilmis', form_params) $scope.form_params = {"clear_wf": 1};
// call generator's get_list func
Generator.get_list($scope)
.then(function (res) { .then(function (res) {
var data = res.data.employees; var data = res.data.employees;
//debugger;
for (var item in data){ for (var item in data){
delete data[item].data['deleted']; delete data[item].data['deleted'];
delete data[item].data['timestamp']; delete data[item].data['timestamp'];
...@@ -82,9 +72,10 @@ staff.controller('StaffListCtrl', function ($scope, $rootScope, Generator) { ...@@ -82,9 +72,10 @@ staff.controller('StaffListCtrl', function ($scope, $rootScope, Generator) {
* Staff Show Controller * Staff Show Controller
*/ */
staff.controller('StaffShowCtrl', function ($scope, $rootScope, Generator, $routeParams) { staff.controller('StaffShowCtrl', function ($scope, $rootScope, Generator, $routeParams) {
var form_params = {"object_id": $routeParams.id, "clear_wf": 1}; $scope.url = 'personel_duzenle_basitlestirilmis';
Generator.get_form('personel_duzenle_basitlestirilmis', form_params).then(function (res) { $scope.form_params = {"object_id": $routeParams.id, "clear_wf": 1};
// todo: get this line below more clear way // call generator's get_single_itemfunc
Generator.get_single_item($scope).then(function (res) {
$scope.staff = res.data.employees[0].data; $scope.staff = res.data.employees[0].data;
}) })
}); });
\ No newline at end of file
...@@ -87,15 +87,11 @@ ...@@ -87,15 +87,11 @@
<script src="bower_components/angular-bootstrap/ui-bootstrap.js"></script> <script src="bower_components/angular-bootstrap/ui-bootstrap.js"></script>
<script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script> <script src="bower_components/angular-bootstrap/ui-bootstrap-tpls.js"></script>
<script type="text/javascript" <script type="text/javascript" src="bower_components/angular-sanitize/angular-sanitize.js"></script>
src="bower_components/angular-sanitize/angular-sanitize.js"></script>
<script type="text/javascript" src="bower_components/tv4/tv4.js"></script> <script type="text/javascript" src="bower_components/tv4/tv4.js"></script>
<script type="text/javascript" <script type="text/javascript" src="bower_components/objectpath/lib/ObjectPath.js"></script>
src="bower_components/objectpath/lib/ObjectPath.js"></script> <script type="text/javascript" src="bower_components/angular-schema-form/dist/schema-form.js"></script>
<script type="text/javascript" <script type="text/javascript" src="bower_components/angular-schema-form/dist/bootstrap-decorator.js"></script>
src="bower_components/angular-schema-form/dist/schema-form.js"></script>
<script type="text/javascript"
src="bower_components/angular-schema-form/dist/bootstrap-decorator.js"></script>
<!--<script type="text/javascript"--> <!--<script type="text/javascript"-->
<!--src="bower_components/angular-schema-form-datepicker/"></script>--> <!--src="bower_components/angular-schema-form-datepicker/"></script>-->
<script type="text/javascript" src="bower_components/angular-schema-form-datepicker/bootstrap-datepicker.js"></script> <script type="text/javascript" src="bower_components/angular-schema-form-datepicker/bootstrap-datepicker.js"></script>
......
<div class="col-md-6">
<h1>{{ schema.title }}</h1>
<form name="formgenerated" sf-schema="schema" sf-form="form"
sf-model="model" ng-submit="onSubmit(formgenerated)"></form>
</div>
\ No newline at end of file
...@@ -12,17 +12,44 @@ form_generator.factory('Generator', function ($http, $q, $log, $timeout, RESTURL ...@@ -12,17 +12,44 @@ form_generator.factory('Generator', function ($http, $q, $log, $timeout, RESTURL
generator.makeUrl = function (url) { generator.makeUrl = function (url) {
return RESTURL.url + url; return RESTURL.url + url;
}; };
generator.generate = function (modelObject) { generator.generate = function (scope, forms) {
return generator.group(modelObject); for (var key in forms)
scope[key] = forms[key];
scope.initialModel = angular.copy(scope.model);
scope.form.push(
{
type: "submit",
title: "Save"
}
);
scope.isCollapsed = false;
scope.object_id = scope.form_params['object_id'];
return generator.group(scope);
}; };
generator.group = function (form_items) { generator.group = function (formObject) {
return form_items; return formObject;
}; };
generator.get_form = function (url, getParams) { generator.get_form = function (scope) {
return $http return $http
.post(generator.makeUrl(url), getParams) .post(generator.makeUrl(scope.url), scope.form_params)
.success(function (res) { .then(function (res) {
return generator.generate(res.data); return generator.generate(scope, res.data.forms);
// todo: cover all other exceptions (4xx, 5xx)
});
};
generator.get_list = function (scope) {
return $http
.post(generator.makeUrl(scope.url), scope.form_params)
.then(function (res) {
return res;
// todo: cover all other exceptions (4xx, 5xx)
});
};
generator.get_single_item = function (scope) {
return $http
.post(generator.makeUrl(scope.url), scope.form_params)
.then(function (res) {
return res;
// todo: cover all other exceptions (4xx, 5xx) // todo: cover all other exceptions (4xx, 5xx)
}); });
}; };
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
"angular-route": "1.3.x", "angular-route": "1.3.x",
"angular-resource": "1.3.x", "angular-resource": "1.3.x",
"angular-cookies": "1.3.x", "angular-cookies": "1.3.x",
"angular-bootstrap": "0.13.1",
"bootstrap": "3.3.4", "bootstrap": "3.3.4",
"angular-schema-form": "0.8.3", "angular-schema-form": "0.8.3",
"angular-schema-form-datepicker": "0.4.0", "angular-schema-form-datepicker": "0.4.0",
......
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