litesoft
@ 496
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
package org.litesoft.datt.client.boviews; import org.litesoft.bo.change.*; import org.litesoft.bo.views.*; import org.litesoft.core.simpletypes.*; import org.litesoft.core.util.*; import org.litesoft.datt.client.support.*; import org.litesoft.security.*; public final class UserView extends UserViewGO implements Precommitable, SecurityUserView<UserView> { @Deprecated protected UserView() // For Serialization { } protected UserView( boolean pNew, org.litesoft.bo.views.TransactionSet pTransactionSet ) { super( pNew, pTransactionSet ); } public static UserView createNew() { UserView zVO = new UserView( true, UserViewDataProvider.getInstance().createTransactionSet() ); zVO.initialize(); return zVO; } @Override public void aboutToCommit() { if ( UtilsCommon.areNotNull( getCurrentPassword(), getNewPassword(), getConfirmPassword() ) ) { setResetPassword( false ); clearPasswordFields(); } } public UserView clearPasswordFields() { setCurrentPassword( null ); setNewPassword( null ); setConfirmPassword( null ); return this; } public String getFullName() { String rv = getFirstName() + " "; if ( UtilsCommon.isNotNullOrEmpty( getMiddleInitial() ) ) { rv += getMiddleInitial() + ". "; } return rv + getLastName(); } public boolean canResetPassword() { return anyOf( getHelpDeskMember(), getRestrictedResourceManage(), getSuperAdmin() ); } public boolean canChange_HelpDeskMember() { return anyOf( getHelpDeskMember(), getSuperAdmin() ); } public boolean canChange_RestrictedResourceManage() { return anyOf( getRestrictedResourceManage(), getSuperAdmin() ); } public boolean canChange_SuperAdmin() { return Boolean.TRUE.equals( getSuperAdmin() ); } private boolean anyOf( Boolean... pFlags ) { for ( Boolean zFlag : pFlags ) { if ( Boolean.TRUE.equals( zFlag ) ) { return true; } } return false; } // The following are only valid on a successfully logged in user! private AlternateRestrictedResourceOption[] mAlternateRestrictedResourceOptions; public AlternateRestrictedResourceOption[] getAlternateRestrictedResourceOptions() { return mAlternateRestrictedResourceOptions; } public void setAlternateRestrictedResourceOptions( AlternateRestrictedResourceOption[] pAlternateRestrictedResourceOptions ) { mAlternateRestrictedResourceOptions = pAlternateRestrictedResourceOptions; } private SecurityRestrictedResourceView mCurrentRestrictedResource; public SecurityRestrictedResourceView getCurrentRestrictedResource() { return mCurrentRestrictedResource; } public void setCurrentRestrictedResource( SecurityRestrictedResourceView pCurrentRestrictedResource ) { mCurrentRestrictedResource = pCurrentRestrictedResource; } public boolean isDemo() { return Boolean.TRUE.equals( getDemoUser() ); } public boolean isGuest() { return false; // Todo: Add real guest flag } public static UserView get( IViewObject[] pViewObjects, int pIndex ) { return ((pViewObjects != null) && (pIndex < pViewObjects.length)) ? (UserView) pViewObjects[pIndex] : null; } public AccessKey getAccessKey() { int zFlags = BitFlag.bit( Permissions.sAdminFlag, getCanAdministrate() ) + // BitFlag.bit( Permissions.sRestrictedResourceMgrFlag, getRestrictedResourceManage() ) + // BitFlag.bit( Permissions.sSprAdminFlag, getSuperAdmin() ) + // BitFlag.bit( Permissions.sHelpDeskFlag, getHelpDeskMember() ) + // BitFlag.bit( Permissions.sNonGuestFlag, !isGuest() ) + // Permissions.BIT.none(); TextLines zAllowedRoles = getCurrentRestrictedResourceAllowedRoles(); for ( TextLine zRole : zAllowedRoles ) { zFlags += Role.getBitFor( zRole.getLine() ); } return new AccessKey( zFlags ); } } |