Changeset 636 for FOIAVistA/tag/r/IMAGING-MAG-ZMAG/MAGGTU9.m
- Timestamp:
- Dec 4, 2009, 8:26:01 PM (14 years ago)
- Location:
- FOIAVistA/tag/r
- Files:
-
- 1 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
FOIAVistA/tag/r/IMAGING-MAG-ZMAG/MAGGTU9.m
r628 r636 1 1 MAGGTU9 ;WOIFO/LB/GEK - Imaging utilities assign key 2 ;;3.0;IMAGING;**8,59**;Nov 27, 2007;Build 20 3 ;; Per VHA Directive 2004-038, this routine should not be modified. 2 ;;3.0;IMAGING;**8**;Sep 15, 2004 4 3 ;; +---------------------------------------------------------------+ 5 4 ;; | Property of the US Government. | … … 18 17 ;; 19 18 Q 20 CHKKEY ; 21 N NOGIVE 22 S NOGIVE=1 23 GIVEKEY ;Give MAGDISP CLIN key to all MAG WINDOWS option holders 24 ; that have neither MAGDISP CLIN nor MAGDISP ADMIN 19 EN ;Give MAGDISP CLIN key to all MAG WINDOWS option holders. 25 20 ; Find the menu option's IEN 26 N MKEYC,MKEYA,ERR,OPT,MAGUSER,I,KEYCLIN,KEYADMIN,KEYCT,KEYECT,XCT 27 N KEYHASC,KEYHASA,KEYHASB,KEYNONE,SP,LSP 28 N UCT,UTOT,OPTACC,MDOT,UDISCT 29 ; This could be made Generic if ever a need, to search for users 30 ; withour either key, and assigned those users the first (KEYCLIN) 31 S KEYCLIN="MAGDISP CLIN" 32 S KEYADMIN="MAGDISP ADMIN" 21 N MKEY,ERR,OPT,MAGUSER,I,KEYNM,KEYCT,KEYECT,XCT,KEYHAS 22 N UCT,UTOT,OPTACC,MDOT 23 S KEYNM="MAGDISP CLIN" 33 24 S KEYCT=0 ; count of number of users that were assigned the key. 34 25 S KEYECT=0 ; count of number of errors during the assignment. 35 S KEYHASC=0 ; count of number of users that already have key Clin 36 S KEYHASA=0 ; count of number of users that already have key Admin 37 S KEYHASB=0 ; count of number of users that Have Both keys 38 S KEYNONE=0 ; count of Users that have Neither Key. 26 S KEYHAS=0 ; count of number of users that already have key. 39 27 S OPTACC=0 ; count of users with access to MAG WINDOWS. 40 S UDISCT=0 ; count of Disabled Users Skipped.41 28 S MDOT=10000 ; print '.' to screen to show progress. 42 29 S UCT=0 ; user count. for progress 43 30 S UTOT=$P(^VA(200,0),"^",4) 44 ; 45 I $G(NOGIVE) D 46 . D MES^XPDUTL("Checking for users that have access to Option : "_"MAG WINDOWS") 47 . D MES^XPDUTL(" but do not have either '"_KEYCLIN_"' or '"_KEYADMIN_"' Keys") 48 . D MES^XPDUTL(" Disabled users (DISUSER=1) are skipped, they are not checked.") 49 . Q 50 E D MES^XPDUTL("Assigning "_KEYCLIN_" to all users with access to Option : "_"MAG WINDOWS") 51 D MES^XPDUTL(" ") 31 ; 32 D MES^XPDUTL("Assigning "_KEYNM_" to all users with access to Option : "_"MAG WINDOWS") 52 33 S OPT=$$FIND1^DIC(19,"","X","MAG WINDOWS","","","ERR") 53 34 I OPT="" D MES^XPDUTL("ERROR ",$G(ERR("DIERR",1,"TEXT",1))) Q 54 35 I OPT=0 D MES^XPDUTL("MAG WINDOWS wasn't found in Option File") Q 55 36 ; Lookup the security key 56 S MKEYC=$$LKUP^XPDKEY(KEYCLIN) 57 S MKEYA=$$LKUP^XPDKEY(KEYADMIN) 58 I ('MKEYC)!('MKEYA) D MES^XPDUTL("ERROR: Imaging Display Keys are not defined at this site") Q 59 ; Check all Users at site to see if they don't have either Clin or Admin 37 S MKEY=$$LKUP^XPDKEY(KEYNM) 38 I 'MKEY D MES^XPDUTL("ERROR "_KEYNM_" Key wasn't found") Q 39 ; Give users the Key, if they don't have it already 60 40 D MES^XPDUTL("Checking users...") 61 D MES^XPDUTL(" ")62 41 S I=0 F S I=$O(^VA(200,I)) Q:'I D 63 . I $$GET1^DIQ(200,I,7,"E")]"" S UDISCT=UDISCT+1 Q64 42 . S UCT=UCT+1 I UCT>MDOT S MDOT=MDOT+10000 D MES^XPDUTL(UCT_" of "_UTOT_" users checked...") 65 . I (($$ACCESS^XQCHK(I,OPT))>0) S OPTACC=OPTACC+1 D C(I)43 . I (($$ACCESS^XQCHK(I,OPT))>0) S OPTACC=OPTACC+1 D GIVEKEY(MKEY,KEYNM,I) 66 44 . Q 67 S SP=" " 68 S LSP=$L(UTOT)+3 69 D MES^XPDUTL(" ") 70 I $G(NOGIVE) D 71 . D MES^XPDUTL($E(SP,1,LSP-$L(OPTACC))_OPTACC_" of "_UTOT_" Users have access to option MAG WINDOWS.") 72 . D MES^XPDUTL($E(SP,1,LSP-$L(KEYHASB))_KEYHASB_" Users have Both Keys ") 73 . D MES^XPDUTL($E(SP,1,LSP-$L(KEYHASC))_KEYHASC_" Users only have "_KEYCLIN_" key") 74 . D MES^XPDUTL($E(SP,1,LSP-$L(KEYHASA))_KEYHASA_" Users only have "_KEYADMIN_" key") 75 . D MES^XPDUTL($E(SP,1,LSP-$L(KEYNONE))_KEYNONE_" Users have neither Key") 76 . I KEYECT>0 D MES^XPDUTL(KEYECT_" Errors during Key Assignment. See install log for details") 77 . Q 78 I '$G(NOGIVE) D 79 . D MES^XPDUTL($E(SP,1,LSP-$L(OPTACC))_OPTACC_" of "_UTOT_" Users have access to option MAG WINDOWS.") 80 . D MES^XPDUTL($E(SP,1,LSP-$L(KEYHASB))_KEYHASB_" Users already have Both Keys ") 81 . D MES^XPDUTL($E(SP,1,LSP-$L(KEYHASC))_KEYHASC_" Users have Only Key "_KEYCLIN) 82 . D MES^XPDUTL($E(SP,1,LSP-$L(KEYHASA))_KEYHASA_" Users have Only Key "_KEYADMIN) 83 . D MES^XPDUTL($E(SP,1,LSP-$L(KEYCT))_KEYCT_" Users were assigned key: "_KEYCLIN) 84 . D MES^XPDUTL("Assignment Complete.") 85 . I KEYECT>0 D MES^XPDUTL(KEYECT_" Errors during Key Assignment. See install log for details") 86 . Q 45 D MES^XPDUTL(OPTACC_" of "_UTOT_" Users have access to option MAG WINDOWS.") 46 D MES^XPDUTL(KEYHAS_" Users already have Key "_KEYNM) 47 D MES^XPDUTL(KEYCT_" Users were assigned key: "_KEYNM) 48 D MES^XPDUTL("Assignment Complete.") 49 I KEYECT>0 D MES^XPDUTL(KEYECT_" Errors during Key Assignment. See install log for details") 87 50 Q 88 C(USER) ; 89 ; check KEY for USER 90 N DO,D1,MFDA,ZC,ZA,MIEN 91 ; check to see if they have the Clin key 92 S ZC=$$FIND1^DIC(200.051,","_USER_",","",KEYCLIN) 93 I ZC="" D Q 94 . D MES^XPDUTL("ERROR Validating that user ("_USER_") has Key "_KEYCLIN) 51 GIVEKEY(KEY,KEYNM,USER) ; 52 ; Give KEY to USER 53 N DO,D1,MFDA,Z,MIEN 54 ; Quit if they already have the key 55 S Z=$$FIND1^DIC(200.051,","_USER_",","",KEYNM) 56 I +Z S KEYHAS=KEYHAS+1 57 Q:Z ; Already have key 58 I Z="" D Q 59 . D MES^XPDUTL("ERROR Validating that user ("_USER_") has key ("_KEYNM_")") 95 60 . S KEYECT=KEYECT+1 96 . Q 97 ; check to see if they have the Admin key 98 S ZA=$$FIND1^DIC(200.051,","_USER_",","",KEYADMIN) 99 I ZA="" D Q 100 . D MES^XPDUTL("ERROR Validating that user ("_USER_") has Key "_KEYADMIN) 101 . S KEYECT=KEYECT+1 102 . Q 103 I ((+ZC)&(+ZA)) S KEYHASB=KEYHASB+1 Q 104 I +ZC S KEYHASC=KEYHASC+1 Q 105 I +ZA S KEYHASA=KEYHASA+1 Q 106 S KEYNONE=KEYNONE+1 107 I $G(NOGIVE) D Q 108 . D MES^XPDUTL("User: "_$P($G(^VA(200,USER,0)),"^")_" has neither Key") 109 . Q 110 S MFDA(200.051,"+1,"_USER_",",.01)=MKEYC 61 ; 62 S MFDA(200.051,"+1,"_USER_",",.01)=KEY 111 63 S MFDA(200.051,"+1,"_USER_",",1)=DUZ 112 64 S MFDA(200.051,"+1,"_USER_",",2)=DT 113 S MIEN(1)= MKEYC_","65 S MIEN(1)=KEY_"," 114 66 D UPDATE^DIE("","MFDA","MIEN") 115 67 I $D(DIERR) D Q 116 . D MES^XPDUTL("ERROR Assigning Key ("_KEYCLIN_") to user ("_USER_")")68 . D MES^XPDUTL("ERROR Assigning key ("_KEYNM_") to user ("_USER_")") 117 69 . S KEYECT=KEYECT+1 118 70 . D CLEAN^DILF
Note:
See TracChangeset
for help on using the changeset viewer.