Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: LEXDMGU

LEXDMGU.m

Go to the documentation of this file.
  1. LEXDMGU ;ISL/KER - Defaults - Manager/User Group ;04/21/2014
  1. ;;2.0;LEXICON UTILITY;**80**;Sep 23, 1996;Build 1
  1. ;
  1. ; Global Variables
  1. ; None
  1. ;
  1. ; External References
  1. ; ^DIR ICR 10026
  1. ;
  1. ; LEXDICS(0) Filter name
  1. ; LEXSHOW(0) Display name
  1. ; LEXSUB(0) Vocabulary name
  1. ; LEXCTX(0) Shortcut Context name
  1. ;
  1. ; LEXC Counter
  1. ; LEXI Incremental counter
  1. ; LEXS Service
  1. ; LEXMORE Flag - Select more users (Y/N)
  1. ; LEXOVER Flag - Overwrite user defaults (Y/N)
  1. ; LEXSEL User input/selection
  1. ; LEXUSR Flag - User has been selected
  1. ; LEXVER Flag - Default values are verified (Y/N)
  1. ; LEXX Return value
  1. ;
  1. ; LEXLIM Limits (parameter for LEXMETH)
  1. ; LEXMETH Method, singel user, by service or all users
  1. ;
  1. USER(LEXX) ; User or user group by name or by type
  1. N LEXUSR,LEXMETH,LEXLIM,LEXMORE,LEXOVER,LEXVER
  1. GRP ; Get user/user group
  1. K DIC,DIR S LEXX=""
  1. W ! D DM S (LEXX,LEXUSR)=$$USR I LEXX[U G EXIT
  1. GETUSER ; Get user or user group type
  1. S (LEXMETH,LEXLIM)=""
  1. I +LEXX=1 W ! S LEXLIM=$$USER^LEXDM4,LEXMETH="ONE"
  1. I +LEXX=2 W ! S LEXLIM=$$SERV^LEXDM4,LEXMETH="SEV"
  1. I +LEXX=3 S LEXLIM=1,LEXMETH="ALL"
  1. D LIMIT,METHOD
  1. Q:+($G(LEXLIM))'>0 LEXLIM
  1. ; Check defaults - DEFCK^LEXDMGV
  1. D DEFCK^LEXDMGV
  1. ; Check user - USERCK^LEXDMGV
  1. D USERCK^LEXDMGV
  1. ; Ask to overwrite defaults - $$OVER^LEXDMGO
  1. S LEXOVER=$$OVER^LEXDMGO
  1. Q:LEXOVER["^^" "^^"
  1. ; Verify before setting global - $$VER^LEXDMGV
  1. S LEXVER=$$VER^LEXDMGV
  1. S:LEXVER[U LEXS=U S:LEXVER["^^" LEXX="^^" Q:LEXX[U LEXX
  1. D:+($G(LEXVER))>0 UPDATE^LEXDMGT
  1. ; More users
  1. S LEXMORE=0 I +($G(LEXUSR))>0,+($G(LEXUSR))<3 S LEXMORE=1
  1. I +($G(LEXMORE))>0,LEXX'["^^" D G:+($G(LEXMORE))>0 GRP
  1. . S LEXMORE=$$MOREUSR
  1. Q LEXX
  1. LIMIT ; Check search limits
  1. Q:+($G(LEXLIM))>0 S:LEXLIM["^^" LEXLIM="^^" Q:LEXLIM[U
  1. S LEXLIM=U Q
  1. METHOD ; Check search method
  1. Q:+($G(LEXLIM))>0 S:LEXLIM[U!($G(LEXLIM)="") LEXMETH="" Q
  1. EXIT ; Quit USER selection
  1. Q LEXX
  1. MOREUSR(LEXX) ; Want to set the current defaults for more users?
  1. N DIR,DTOUT,DUOUT,DIRUT,DIROUT,X,Y
  1. S DIR("A",1)="Do you wish to set the currently selected user"
  1. S DIR("A")="defaults to another user or group of users? "
  1. S DIR("B")="No",(DIR("?"),DIR("??"))="^D MOREHLP^LEXDMGU"
  1. S DIR(0)="YAO" D ^DIR K DIR S LEXX=+Y Q:$D(DTOUT) "^" S:X[U LEXX=U
  1. S:X["^^" LEXX="^^" Q:LEXX[U LEXX S LEXX=+Y Q LEXX
  1. MOREHLP ; More user help
  1. D CD W !,"The defaults you selected may be applied to another user/user group",!
  1. Q
  1. USR(LEXX) ; Get response for USER
  1. W ! N Y,DTOUT,DUOUT,DIRUT,DIROUT S DIR("A")="Select 1-3: "
  1. S DIR("B")=1,(DIR("?"),DIR("??"))="^D USRHLP^LEXDMGU"
  1. S DIR(0)="NAO^1:3:0" D ^DIR K DIR S LEXX=+Y
  1. Q:$D(DTOUT) "^^" S:X[U LEXX=U S:X["^^" LEXX="^^" Q:LEXX[U LEXX
  1. S:+Y>0&(+Y<6) LEXX=+Y Q LEXX
  1. Q
  1. USRHLP ; Help for respons to USER
  1. I X'["?",+X<1!(+X>3) D Q
  1. . W !!,"Press <Return> to continue, "
  1. . W """^"" to exit or select (1-3)" D DM
  1. I '$L(($G(LEXDICS(0))_$G(LEXSHOW(0))_$G(LEXSUB(0))_$G(LEXCTX(0)))) D Q
  1. . W !!,"Press <Return> to continue, "
  1. . W """^"" to exit or select (1-3)" D DM
  1. D CD W !,"The default selections listed above may be applied to either"
  1. W !,"a single user, a user group based on service, or all users."
  1. W !,"You may either select a user/user group (1-3), or press "
  1. W !,"<Return> to continue, or ""^"" to exit." D DM
  1. Q
  1. CD ; Current defaults
  1. W !!,"Current default selections:",!
  1. W !," Filter - "
  1. W $S($L($G(LEXDICS(0))):$G(LEXDICS(0)),1:"Not selected")
  1. W !," Display - "
  1. W $S($L($G(LEXSHOW(0))):$G(LEXSHOW(0)),1:"Not selected")
  1. W !," Vocabulary - "
  1. W $S($L($G(LEXSUB(0))):$G(LEXSUB(0)),1:"Not selected")
  1. W !," Shortcuts - "
  1. W $S($L($G(LEXCTX(0))):$G(LEXCTX(0)),1:"Not selected") W !
  1. Q
  1. DM ; Display menu
  1. W !!,"User/User groups:",!
  1. N LEXC F LEXC=1:1:999 Q:$P($T(UM+LEXC^LEXDMGU),";",2)="" D
  1. . W !," ",$J($P($T(UM+LEXC^LEXDMGU),";",2),2)," "
  1. . W $P($T(UM+LEXC^LEXDMGU),";",3)
  1. Q
  1. UM ;; User/user group menu data
  1. ;1;Single User
  1. ;2;Group based on Service
  1. ;3;All Users
  1. ;;