Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2018
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.68 KB | None | 0 0
  1. //dashboard.html
  2. <ion-view class="wf-ion-view" id="page5" title="Dashboard" hide-nav-bar="false" cache-view="false">
  3. <ion-content padding="true" class=" manual-remove-top-padding wf-content">
  4. <div style="height: 20px;" class="spacer"></div>
  5. <div>
  6. <a class="button wf-btn button-block" id="login-button" ui-sref="mainServices">Request Service</a>
  7. </div>
  8.  
  9. <div style="height: 50px;" id="" class="spacer" ></div>
  10.  
  11. <div>
  12. <a class="button wf-btn button-block" id="login-button" ui-sref="registerBusiness">Register Your Business</a>
  13. </div>
  14.  
  15. </ion-content>
  16. </ion-view>
  17.  
  18.  
  19. //registerBusiness.html
  20. <ion-view hide-nav-bar="true" class="wf-ion-view" id="page6" title="Sign up" cache-view="false">
  21. <ion-content class="manual-remove-top-padding wf-content" padding="true">
  22. <div style="height: 50px;" class="spacer"></div>
  23. <div>
  24. <img style="display: block; margin-left: auto; margin-right: auto;" src="img/wf-logo.jpg" height="auto" width="100%">
  25. </div>
  26. <div ng-if="!hasErrors" style="height: 50px;" id="" class="spacer"></div>
  27. <!-- <div ng-if="hasErrors" style="height: 10px;" id="" class="assertive padding">
  28. <p >Please fix following errors</p>
  29. </div> -->
  30. <form class="list" id="login-form1" class="wf-form">
  31. <ion-list id="login-list1">
  32.  
  33.  
  34. <div>
  35. <h3 class="wf-list-header padding-left light">Your Business</h3>
  36. </div>
  37. <label name=“company_name” id="company_name" class="item item-input">
  38. <i class="icon ion-ios-briefcase-outline placeholder-icon"></i>
  39. <input placeholder="Company Name" type="text" ng-model="user.company_name">
  40. </label>
  41. <div class="error" data-ng-messages="errors.company_name" data-ng-cloak="">
  42. <p class="assertive">{{errors.company_name[0]}}</p>
  43. </div>
  44. <div>
  45. <label name=“summary” id="summary" class="item item-input">
  46. <i class="icon ion-clipboard placeholder-icon"></i>
  47. <input placeholder="Profile Summary" type="text" ng-model="user.summary">
  48. </label>
  49. <div class="error" data-ng-messages="errors.summary" data-ng-cloak="">
  50. <p class="assertive">{{errors.summary[0]}}</p>
  51. </div>
  52.  
  53. <label name="province_id" id="province_id" class="item item-select">
  54. <span class="input-label"><i class="icon ion-ios-location placeholder-icon"></i>&nbsp;Province</span>
  55. <select ng-model="user.province_id" required>
  56. <option value="1">Colombo</option>
  57. <option value="2">Nugegoda</option>
  58. <option>Bambalapitiya</option>
  59. <option>Battaramulla</option>
  60. <option>Kaduwela</option>
  61. </select>
  62. </label>
  63. <div class="error" data-ng-messages="errors.province_id" data-ng-cloak="">
  64. <p class="assertive">{{errors.province_id[0]}}</p>
  65. </div>
  66.  
  67. <label name="district_id" id="district_id" class="item item-select">
  68. <span class="input-label"><i class="icon ion-ios-location placeholder-icon"></i>&nbsp;District</span>
  69. <select ng-model="user.district_id" required>
  70. <option value="1">Colombo</option>
  71. <option value="2">Nugegoda</option>
  72. <option>Bambalapitiya</option>
  73. <option>Battaramulla</option>
  74. <option>Kaduwela</option>
  75. </select>
  76. </label>
  77. <div class="error" data-ng-messages="errors.distrcit_id" data-ng-cloak="">
  78. <p class="assertive">{{errors.district_id[0]}}</p>
  79. </div>
  80. <label name="divisional_secretariat_id" id="divisional_secretariat_id" class="item item-select">
  81. <span class="input-label"><i class="icon ion-ios-location placeholder-icon"></i>&nbsp;Divisional Secretariat</span>
  82. <select ng-model="user.divisional_secretariat_id" required>
  83. <option value="1">Colombo</option>
  84. <option value="2">Nugegoda</option>
  85. <option>Bambalapitiya</option>
  86. <option>Battaramulla</option>
  87. <option>Kaduwela</option>
  88. </select>
  89. </label>
  90. <div class="error" data-ng-messages="errors.divisional_secretariat_id" data-ng-cloak="">
  91. <p class="assertive">{{errors.divisional_secretariat_id[0]}}</p>
  92. </div>
  93. <label name="grama_niladhari_division_id" id="grama_niladhari_division_id" class="item item-select">
  94. <span class="input-label"><i class="icon ion-ios-location placeholder-icon"></i>&nbsp;Grama Niladhari Division</span>
  95. <select ng-model="user.grama_niladhari_division_id" required>
  96. <option value="1">Colombo</option>
  97. <option value="2">Nugegoda</option>
  98. <option>Bambalapitiya</option>
  99. <option>Battaramulla</option>
  100. <option>Kaduwela</option>
  101. </select>
  102. </label>
  103. <div class="error" data-ng-messages="errors.grama_niladhari_division_id" data-ng-cloak="">
  104. <p class="assertive">{{errors.grama_niladhari_division_id[0]}}</p>
  105. </div>
  106.  
  107. <label name=“address” id="address" class="item item-input">
  108. <i class="icon ion-ios-briefcase-outline placeholder-icon"></i>
  109. <input placeholder="Street Address" type="text" ng-model="user.address">
  110. </label>
  111. <div class="error" data-ng-messages="errors.address" data-ng-cloak="">
  112. <p class="assertive">{{errors.address[0]}}</p>
  113. </div>
  114. <div>
  115. <h3 class="wf-list-header padding-left light">Your Work</h3>
  116. </div>
  117. <label name="system_product_category_id" id="system_product_category_id" class="item item-select">
  118.  
  119. <span class="input-label"><i class="icon ion-ios-gear placeholder-icon"></i>&nbsp;Select Work Type</span>
  120.  
  121. <select ng-model="user.system_product_category_id" required>
  122. <option value="1">Colombo</option>
  123. <option value="2">Nugegoda</option>
  124. <option>Bambalapitiya</option>
  125. <option>Battaramulla</option>
  126. <option>Kaduwela</option>
  127. </select>
  128. </label>
  129. <div class="error" data-ng-messages="errors.system_product_category_id[]" data-ng-cloak="">
  130. <p class="assertive"></p>
  131. </div>
  132. <label name="system_product_category_id" id="system_product_category_id" class="item item-select">
  133.  
  134. <span class="input-label"><i class="icon ion-ios-gear placeholder-icon"></i>&nbsp;Select Work Type</span>
  135.  
  136. <select ng-model="user.system_product_category_id" required>
  137. <option value="1">Colombo</option>
  138. <option value="2">Nugegoda</option>
  139. <option>Bambalapitiya</option>
  140. <option>Battaramulla</option>
  141. <option>Kaduwela</option>
  142. </select>
  143. </label>
  144. <div class="error" data-ng-messages="errors.system_product_category_id[]" data-ng-cloak="">
  145. <p class="assertive"></p>
  146. </div>
  147. <label name="system_product_category_id" id="system_product_category_id" class="item item-select">
  148.  
  149. <span class="input-label"><i class="icon ion-ios-gear placeholder-icon"></i>&nbsp;Select Work Type</span>
  150.  
  151. <select ng-model="user.system_product_category_id" required>
  152. <option value="1">Colombo</option>
  153. <option value="2">Nugegoda</option>
  154. <option>Bambalapitiya</option>
  155. <option>Battaramulla</option>
  156. <option>Kaduwela</option>
  157. </select>
  158. </label>
  159. <div class="error" data-ng-messages="errors.system_product_category_id[]" data-ng-cloak="">
  160. <p class="assertive"></p>
  161. </div>
  162.  
  163.  
  164. <div>
  165. <h3 class="wf-list-header padding-left light">Your Details</h3>
  166. </div>
  167. <label name="first_name" id="first_name" class="item item-input">
  168. <i class="icon ion-person placeholder-icon"></i>
  169. <input placeholder="Full Name" type="text" ng-model="user.first_name">
  170. </label>
  171. <div class="error" data-ng-messages="errors.first_name" data-ng-cloak="">
  172. <p class="assertive">{{errors.name[0]}}</p>
  173. </div>
  174. <label name="phone" id="phone" class="item item-input">
  175. <i class="icon ion-ios-telephone placeholder-icon"></i>
  176. <input placeholder="Mobile Number" type="text" ng-model="user.phone" maxlength="10">
  177. </label>
  178. <div class="error" data-ng-messages="errors.phone" data-ng-cloak="">
  179. <p class="assertive">{{errors.phone[0]}}</p>
  180. </div>
  181. <!-- <label name="email" id="email" class="item item-input">
  182. <i class="icon ion-ios-email placeholder-icon"></i>
  183. <input placeholder="Email" type="text" ng-model="user.email">
  184. </label>
  185. <div class="error" data-ng-messages="errors.email" data-ng-cloak="">
  186. <p class="assertive">{{errors.email[0]}}</p>
  187. </div>
  188. -->
  189. <label name="nic" id="nic" class="item item-input">
  190. <i class="icon ion-card placeholder-icon"></i>
  191. <input placeholder="NIC" type="text" ng-model="user.nic">
  192. </label>
  193. <div class="error" data-ng-messages="errors.nic" data-ng-cloak="">
  194. <p class="assertive">{{errors.nic[0]}}</p>
  195. </div>
  196. </ion-list>
  197.  
  198. <a class="button wf-btn button-block" id="signup-button" ng-click="signup(user)">Register</a>
  199. <a class="button wf-btn button-block" id="signup-cancel-button" ng-click="signupCancel()">Cancel</a>
  200. <div style="height: 100px;" class="spacer"></div>
  201. </form>
  202. </ion-content>
  203. </ion-view>
  204.  
  205.  
  206.  
  207. //controllers.js
  208. .controller('dashboardCtrl', ['$rootScope','$scope', '$state', '$stateParams','$ionicLoading', '$location', '$ionicHistory', 'UserService', '$localstorage', // The following is the constructor function for this page's controller. See https://docs.angularjs.org/guide/controller
  209. // You can include any angular dependencies as parameters for this function
  210. // TIP: Access Route Parameters for your page via $stateParams.parameterName
  211. function ($rootScope,$scope, $state, $stateParams, $ionicLoading, $location, $ionicHistory, $UserService, $localstorage) {
  212. $rootScope.user;
  213. $rootScope.message;
  214. $rootScope.isLogedIn = false;
  215.  
  216. $scope.hasErrors = false;
  217. $scope.errors = {};
  218. $scope.error = '';
  219. console.log("whatis the user?");
  220. console.log($rootScope.user);
  221. $scope.requestLoginOTP = function(user){
  222. $rootScope.user = user;
  223. if($rootScope.user.hasOwnProperty('otp')){
  224. console.log("user has otp. removing it now.");
  225. delete $rootScope.user.otp;
  226. }else{
  227. console.log("user do not have otp");
  228. }
  229. console.log(user);
  230. $ionicLoading.show({
  231. template: "<img class='rec-loading-thumb' src='img/facebook.gif' />",
  232. content: 'Loading',
  233. animation: 'fade-in',
  234. showBackdrop: true,
  235. maxWidth: 200,
  236. showDelay: 0
  237. });
  238. $UserService.login(user)
  239. .success(function (data) {
  240. console.log("request otp success");
  241. console.log(data);
  242. //save api_token
  243. //$localstorage.set('api_token', data.success.api_token);
  244. $ionicLoading.hide();
  245. setTimeout(function () {
  246. $location.path('/enterOtp');
  247. }, 200);
  248. $rootScope.message = data.success.message;
  249. $scope.error = '';
  250. $scope.hasErrors = false;
  251. console.log($rootScope.message);
  252. console.log(data);
  253. console.log("sending user to otp page");
  254. $location.path('/enterOtp');
  255. })
  256. .error(function (error) {
  257. console.log(error);
  258.  
  259. $scope.hasErrors = true;
  260. $scope.error = error.error.message;
  261. console.log($scope.error);
  262. $ionicLoading.hide();
  263. //$location.path('/login');
  264. });
  265. };
  266.  
  267. $scope.submitOTP = function (user) {
  268. console.log(user);
  269. /**$ionicHistory.nextViewOptions({
  270. disableBack: true
  271. });
  272. */
  273. if(!user || !user.phone){
  274. $ionicHistory.nextViewOptions({
  275. disableBack: true
  276. });
  277.  
  278. $location.path('/login');
  279. }
  280. $ionicLoading.show({
  281. template: "<img class='rec-loading-thumb' src='img/facebook.gif' />",
  282. content: 'Loading',
  283. animation: 'fade-in',
  284. showBackdrop: true,
  285. maxWidth: 200,
  286. showDelay: 0
  287. });
  288. $UserService.submitOTP(user)
  289. .success(function (data) {
  290. console.log("login success");
  291. console.log(data);
  292. //save api_token
  293. $localstorage.set('api_token', data.success.api_token);
  294. $ionicLoading.hide();
  295. setTimeout(function () {
  296. $location.path('/main-services-list');
  297. }, 200);
  298. console.log(data);
  299. $rootScope.user = {};
  300. $rootScope.message = '';
  301. $rootScope.isLogedIn = true;
  302. console.log("sending user to main services");
  303. $ionicHistory.nextViewOptions({
  304. disableBack: true
  305. });
  306. $location.path('/main-services-list');
  307. })
  308. .error(function (error) {
  309. console.log(error);
  310. //$rootScope.user.otp = '';
  311. $scope.hasErrors = true;
  312. $scope.error = error.error.message;
  313. console.log($scope.error);
  314. $ionicLoading.hide();
  315. });
  316. };
  317.  
  318.  
  319. }])
  320.  
  321.  
  322.  
  323. .controller('registerBusinessCtrl', ['$scope', '$state', '$stateParams','$ionicLoading' ,'$ionicSideMenuDelegate','$ionicHistory', '$location', 'UserService', '$localstorage', // The following is the constructor function for this page's controller. See https://docs.angularjs.org/guide/controller
  324. // You can include any angular dependencies as parameters for this function
  325. // TIP: Access Route Parameters for your page via $stateParams.parameterName
  326. function ($scope, $state, $stateParams, $ionicLoading, $ionicSideMenuDelegate, $ionicHistory, $location, $UserService,$localstorage) {
  327. $scope.user = {};
  328. $scope.hasErrors = false;
  329. $scope.errors;
  330. $scope.$on('$ionicView.enter', function() {
  331. $ionicHistory.clearHistory();
  332. $ionicSideMenuDelegate.canDragContent(false);
  333. });
  334.  
  335. $ionicHistory.nextViewOptions({
  336. disableBack: true
  337. });
  338.  
  339. $scope.$on('$ionicView.leave', function () {
  340. $ionicSideMenuDelegate.canDragContent(true)
  341. });
  342.  
  343. $scope.signup = function (user) {
  344. console.log(user);
  345.  
  346. $ionicLoading.show({
  347. template: "<img class='rec-loading-thumb' src='img/facebook.gif' />",
  348. content: 'Loading',
  349. animation: 'fade-in',
  350. showBackdrop: true,
  351. maxWidth: 200,
  352. showDelay: 0
  353. });
  354. $UserService.signUp(user)
  355. .success(function (data) {
  356. console.log("signup success");
  357. console.log(data);
  358. //save api_token
  359. $localstorage.set('api_token', data.api_token);
  360. $ionicLoading.hide();
  361. setTimeout(function () {
  362. //if successfully saved, send to thank you page.
  363. $location.path('/main-services-list');
  364. }, 200);
  365. console.log(data);
  366. //if successfully saved, send to thank you page.
  367. $location.path('/main-services-list');
  368. })
  369. .error(function (error) {
  370. console.log(error);
  371. $scope.hasErrors = true;
  372. $scope.errors = error.error.errors;
  373. console.log($scope.errors);
  374. $ionicLoading.hide();
  375. //$location.path('/main-services-list');
  376. });
  377. //send data to backend
  378. //login user.
  379. };
  380.  
  381.  
  382. $scope.signupCancel = function(){
  383. $scope.user = {};
  384. $scope.hasErrors = false;
  385. $scope.errors = {};
  386. $location.path('/dashboard');
  387. };
  388.  
  389. }])
  390.  
  391.  
  392.  
  393.  
  394. //routes.js
  395.  
  396.  
  397. .state('dashboard',{
  398. url : '/dashboard',
  399. templateUrl: 'templates/dashboard.html',
  400. controller:'dashboardCtrl'
  401. })
  402.  
  403.  
  404. .state('registerBusiness',{
  405. url : '/registerBusiness',
  406. templateUrl: 'templates/registerBusiness.html',
  407. controller:'registerBusinessCtrl'
  408. })
  409.  
  410. $urlRouterProvider.otherwise('/dashboard');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement