Advertisement
Guest User

Untitled

a guest
Aug 7th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 28.41 KB | None | 0 0
  1. package Controller {
  2.  
  3. import Message.DashboardMessage;
  4. import Message.EventListDashBoardMessage;
  5. import Message.ForgotPwdMessage;
  6. import Message.LoginMessage;
  7. import Message.LoginStatsMessage;
  8. import Message.logoutMessage;
  9.  
  10. import Model.AssessmentModel;
  11. import Model.CalendarModel;
  12. import Model.ClassMgmtModel;
  13. import Model.ContentModel;
  14. import Model.GradeManagementModel;
  15. import Model.LPManagementModel;
  16. import Model.ReportModel;
  17. import Model.UrlModel;
  18. import Model.UserModel;
  19.  
  20. import com.adobe.serialization.json.JSON;
  21.  
  22. import components.ContentRepoPM;
  23. import components.LoginPM;
  24. import components.gradePM;
  25. import components.learningPathPM;
  26. import components.reportsPM;
  27. import components.studentPM;
  28.  
  29. import flash.desktop.NativeApplication;
  30. import flash.display.NativeWindow;
  31. import flash.events.HTTPStatusEvent;
  32. import flash.utils.setTimeout;
  33.  
  34. import mx.controls.Alert;
  35. import mx.controls.ProgressBar;
  36. import mx.core.FlexGlobals;
  37. import mx.events.CloseEvent;
  38. import mx.messaging.channels.StreamingAMFChannel;
  39. import mx.rpc.events.FaultEvent;
  40. import mx.rpc.events.ResultEvent;
  41. import mx.rpc.http.HTTPService;
  42.  
  43. import org.spicefactory.lib.reflect.Parameter;
  44.  
  45. public class LoginController {
  46.  
  47. [Inject]
  48. [Bindable]
  49. public var urlmodel:UrlModel;
  50. [Inject]
  51. [Bindable]
  52. public var usermodel:UserModel;
  53. [Inject]
  54. [Bindable]
  55. public var studentpm:studentPM;
  56.  
  57. [Inject]
  58. [Bindable]
  59. public var loginpm:LoginPM;
  60.  
  61. [Inject]
  62. [Bindable]
  63. public var contentmodel:ContentModel;
  64.  
  65. [Inject]
  66. [Bindable]
  67. public var assessmentmodel:AssessmentModel;
  68.  
  69. [Inject]
  70. [Bindable]
  71. public var classmgmtmodel:ClassMgmtModel;
  72.  
  73. [Inject]
  74. [Bindable]
  75.  
  76. public var calendarmodel:CalendarModel;
  77.  
  78. [Inject]
  79. [Bindable]
  80. public var gradepm:gradePM;
  81.  
  82. [Inject]
  83. [Bindable]
  84. public var learningpathpm:learningPathPM;
  85.  
  86. [Inject]
  87. [Bindable]
  88. public var reportspm:reportsPM;
  89.  
  90. [Inject]
  91. [Bindable]
  92. public var reportsmodel:ReportModel;
  93.  
  94. [Inject]
  95. [Bindable]
  96. public var grademanagementmodel:GradeManagementModel;
  97.  
  98. [Inject]
  99. [Bindable]
  100. public var lpmanagementmodel:LPManagementModel;
  101.  
  102. [Inject]
  103. [Bindable]
  104. public var reportmodel:ReportModel;
  105.  
  106. [Inject]
  107. [Bindable]
  108. public var contentrepopm:ContentRepoPM;
  109.  
  110. public var loginResponse:String;
  111. public var loginRolename:String;
  112.  
  113. /* frontpage stats */
  114. [MessageHandler]
  115. public function loginstats (message:LoginStatsMessage) : void {
  116. var logstatservice:HTTPService = new HTTPService();
  117. logstatservice.url = urlmodel.liveurl+"application/user/stats";
  118. logstatservice.method = "GET";
  119. logstatservice.send();
  120. logstatservice.requestTimeout = 0;
  121. logstatservice.addEventListener("result", loginstatsResult);
  122. logstatservice.addEventListener("fault", loginstatsFault);
  123. }
  124. public var loginstatsresponse:String;
  125. public function loginstatsResult(event:ResultEvent):void {
  126. var result:Object = event.result;
  127. var json:Object = JSON.decode(event.result as String);
  128. usermodel.totalschools = json.stats.schools+" Schools";
  129. usermodel.totalteachers = json.stats.teachers+" Teachers";
  130. usermodel.totalonlineusers = json.stats.onlineusers+" Online Users";
  131. usermodel.totalstudents = json.stats.students+" Students";
  132. }
  133. public function loginstatsFault(event:FaultEvent):void {
  134. var faultstring:String = event.fault.faultString;
  135. //Alert.show(faultstring);
  136. }
  137.  
  138.  
  139. /*Login*/
  140. [MessageHandler]
  141. public function logincheck (message:LoginMessage) : void {
  142. //Alert.show("session check");
  143.  
  144. usermodel.LoginProgress = true;
  145. var service:HTTPService = new HTTPService();
  146. var parameters:Object = {};
  147. parameters.username=message.username;
  148. parameters.password=message.password;
  149. service.url = urlmodel.liveurl+"application/user/login";
  150. service.method = "POST";
  151. service.addEventListener("result", logincheckResult);
  152. service.addEventListener("fault", logincheckFault);
  153. service.send(parameters);
  154. }
  155.  
  156. private var serviceSchool:HTTPService;
  157. public function logincheckResult(event:ResultEvent):void {
  158. //Alert.show("Login");
  159. var result:Object = event.result;
  160. //Alert.show(result as String);
  161. var json:Object = JSON.decode(event.result as String);
  162. loginResponse = json.msg;
  163. loginRolename = json.roles;
  164. usermodel.loginRole = json.roles;
  165. reportsmodel.resultCurrentDate = json.date;
  166. reportsmodel.assessmentCurrentDate = json.date;
  167. reportsmodel.resultCurrentDMY = reportsmodel.resultCurrentDate.split("-");
  168. reportsmodel.resultCurrentMonth = reportsmodel.resultCurrentDMY[1];
  169. reportsmodel.resultCurrentYear = reportsmodel.resultCurrentDMY[0];
  170. reportsmodel.yearDropDown = reportsmodel.resultCurrentDMY[0];
  171. reportsmodel.assessmentCurrentDMY = reportsmodel.assessmentCurrentDate.split("-");
  172. reportsmodel.assessmentCurrentMonth = reportsmodel.assessmentCurrentDMY[1];
  173. reportsmodel.assessmentCurrentYear = reportsmodel.assessmentCurrentDMY[0];
  174. reportsmodel.assessmentYearDropDown = reportsmodel.assessmentCurrentDMY[0];
  175. //Alert.show(usermodel.loginRole);
  176. usermodel.LoginProgress = false;
  177. //loginpm.dashboardEvents();
  178. if ((loginResponse=="Logged in Successfully")&&(loginRolename=="admin"))
  179. {
  180. reportmodel.userSearchVisible = true;
  181. usermodel.gradeBtnSelected = false;
  182. usermodel.reportBtnSelected = true;
  183. usermodel.user_LP_visible = true;
  184. usermodel.instructionTextSchoolDasboard = "Please select student to view student dashboard";
  185. reportmodel.wiseBtnVisibile = true;
  186. // student lofing visible sets the visibility for the first 4 buttons in reports tab
  187. reportmodel.studentLoginVisible = true;
  188. usermodel.lp_InstructionVisible = true;
  189. usermodel.usersTabVisibleOnLogin = true;
  190. usermodel.headerTxt_Lp = "Personalize Learning Path";
  191. usermodel.UserPage="teacherStudentView";
  192. usermodel.gradePageState = 'adminView';
  193. usermodel.assessmentPageState = 'teacherAdminView';
  194.  
  195. mx.core.FlexGlobals.topLevelApplication.currentState='reports';
  196. usermodel.UserId = json.user.userid;
  197. contentmodel.loginUserId = json.user.userid;
  198. calendarmodel.userObjectId = json.firstsite.id;
  199. lpmanagementmodel.learningPathGradeParentId = json.firstsite.id;
  200. usermodel.dashboardUserId = json.user.userid;
  201. usermodel.SchoolName=json.results.rsarray.contents.school;
  202. usermodel.login = json.results.rsarray.contents.username;
  203. usermodel.loginName = json.results.rsarray.contents.firstname;
  204. usermodel.moodleUserId = json.results.rsarray.contents.moodleuserid;
  205. usermodel.useremail = json.results.rsarray.contents.userdetails.email;
  206. usermodel.userprofilepicture = json.results.rsarray.contents.userdetails.profilepicture;
  207. grademanagementmodel.loggedInUserId = json.results.rsarray.contents.id;
  208. usermodel.selectBoxGradeId = json.current_grade.id;
  209. usermodel.selectedGradeName = json.current_grade.contents.name;
  210. lpmanagementmodel.learningPathLoggedInId = json.results.rsarray.id;
  211. grademanagementmodel.learningPathEnabled = true;
  212. usermodel.userTabVisible = true
  213. classmgmtmodel.addClassButtonVisible = false;
  214. usermodel.manageGradeVisible = true;
  215. contentmodel.manageContentVisible = true;
  216. classmgmtmodel.editClassButtonVisible = true;
  217. classmgmtmodel.deleteClassButtonVisible = true;
  218. classmgmtmodel.markAttendanceClassButtonVisible = true;
  219. classmgmtmodel.teacherListingAddClassVisibility = true;
  220. grademanagementmodel.ManagelearningPathButton = true;
  221. classmgmtmodel.classStudentsTabVisible = true;
  222. calendarmodel.addCommonEventButtonVisible = true;
  223. calendarmodel.editCommonEventButtonVisible = true;
  224. calendarmodel.deleteCommonEventButtonVisible = true;
  225. reportmodel.reportsTeacherListingVisibility = true;
  226. reportmodel.teacherTurnEditingOn = true;
  227. reportmodel.studentTurnEditingOn = false;
  228. grademanagementmodel.manageMusicType = false;
  229. classmgmtmodel.classViewColumnsVisibility = true;
  230. grademanagementmodel.learningPathChapterDraggable= true;
  231. grademanagementmodel.learningPathChapterDropEnabled = true;
  232. grademanagementmodel.learningPathChapterDragMoveEnabled = true;
  233. lpmanagementmodel.lp_Text = "Manage Chapters";
  234. //Learning Path View
  235. //learningpathpm.seeLearningPathFunForSutdents(lpmanagementmodel.learningPathLoggedInId,lpmanagementmodel.learningPathGradeParentId);
  236. //Content Management Listing
  237. studentpm.chapterListUrl();
  238. //Student tree Listing
  239. studentpm.studentTreeListUrl();
  240. studentpm.teacherListing();
  241. //Dashboard
  242. gradepm.dashboardDisplay();
  243. //music type listing
  244. studentpm.musicTypeListUrl();
  245. //available grades on login
  246. learningpathpm.availableGradeOnLogin(grademanagementmodel.loggedInUserId);
  247. //content repository folder listing
  248. contentrepopm.contentRepoListFolder();
  249. //Repository
  250. studentpm.repositoryListUrl();
  251.  
  252.  
  253. }
  254. else if ((loginResponse=="Logged in Successfully")&&(loginRolename=="teacher"))
  255. {
  256. reportmodel.userSearchVisible = true;
  257. usermodel.user_LP_visible = false;
  258. usermodel.instructionTextSchoolDasboard = "Please select student to view student dashboard";
  259. reportmodel.teacherWiseTreeVisible = false;
  260. reportmodel.wiseBtnVisibile = false;
  261. // student lofing visible sets the visibility for the first 4 buttons in reports tab
  262. reportmodel.studentLoginVisible = true;
  263. usermodel.lp_InstructionVisible = false;
  264. usermodel.usersTabVisibleOnLogin = true;
  265. usermodel.headerTxt_Lp = "Personalize Learning Path";
  266. usermodel.UserPage="teacherStudentView";
  267. usermodel.gradePageState='teacherStudentView';
  268. usermodel.assessmentPageState = 'teacherAdminView';
  269. /*tab change for school login*/
  270. mx.core.FlexGlobals.topLevelApplication.currentState = 'coursePage';
  271. usermodel.adminLoginTabs = false;
  272. usermodel.teacherLoginTabs = true;
  273. usermodel.courseBtnSelected = true;
  274. //mx.core.FlexGlobals.topLevelApplication.currentState='gradePage';
  275.  
  276. usermodel.UserId = json.user.userid;
  277. reportmodel.teacherLoggedInid = json.user.userid;
  278. contentmodel.loginUserId = json.user.userid;
  279. calendarmodel.userObjectId = json.firstsite.id;
  280. lpmanagementmodel.learningPathGradeParentId = json.firstsite.id;
  281. usermodel.selectBoxGradeId = json.current_grade.id;
  282. usermodel.selectedGradeName = json.current_grade.contents.name;
  283. usermodel.dashboardUserId = json.user.userid;
  284. usermodel.SchoolName=json.results.rsarray.contents.school;
  285. usermodel.login = json.results.rsarray.contents.username;
  286. calendarmodel.loggedInTeacherUserName = json.results.rsarray.contents.username;
  287. usermodel.loginName = json.results.rsarray.contents.firstname;
  288. reportmodel.teacherUserName = json.results.rsarray.contents.firstname + json.results.rsarray.contents.lastname
  289. usermodel.moodleUserId = json.results.rsarray.contents.moodleuserid;
  290. usermodel.useremail = json.results.rsarray.contents.userdetails.email;
  291. usermodel.userprofilepicture = json.results.rsarray.contents.userdetails.profilepicture;
  292. grademanagementmodel.loggedInUserId = json.results.rsarray.contents.id;
  293. lpmanagementmodel.learningPathLoggedInId = json.results.rsarray.id;
  294. grademanagementmodel.learningPathEnabled = false;
  295. usermodel.userTabVisible = true
  296. classmgmtmodel.addClassButtonVisible = true;
  297. contentmodel.manageContentVisible = true;
  298. usermodel.manageGradeVisible = false;
  299. classmgmtmodel.editClassButtonVisible = false;
  300. classmgmtmodel.deleteClassButtonVisible = true;
  301. classmgmtmodel.markAttendanceClassButtonVisible = true;
  302. classmgmtmodel.teacherListingAddClassVisibility = false;
  303. grademanagementmodel.ManagelearningPathButton = true;
  304. classmgmtmodel.classStudentsTabVisible = true;
  305. calendarmodel.addCommonEventButtonVisible = true;
  306. calendarmodel.editCommonEventButtonVisible = true;
  307. calendarmodel.deleteCommonEventButtonVisible = true;
  308. reportmodel.reportsTeacherListingVisibility = false;
  309. reportmodel.adminCommentFieldEditable = false;
  310. reportmodel.adminCommentSubmit = false;
  311. reportmodel.teacherTurnEditingOn = false;
  312. reportmodel.studentTurnEditingOn = true;
  313. grademanagementmodel.manageMusicType = false;
  314. classmgmtmodel.classViewColumnsVisibility = true;
  315. grademanagementmodel.learningPathChapterDraggable= false;
  316. grademanagementmodel.learningPathChapterDropEnabled = false;
  317. grademanagementmodel.learningPathChapterDragMoveEnabled = false;
  318. lpmanagementmodel.lp_Text = "View Chapters";
  319. //Learning Path View
  320. //learningpathpm.seeLearningPathFunForSutdents(usermodel.UserId,lpmanagementmodel.learningPathGradeParentId);
  321. //Content Management Listing
  322. studentpm.chapterListUrl();
  323. //Student tree Listing
  324. studentpm.studentTreeListUrl();
  325. studentpm.teacherListing();
  326. //Dashboard
  327. //gradepm.dashboardDisplay();
  328. //music type listing
  329. studentpm.musicTypeListUrl();
  330. reportmodel.userManageVisible = false;
  331. //available grades on login
  332. learningpathpm.availableGradeOnLogin(grademanagementmodel.loggedInUserId);
  333. grademanagementmodel.ManagelearningPathButton = false;
  334. //Repository
  335. studentpm.repositoryListUrl();
  336. }
  337. else if ((loginResponse=="Logged in Successfully")&&(loginRolename=="school"))
  338. {
  339. reportmodel.wiseBtnVisibile = false;
  340. // student lofing visible sets the visibility for the first 4 buttons in reports tab
  341. reportmodel.studentLoginVisible = true;
  342. usermodel.lp_InstructionVisible = true;
  343. usermodel.headerTxt_Lp = "Personalize Learning Path";
  344. usermodel.UserPage="teacherStudentView";
  345. usermodel.gradePageState = 'adminView';
  346. usermodel.assessmentPageState = 'teacherAdminView';
  347. mx.core.FlexGlobals.topLevelApplication.currentState='gradePage';
  348. usermodel.UserId = json.user.userid;
  349. contentmodel.loginUserId = json.user.userid;
  350. calendarmodel.userObjectId = json.firstsite.id;
  351. lpmanagementmodel.learningPathGradeParentId = json.firstsite.id;
  352. usermodel.dashboardUserId = json.user.userid;
  353. usermodel.selectBoxGradeId = json.current_grade.id;
  354. usermodel.selectedGradeName = json.current_grade.contents.name;
  355. usermodel.SchoolName=json.results.rsarray.contents.school;
  356. usermodel.login = json.results.rsarray.contents.username;
  357. usermodel.loginName = json.results.rsarray.contents.firstname;
  358. usermodel.moodleUserId = json.results.rsarray.contents.moodleuserid;
  359. usermodel.useremail = json.results.rsarray.contents.userdetails.email;
  360. usermodel.userprofilepicture = json.results.rsarray.contents.userdetails.profilepicture;
  361. grademanagementmodel.loggedInUserId = json.results.rsarray.contents.id;
  362. lpmanagementmodel.learningPathLoggedInId = json.results.rsarray.id;
  363. usermodel.usersTabVisibleOnLogin = true;
  364. grademanagementmodel.learningPathEnabled = false;
  365. usermodel.userTabVisible = true
  366. classmgmtmodel.addClassButtonVisible = false;
  367. contentmodel.manageContentVisible = false;
  368. usermodel.manageGradeVisible= false;
  369. classmgmtmodel.editClassButtonVisible = false;
  370. classmgmtmodel.deleteClassButtonVisible = false;
  371. classmgmtmodel.markAttendanceClassButtonVisible = false;
  372. classmgmtmodel.teacherListingAddClassVisibility = false;
  373. grademanagementmodel.ManagelearningPathButton = true;
  374. classmgmtmodel.classStudentsTabVisible = true;
  375. calendarmodel.addCommonEventButtonVisible = true;
  376. calendarmodel.editCommonEventButtonVisible = true;
  377. calendarmodel.deleteCommonEventButtonVisible = true;
  378. reportmodel.adminCommentFieldEditable = false;
  379. reportmodel.adminCommentSubmit = false;
  380. reportmodel.teacherTurnEditingOn = true;
  381. reportmodel.studentTurnEditingOn = false;
  382. grademanagementmodel.manageMusicType = false;
  383. classmgmtmodel.classViewColumnsVisibility = true;
  384. grademanagementmodel.learningPathChapterDraggable= false;
  385. grademanagementmodel.learningPathChapterDropEnabled = false;
  386. grademanagementmodel.learningPathChapterDragMoveEnabled = false;
  387. lpmanagementmodel.lp_Text = "View Chapters";
  388.  
  389. //Learning Path View
  390. //learningpathpm.seeLear ningPathFunForSutdents(usermodel.UserId,lpmanagementmodel.learningPathGradeParentId);
  391. //Content Management Listing
  392. studentpm.chapterListUrl();
  393. //Student tree Listing
  394. studentpm.studentTreeListUrl();
  395. //studentpm.teacherListing();
  396. //Dashboard
  397. gradepm.dashboardDisplay();
  398. //music type listing
  399. studentpm.musicTypeListUrl();
  400.  
  401.  
  402. }
  403. else if ((loginResponse=="Logged in Successfully")&&(loginRolename=="student"))
  404. {
  405. if(json.current_grade == ""){
  406. Alert.show("You have not been assigned to any grade yet, Please contact administrator." , "Alert");
  407. }else{
  408. reportmodel.userSearchVisible = false;
  409. reportmodel.wiseBtnVisibile = false;
  410. reportmodel.reportPageState = 'studentCard';
  411. reportmodel.teacherWiseTreeVisible = false;
  412. reportmodel.schoolWiseTreeVisible = false;
  413. usermodel.usersTabVisibleOnLogin = false;
  414. // student lofing visible sets the visibility for the first 4 buttons in reports tab
  415. reportmodel.studentLoginVisible = false;
  416. calendarmodel.addCommonEventButtonVisible = false;
  417. calendarmodel.editCommonEventButtonVisible = false;
  418. calendarmodel.deleteCommonEventButtonVisible = false;
  419. usermodel.lp_InstructionVisible = false;
  420. usermodel.headerTxt_Lp = "Learning Path";
  421. usermodel.UserPage="teacherStudentView";
  422. usermodel.gradePageState='teacherStudentView';
  423. usermodel.assessmentPageState = 'studentView';
  424. mx.core.FlexGlobals.topLevelApplication.currentState='gradePage';
  425. usermodel.UserId = json.user.userid;
  426. contentmodel.loginUserId = json.user.userid;
  427. calendarmodel.userObjectId = json.firstsite.id;
  428. usermodel.selectBoxGradeId = json.current_grade.id;
  429. usermodel.selectedGradeName = json.current_grade.contents.name;
  430. lpmanagementmodel.learningPathGradeParentId = json.firstsite.id;
  431. usermodel.dashboardUserId = json.user.userid;
  432. usermodel.SchoolName=json.results.rsarray.contents.school;
  433. usermodel.login = json.results.rsarray.contents.username;
  434. usermodel.loginName = json.results.rsarray.contents.firstname;
  435. usermodel.moodleUserId = json.results.rsarray.contents.moodleuserid;
  436. usermodel.useremail = json.results.rsarray.contents.userdetails.email;
  437. usermodel.userprofilepicture = json.results.rsarray.contents.userdetails.profilepicture;
  438. grademanagementmodel.loggedInUserId = json.results.rsarray.contents.id;
  439. assessmentmodel.userSubmissionID = json.results.rsarray.contents.id;
  440. lpmanagementmodel.learningPathLoggedInId = json.results.rsarray.id;
  441. grademanagementmodel.learningPathEnabled = true;
  442. lpmanagementmodel.completedCheckboxEnable = false;
  443. lpmanagementmodel.availabilityCheckboxEnable = false;
  444. grademanagementmodel.learningPathChapterDraggable= false;
  445. grademanagementmodel.learningPathChapterDropEnabled = false;
  446. grademanagementmodel.learningPathChapterDragMoveEnabled = false;
  447. usermodel.userTabVisible = true;
  448. reportmodel.noStudent = false;
  449. classmgmtmodel.addClassButtonVisible = false;
  450. contentmodel.manageContentVisible = false;
  451. usermodel.manageGradeVisible = false;
  452. classmgmtmodel.editClassButtonVisible = false;
  453. classmgmtmodel.deleteClassButtonVisible = false;
  454. classmgmtmodel.markAttendanceClassButtonVisible = false;
  455. grademanagementmodel.ManagelearningPathButton = false;
  456. grademanagementmodel.ManageLPFunctionalityButton = false;
  457. classmgmtmodel.classStudentsTabVisible = false;
  458. reportmodel.teacherTurnEditingOn = false;
  459. reportmodel.studentTurnEditingOn = false;
  460. grademanagementmodel.manageMusicType = false;
  461. classmgmtmodel.classViewColumnsVisibility = false;
  462. lpmanagementmodel.lp_Text = "View Chapters";
  463.  
  464. //Learning Path View
  465. learningpathpm.seeLearningPathFunForSutdents(lpmanagementmodel.learningPathLoggedInId,lpmanagementmodel.learningPathGradeParentId);
  466. learningpathpm.seeLearningPathFunForSutdents(lpmanagementmodel.learningPathLoggedInId,usermodel.selectBoxGradeId);
  467.  
  468. //Content Management Listing
  469. studentpm.chapterListUrl();
  470. //Dashboard
  471. //gradepm.dashboardDisplay();
  472. //available grades on login
  473. learningpathpm.availableGradeOnLogin(grademanagementmodel.loggedInUserId);
  474. //content repository folder listing
  475. contentrepopm.contentRepoListFolder();
  476. }
  477. }
  478. else {
  479. Alert.show(loginResponse);
  480. usermodel.LoginProgress = false;
  481. }
  482. }
  483.  
  484. public function logincheckFault(event:FaultEvent):void {
  485. //Alert.show("fault event");
  486. usermodel.LoginProgress = false;
  487. var faultstring:String = event.fault.faultString;
  488. //Alert.show(event.fault.faultDetail);
  489. Alert.show("Oops… The system encountered a problem… Please check your Internet connection…","Alert");
  490. }
  491.  
  492. /* dashboard events */
  493. [MessageHandler]
  494. public function dashboardEventList (message:EventListDashBoardMessage) : void {
  495. var eventlistservice:HTTPService = new HTTPService();
  496. eventlistservice.url = urlmodel.liveurl+"event/list/events1/"+contentmodel.loginUserId;
  497. //Alert.show(eventlistservice.url);
  498. eventlistservice.method = "GET";
  499. eventlistservice.send();
  500. eventlistservice.requestTimeout = 0;
  501. eventlistservice.addEventListener("result", eventstatsResult);
  502. eventlistservice.addEventListener("fault", eventstatsFault);
  503. }
  504. public function eventstatsResult(event:ResultEvent):void {
  505. var result:Object = event.result;
  506. var json:Object = JSON.decode(event.result as String);
  507. //contentmodel.dashBoardEventList = json.results;
  508. }
  509. public function eventstatsFault(event:FaultEvent):void {
  510. var faultstring:String = event.fault.faultString;
  511. //Alert.show(faultstring);
  512. }
  513.  
  514. /*Logout*/
  515. [MessageHandler]
  516. public function Logout(message:logoutMessage) : void {
  517. //Alert.show("logout");
  518. var logoutPage:HTTPService = new HTTPService();
  519. logoutPage.url = urlmodel.liveurl+"user/logout";
  520. logoutPage.method = "GET";
  521. logoutPage.send();
  522. logoutPage.addEventListener("result", logoutPageResult);
  523. mx.core.FlexGlobals.topLevelApplication.currentState='loginPage';
  524. }
  525.  
  526. public function logoutPageResult(event:ResultEvent):void {
  527. NativeApplication.nativeApplication.exit(0);
  528. var result:Object = event.result;
  529. var json:Object = JSON.decode(event.result as String);
  530. // state.NativeWindow.fscommand("quit");
  531.  
  532. usermodel.usernameText="";
  533. usermodel.passwordText="";
  534. contentmodel.chapterList = null;
  535. contentmodel.topicList = null;
  536. contentmodel.sectionList = null;
  537. contentmodel.subSectionContentlist = null;
  538. contentmodel.classMangList = null;
  539. assessmentmodel.assessmentPendingUsersListing = null;
  540. assessmentmodel.assessmentNewUsersListing = null;
  541. assessmentmodel.assessmentTotalUsersListing = null;
  542. grademanagementmodel.learningPathSchoolTreeUserName == null
  543. assessmentmodel.quizID = NaN;
  544. contentmodel.sectionID = NaN;
  545. grademanagementmodel.LPbuttonSelected = null;
  546. usermodel.manageGradeVisible = false;
  547. usermodel.currentContentTreeState='State1';
  548. assessmentmodel.assessmentsQuestion = "";
  549. assessmentmodel.quizListing = null;
  550. assessmentmodel.studentQuestionListing = null;
  551.  
  552. }
  553.  
  554. /* dashboard */
  555.  
  556. [MessageHandler]
  557. public function dashboardFunction(message:DashboardMessage) : void {
  558. lpmanagementmodel.noDashboard = false;
  559. grademanagementmodel.totalChapters = "";
  560. grademanagementmodel.totalStudents = "";
  561. grademanagementmodel.totalClasses = "";
  562. grademanagementmodel.totalSchools = "";
  563. grademanagementmodel.totalTeachers = "";
  564. grademanagementmodel.assignmentCount = "";
  565. grademanagementmodel.userCount = "";
  566. grademanagementmodel.contentCount = null;
  567. grademanagementmodel.classesCount = null;
  568. contentmodel.dashBoardEventList = null;
  569. grademanagementmodel.dashboardProfilePicture = "";
  570. usermodel.login = "";
  571. grademanagementmodel.DashboardCurrentChapContentsListing = [];
  572. grademanagementmodel.DashboardNextChapContentsListing = [];
  573. grademanagementmodel.DashboardNextChapContentsListing = [];
  574. grademanagementmodel.DashboardPreviousChapContentsListing = [];
  575. grademanagementmodel.DashboardPreviousChapContentsListing = [];
  576. grademanagementmodel.currentChapter = "";
  577. grademanagementmodel.previousChapter = "";
  578. grademanagementmodel.nextChapter = "";
  579. grademanagementmodel.dashboardProgress = true;
  580. var dashboardService:HTTPService = new HTTPService();
  581. dashboardService.url = urlmodel.liveurl+"application/dashboard/"+calendarmodel.userObjectId+"/"+usermodel.UserId+"/"+usermodel.selectBoxGradeId;
  582. //Alert.show(dashboardService.url);
  583. dashboardService.method = "GET";
  584. dashboardService.send();
  585. dashboardService.addEventListener("result", dashboardResult);
  586. dashboardService.addEventListener("fault", dashboardFault);
  587. }
  588. public function dashboardResult(event:ResultEvent):void {
  589. var result:Object = event.result;
  590. var json:Object = JSON.decode(event.result as String);
  591. //Alert.show(result.toString());
  592. if(json.error == "0"){
  593. if((json.dashboard.chapters.current == null)&&(json.dashboard.chapters.previous == null)&&(json.dashboard.chapters.later == null)){
  594. lpmanagementmodel.noDashboard = true;
  595. lpmanagementmodel.emptyDashboardText = "Chapters are not available for this Grade";
  596. }else{
  597. lpmanagementmodel.noDashboard = false;
  598. }
  599. }else if (json.error == "-1"){
  600. lpmanagementmodel.noDashboard = true;
  601. lpmanagementmodel.emptyDashboardText = "This Grade is not available";
  602. }
  603. grademanagementmodel.dashboardProgress = false;
  604. grademanagementmodel.dashboardUserName = json.dashboard.userdetails.firstname;
  605. grademanagementmodel.totalChapters = json.dashboard.chaptercount;
  606. grademanagementmodel.totalStudents = json.dashboard.students;
  607. grademanagementmodel.totalClasses = json.dashboard.classes;
  608. grademanagementmodel.totalSchools = json.dashboard.schools;
  609. grademanagementmodel.totalTeachers = json.dashboard.teachers;
  610. grademanagementmodel.assignmentCount = json.dashboard.assessmentcount;
  611. grademanagementmodel.userCount = json.dashboard.usercount;
  612. grademanagementmodel.contentCount = json.dashboard.contentcount;
  613. grademanagementmodel.classesCount = json.dashboard.classes;
  614.  
  615. if(json.eventlist == null)
  616. {
  617. contentmodel.dashBoardEventList = classmgmtmodel.noClassesArray;
  618. //classmgmtmodel.classNameTextVisibility = false;
  619. lpmanagementmodel.noagenda = true;
  620. }
  621. else
  622. {
  623. lpmanagementmodel.noagenda = false;
  624. contentmodel.dashBoardEventList = json.eventlist;
  625. //classmgmtmodel.classNameTextVisibility = true;
  626. }
  627. if(json.dashboard.userdetails.creatordetails.profilepicture == null)
  628. {
  629. grademanagementmodel.dashboardProfilePicture = "static/profilepic/noicon.jpg";
  630. }else{
  631. grademanagementmodel.dashboardProfilePicture = json.dashboard.userdetails.creatordetails.profilepicture;
  632. }
  633. grademanagementmodel.DashboardNewAssessmentsListing = json.dashboard.assesments;
  634.  
  635. if((json.dashboard.currentcontentlist == null)||(json.dashboard.currentcontentlist == ""))
  636. {
  637. grademanagementmodel.DashboardCurrentChapContentsListing = grademanagementmodel.noContentsArray;
  638. }
  639. else
  640. {
  641.  
  642. grademanagementmodel.DashboardCurrentChapContentsListing = json.dashboard.currentcontentlist;
  643. }
  644.  
  645. if((json.dashboard.nextcontentlist == null)||(json.dashboard.nextcontentlist == ""))
  646. {
  647.  
  648. grademanagementmodel.DashboardNextChapContentsListing = grademanagementmodel.noContentsArray;
  649. }
  650. else
  651. {
  652.  
  653. grademanagementmodel.DashboardNextChapContentsListing = json.dashboard.nextcontentlist;
  654. }
  655. if((json.dashboard.prevcontentlist == null)||(json.dashboard.prevcontentlist == ""))
  656. {
  657.  
  658. grademanagementmodel.DashboardPreviousChapContentsListing = grademanagementmodel.noContentsArray;
  659. }
  660. else
  661. {
  662. grademanagementmodel.DashboardPreviousChapContentsListing = json.dashboard.prevcontentlist;
  663. }
  664.  
  665. //grademanagementmodel.noOfAssignments = grademanagementmodel.DashboardNewAssessmentsListing.length;
  666.  
  667. if(json.dashboard.chapters.current != null){
  668. grademanagementmodel.currentChapter = json.dashboard.chapters.current.contents.name;
  669. }else{
  670. grademanagementmodel.currentChapter = "No Chapter";
  671. }
  672. if(json.dashboard.chapters.previous != null){
  673. grademanagementmodel.previousChapter = json.dashboard.chapters.previous.contents.name;
  674. }else{
  675. grademanagementmodel.previousChapter = "No Chapter";
  676. }
  677. if(json.dashboard.chapters.later != null){
  678. grademanagementmodel.nextChapter = json.dashboard.chapters.later.contents.name;
  679. }else{
  680. grademanagementmodel.nextChapter = "No Chapter";
  681. }
  682.  
  683. }
  684. public function dashboardFault(event:FaultEvent):void {
  685. var faultstring:String = event.fault.faultString;
  686. //Alert.show(faultstring);
  687. grademanagementmodel.dashboardProgress = false;
  688. }
  689. }
  690. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement