| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- package com.imt.intimamedia.commands.user
- {
- import com.adobe.cairngorm.control.CairngormEvent;
- import com.imt.flex.cairngormExtended.command.SuperCommand;
- import com.imt.intimamedia.business.UserDelegate;
- import com.imt.intimamedia.events.patient.SearchPatientEvent;
- import com.imt.intimamedia.events.user.LoginEvent;
- import com.imt.intimamedia.helpers.HelpUtils;
- import com.imt.intimamedia.model.ApplicationModelLocator;
- import com.imt.intimamedia.views.common.ImtToaster;
- import com.imt.intimamedia.vo.ReturnObjectVo;
- import com.imt.intimamedia.vo.UserVo;
-
- import mx.collections.ArrayCollection;
- import mx.controls.Alert;
- import mx.core.Application;
- import mx.resources.ResourceManager;
- import mx.rpc.events.FaultEvent;
- import mx.rpc.events.ResultEvent;
-
- /**
- * Commande d'identification
- */
- public class LoginCommand extends SuperCommand
- {
- /**
- * Excecution de la commande
- *
- * @param event Evénement de type CairngormEvent
- * @return void
- */
- override public function execute( event : CairngormEvent ) : void
- {
- super.execute( event );
-
- var delegate : UserDelegate = new UserDelegate( this );
-
- var loginEvent : LoginEvent = LoginEvent( event );
-
- delegate.login( loginEvent.user );
- }
-
- /**
- * Résultat de la commande
- *
- * @param result Un objet
- * @return void
- */
- override public function result( result : Object ) : void
- {
- super.result( result );
-
- var resultEvent : ResultEvent = ResultEvent( result );
-
- var returnObjectVo : ReturnObjectVo = resultEvent.result as ReturnObjectVo;
-
- ApplicationModelLocator.getInstance().connectedUser = returnObjectVo.value as UserVo;
- ApplicationModelLocator.getInstance().token = returnObjectVo.token;
-
- ApplicationModelLocator.getInstance().physicianMenuActive = true;
- ApplicationModelLocator.getInstance().generalMenuActive = false;
-
- ApplicationModelLocator.getInstance().activeView = ApplicationModelLocator.getInstance().application.menuPhysician;
- ApplicationModelLocator.getInstance().application.menuPhysician.selectedIndex = 0;
-
- Application.application.flags.changeLanguage(ApplicationModelLocator.getInstance().connectedUser.language);
-
- new SearchPatientEvent( "", null ).dispatch();
-
- // load help if needed
- if (ApplicationModelLocator.getInstance().connectedUser.help)
- {
- HelpUtils.loadHelp(HelpUtils.buildPatientHelpPages(), 0);
- }
- }
-
- /**
- * Résultat de la commande
- *
- * @param result Un objet
- * @return void
- */
- override public function fault( fault : Object ) : void
- {
- super.fault( fault );
-
- if (( fault as FaultEvent ).fault.faultString == ApplicationModelLocator.getInstance().ACCOUNT_NOT_CONFIRMED )
- {
- ApplicationModelLocator.displayAccountError( fault as FaultEvent );
- }
- else
- {
- var toastMessage : ImtToaster = new ImtToaster();
- toastMessage.titleMessage = ResourceManager.getInstance().getString('labels', 'error.title');
- toastMessage.message = ResourceManager.getInstance().getString('labels', 'error.login') + " (" + ResourceManager.getInstance().getString('errors', ( fault as FaultEvent ).fault.faultString) +")";
-
- toastMessage.level = ImtToaster.ERROR;
-
- ApplicationModelLocator.getInstance().toaster.toast( toastMessage );
- }
- }
- }
- }
|