source: FOIAVistA/trunk/r/LEXICON_UTILITY-LEX-GMPT/LEXDMGU.m@ 1596

Last change on this file since 1596 was 628, checked in by George Lilly, 15 years ago

initial load of FOIAVistA 6/30/08 version

File size: 4.3 KB
Line 
1LEXDMGU ; ISL Defaults - Manager/User Group ; 09-23-96
2 ;;2.0;LEXICON UTILITY;;Sep 23, 1996
3 ;
4 ; LEXDICS(0) Filter name
5 ; LEXSHOW(0) Display name
6 ; LEXSUB(0) Vocabulary name
7 ; LEXCTX(0) Shortcut Context name
8 ;
9 ; LEXC Counter
10 ; LEXI Incremental counter
11 ; LEXL Location
12 ; LEXS Service
13 ; LEXMORE Flag - Select more users (Y/N)
14 ; LEXOVER Flag - Overwrite user defaults (Y/N)
15 ; LEXSEL User input/selection
16 ; LEXUSR Flag - User has been selected
17 ; LEXVER Flag - Default values are verified (Y/N)
18 ; LEXX Return value
19 ;
20 ; LEXLIM Limits (parameter for LEXMETH)
21 ; LEXMETH Method, singel user, by service, by location,
22 ; by both service and location, or all users
23 ;
24USER(LEXX) ; User or user group by name or by type
25 N LEXUSR,LEXMETH,LEXLIM,LEXMORE,LEXOVER,LEXVER
26GRP ; Get user/user group
27 K DIC,DIR S LEXX=""
28 W ! D DM S (LEXX,LEXUSR)=$$USR I LEXX[U G EXIT
29GETUSER ; Get user or user group type (Service/Location)
30 S (LEXMETH,LEXLIM)=""
31 I +LEXX=1 W ! S LEXLIM=$$USER^LEXDM4,LEXMETH="ONE"
32 I +LEXX=2 W ! S LEXLIM=$$SERV^LEXDM4,LEXMETH="SEV"
33 I +LEXX=3 W ! S LEXLIM=$$LOC^LEXDM4,LEXMETH="LOC"
34 I +LEXX=4 D
35 . N LEXS,LEXL W ! S LEXS=$$SERV^LEXDM4
36 . I LEXS=U!(LEXS="^^")!(+LEXS'>0) S LEXLIM=LEXS Q
37 . W ! S LEXL=$$LOC^LEXDM4
38 . I LEXL=U!(LEXL="^^")!(+LEXL'>0) S LEXLIM=LEXL Q
39 . S LEXLIM=LEXS_";"_LEXL,LEXMETH="SAL"
40 I +LEXX=5 S LEXLIM=1,LEXMETH="ALL"
41 D LIMIT,METHOD
42 Q:+($G(LEXLIM))'>0 LEXLIM
43 ; Check defaults - DEFCK^LEXDMGV
44 D DEFCK^LEXDMGV
45 ; Check user - USERCK^LEXDMGV
46 D USERCK^LEXDMGV
47 ; Ask to overwrite defaults - $$OVER^LEXDMGO
48 S LEXOVER=$$OVER^LEXDMGO
49 Q:LEXOVER["^^" "^^"
50 ; Verify before setting global - $$VER^LEXDMGV
51 S LEXVER=$$VER^LEXDMGV
52 S:LEXVER[U LEXS=U S:LEXVER["^^" LEXX="^^" Q:LEXX[U LEXX
53 D:+($G(LEXVER))>0 UPDATE^LEXDMGT
54 ; More users
55 S LEXMORE=0 I +($G(LEXUSR))>0,+($G(LEXUSR))<5 S LEXMORE=1
56 I +($G(LEXMORE))>0,LEXX'["^^" D G:+($G(LEXMORE))>0 GRP
57 . S LEXMORE=$$MOREUSR
58 Q LEXX
59LIMIT ; Check search limits
60 Q:+($G(LEXLIM))>0 S:LEXLIM["^^" LEXLIM="^^" Q:LEXLIM[U
61 S LEXLIM=U Q
62METHOD ; Check search method
63 Q:+($G(LEXLIM))>0 S:LEXLIM[U!($G(LEXLIM)="") LEXMETH="" Q
64EXIT ; Quit USER selection
65 Q LEXX
66MOREUSR(LEXX) ; Want to set the current defaults for more users?
67 N DIR,DTOUT,DUOUT,DIRUT,DIROUT,X,Y
68 S DIR("A",1)="Do you wish to set the currently selected user"
69 S DIR("A")="defaults to another user or group of users? "
70 S DIR("B")="No",(DIR("?"),DIR("??"))="^D MOREHLP^LEXDMGU"
71 S DIR(0)="YAO" D ^DIR K DIR S LEXX=+Y Q:$D(DTOUT) "^" S:X[U LEXX=U
72 S:X["^^" LEXX="^^" Q:LEXX[U LEXX S LEXX=+Y Q LEXX
73MOREHLP ; More user help
74 D CD W !,"The defaults you selected may be applied to another user/user group",!
75 Q
76USR(LEXX) ; Get response for USER
77 W ! N Y,DTOUT,DUOUT,DIRUT,DIROUT S DIR("A")="Select 1-5: "
78 S DIR("B")=1,(DIR("?"),DIR("??"))="^D USRHLP^LEXDMGU"
79 S DIR(0)="NAO^1:5:0" D ^DIR K DIR S LEXX=+Y
80 Q:$D(DTOUT) "^^" S:X[U LEXX=U S:X["^^" LEXX="^^" Q:LEXX[U LEXX
81 S:+Y>0&(+Y<6) LEXX=+Y Q LEXX
82 Q
83USRHLP ; Help for respons to USER
84 I X'["?",+X<1!(+X>5) D Q
85 . W !!,"Press <Return> to continue, "
86 . W """^"" to exit or select (1-5)" D DM
87 I '$L(($G(LEXDICS(0))_$G(LEXSHOW(0))_$G(LEXSUB(0))_$G(LEXCTX(0)))) D Q
88 . W !!,"Press <Return> to continue, "
89 . W """^"" to exit or select (1-5)" D DM
90 D CD W !,"The default selections listed above may be applied to either"
91 W !,"a single user, a user group based on service/location, or all"
92 W !,"users. You may either select a user/user group (1-5), or "
93 W !,"press <Return> to continue, or ""^"" to exit." D DM
94 Q
95CD ; Current defaults
96 W !!,"Current default selections:",!
97 W !," Filter - "
98 W $S($L($G(LEXDICS(0))):$G(LEXDICS(0)),1:"Not selected")
99 W !," Display - "
100 W $S($L($G(LEXSHOW(0))):$G(LEXSHOW(0)),1:"Not selected")
101 W !," Vocabulary - "
102 W $S($L($G(LEXSUB(0))):$G(LEXSUB(0)),1:"Not selected")
103 W !," Shortcuts - "
104 W $S($L($G(LEXCTX(0))):$G(LEXCTX(0)),1:"Not selected") W !
105 Q
106DM ; Display menu
107 W !!,"User/User groups:",!
108 N LEXC F LEXC=1:1:999 Q:$P($T(UM+LEXC^LEXDMGU),";",2)="" D
109 . W !," ",$J($P($T(UM+LEXC^LEXDMGU),";",2),2)," "
110 . W $P($T(UM+LEXC^LEXDMGU),";",3)
111 Q
112UM ;; User/user group menu data
113 ;1;Single User
114 ;2;Group based on Service
115 ;3;Group based on Hospital Location
116 ;4;Group based on both Service and Hospital Location
117 ;5;All Users
118 ;;
Note: See TracBrowser for help on using the repository browser.