| 1 | XMHIU ;ISC-SF/GMB-User Info ;04/17/2002  09:52
 | 
|---|
| 2 |  ;;8.0;MailMan;;Jun 28, 2002
 | 
|---|
| 3 |  ; Replaces UHELP^XMA7 (ISC-WASH/RJ/THM/CAP)
 | 
|---|
| 4 |  ; Entry points used by MailMan options (not covered by DBIA):
 | 
|---|
| 5 |  ; HELP      XMHELPUSER - Get user info
 | 
|---|
| 6 | HELP ; User Info
 | 
|---|
| 7 |  N DIC,Y,D,XMHDUZ
 | 
|---|
| 8 |  D CHECK^XMVVITAE
 | 
|---|
| 9 |  S DIC=200,DIC(0)="AEQMZN",DIC("A")=$$EZBLD^DIALOG(38009) ;User name:
 | 
|---|
| 10 |  S DIC("S")="I $S('$D(^VA(200,Y,0)):0,Y<1:1,$L($P(^(0),U,3)):1,1:0)"
 | 
|---|
| 11 |  S DIC("W")="D USERINFO^XMXADDR1(Y)"
 | 
|---|
| 12 |  S D="B^BB^C^D" ; name^alias^initial^nickname
 | 
|---|
| 13 |  F  W ! D MIX^DIC1 Q:Y<0  D
 | 
|---|
| 14 |  . S XMHDUZ=+Y
 | 
|---|
| 15 |  . W @IOF,$$NAME^XMXUTIL(XMHDUZ,1)
 | 
|---|
| 16 |  . D DISPUSER(XMHDUZ)
 | 
|---|
| 17 |  . S DIC("W")="D USERINFO^XMXADDR1(Y)"
 | 
|---|
| 18 |  Q
 | 
|---|
| 19 | DISPUSER(XMUSER) ;
 | 
|---|
| 20 |  N XMABORT
 | 
|---|
| 21 |  S XMABORT=0
 | 
|---|
| 22 |  D GENERAL(XMUSER,.XMABORT) Q:XMABORT  ; General info
 | 
|---|
| 23 |  D GROUPS(XMUSER,.XMABORT) Q:XMABORT   ; Groups in which this user is a member
 | 
|---|
| 24 |  D SURRBEU(XMUSER,.XMABORT) Q:XMABORT  ; Surrogates who may be this user
 | 
|---|
| 25 |  D UBESURR(XMUSER,.XMABORT)            ; Users for whom this user may be surrogate
 | 
|---|
| 26 |  Q
 | 
|---|
| 27 | GENERAL(XMUSER,XMABORT) ;
 | 
|---|
| 28 |  N X,XMREC
 | 
|---|
| 29 |  I '$D(^XMB(3.7,XMUSER)) W !,$$EZBLD^DIALOG(38010) Q  ;No Mailbox for this user!
 | 
|---|
| 30 |  S XMREC=$G(^XMB(3.7,XMUSER,0))
 | 
|---|
| 31 |  Q:XMREC=""&'$D(^XMB(3.8,"AB",XMUSER))
 | 
|---|
| 32 |  S X=$G(^XMB(3.7,XMUSER,"B")) W:$L(X) !,$$EZBLD^DIALOG(38011),X ;Current Banner:
 | 
|---|
| 33 |  S X=$P($G(^XMB(3.7,XMUSER,"L")),U) W:$L(X) !,$$EZBLD^DIALOG(38012),X ;Last used MailMan:
 | 
|---|
| 34 |  S X=$P(XMREC,U,6) I X D
 | 
|---|
| 35 |  . N XMPARM S XMPARM(1)=X,XMPARM(2)=+$P(^XMB(3.7,XMUSER,2,1,0),U,2)
 | 
|---|
| 36 |  . W !,$$EZBLD^DIALOG(38019,.XMPARM) ;NEW messages: |1| (|2| in the IN basket)
 | 
|---|
| 37 |  S X=$P(XMREC,U,2) I $L(X) W !,$$EZBLD^DIALOG(38004),X,$$EZBLD^DIALOG($S($P(XMREC,U,8):38005,1:38006)) ; Forwarding Address: / Local Delivery is ON / OFF
 | 
|---|
| 38 |  S XMREC=$G(^VA(200,XMUSER,.13))
 | 
|---|
| 39 |  S X=$P(XMREC,U,2) I X'="" W !!,$$EZBLD^DIALOG(38013),X ;Office phone:
 | 
|---|
| 40 |  S X=$P(XMREC,U,6) I X'="" W !,$$EZBLD^DIALOG(38014),X ;Fax:
 | 
|---|
| 41 |  S X=$P(XMREC,U,7) I X'="" W !,$$EZBLD^DIALOG(38015),X ;Voice pager:
 | 
|---|
| 42 |  S X=$P(XMREC,U,8) I X'="" W !,$$EZBLD^DIALOG(38016),X ;Digital pager:
 | 
|---|
| 43 |  S X=$P(XMREC,U,3) I X'="" W !,$$EZBLD^DIALOG(38017),X ;Add'l phone:
 | 
|---|
| 44 |  S X=$P(XMREC,U,4) I X'="" W !,$$EZBLD^DIALOG(38017),X ;Add'l phone:
 | 
|---|
| 45 |  S XMREC=$G(^VA(200,XMUSER,.11),"^^")
 | 
|---|
| 46 |  I $P(^XMB(1,1,0),U,10),$P(XMREC,U,1,3)'="^^" D  ; Don't show address unless site OKs it.
 | 
|---|
| 47 |  . W !!,$$EZBLD^DIALOG(38018) ;Address:
 | 
|---|
| 48 |  . F X=1:1:3 I $P(XMREC,U,X)'="" W !,"  ",$P(XMREC,U,X)
 | 
|---|
| 49 |  . S X=$P(XMREC,U,4) I X'="" W !,"  ",X
 | 
|---|
| 50 |  . S X=$P(XMREC,U,5) I X W ", ",$P($G(^DIC(5,X,0)),U,2)
 | 
|---|
| 51 |  . S X=$P(XMREC,U,6) I X'="" W "  ",X
 | 
|---|
| 52 |  I $D(^XMB(3.7,XMUSER,1,0)) D  Q:XMABORT
 | 
|---|
| 53 |  . N XMI,XMLINE
 | 
|---|
| 54 |  . I $Y+5>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 55 |  . W !!,$$EZBLD^DIALOG(38050) ;Introduction:
 | 
|---|
| 56 |  . S XMI=0
 | 
|---|
| 57 |  . F  S XMI=$O(^XMB(3.7,XMUSER,1,XMI)) Q:XMI'>0  S XMLINE=^(XMI,0) D  Q:XMABORT
 | 
|---|
| 58 |  . . I $Y+4>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 59 |  . . W !,"  ",XMLINE
 | 
|---|
| 60 |  Q
 | 
|---|
| 61 | GROUPS(XMUSER,XMABORT) ;
 | 
|---|
| 62 |  N XMGIEN,XMREC,XMTYPE
 | 
|---|
| 63 |  Q:'$D(^XMB(3.8,"AB",XMUSER))
 | 
|---|
| 64 |  I $Y+6>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 65 |  W !!,$$EZBLD^DIALOG(38040) ;Mail Groups:
 | 
|---|
| 66 |  S XMGIEN=""
 | 
|---|
| 67 |  F  S XMGIEN=$O(^XMB(3.8,"AB",XMUSER,XMGIEN)) Q:XMGIEN=""  D  Q:XMABORT
 | 
|---|
| 68 |  . S XMREC=$G(^XMB(3.8,XMGIEN,0)) Q:XMREC=""
 | 
|---|
| 69 |  . S XMTYPE=$P(XMREC,U,2)
 | 
|---|
| 70 |  . ; Don't show private group membership, unless user is a member, too.
 | 
|---|
| 71 |  . I XMTYPE="PR",'$D(^XMB(3.8,"AB",DUZ,XMGIEN)) Q
 | 
|---|
| 72 |  . I $Y+4>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 73 |  . W !?2,$P(XMREC,U)
 | 
|---|
| 74 |  . W:$G(^XMB(3.8,XMGIEN,3))=XMUSER $$EZBLD^DIALOG(38041) ;(Organizer)
 | 
|---|
| 75 |  . W ?45,$$EZBLD^DIALOG($S(XMTYPE="PR":38042,1:38043)) ;(Private) / (Public)
 | 
|---|
| 76 |  Q
 | 
|---|
| 77 | SURRBEU(XMUSER,XMABORT) ; List surrogates for this user
 | 
|---|
| 78 |  N XMSIEN
 | 
|---|
| 79 |  Q:'$O(^XMB(3.7,XMUSER,9,0))
 | 
|---|
| 80 |  I $Y+6>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 81 |  W !!,$$EZBLD^DIALOG(38044) ;This user's surrogates are:
 | 
|---|
| 82 |  S XMSIEN=0
 | 
|---|
| 83 |  F  S XMSIEN=$O(^XMB(3.7,XMUSER,9,XMSIEN)) Q:XMSIEN=""  D  Q:XMABORT
 | 
|---|
| 84 |  . D DISPSURR(2,XMUSER,XMSIEN,.XMABORT)
 | 
|---|
| 85 |  Q
 | 
|---|
| 86 | UBESURR(XMSURR,XMABORT) ; List users for whom this user may act as surrogate
 | 
|---|
| 87 |  N XMUSER,XMSIEN
 | 
|---|
| 88 |  Q:'$O(^XMB(3.7,"AB",XMSURR,0))
 | 
|---|
| 89 |  I $Y+6>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 90 |  W !!,$$EZBLD^DIALOG(38045) ;This user may act as a surrogate for:
 | 
|---|
| 91 |  S XMUSER=""
 | 
|---|
| 92 |  F  S XMUSER=$O(^XMB(3.7,"AB",XMSURR,XMUSER)) Q:XMUSER=""  D  Q:XMABORT
 | 
|---|
| 93 |  . S XMSIEN=$O(^XMB(3.7,"AB",XMSURR,XMUSER,""))
 | 
|---|
| 94 |  . D DISPSURR(1,XMUSER,XMSIEN,.XMABORT)
 | 
|---|
| 95 |  Q
 | 
|---|
| 96 | DISPSURR(XMFLAG,XMUSER,XMSIEN,XMABORT) ;
 | 
|---|
| 97 |  N XMPRIV,XMREC,XMNIEN
 | 
|---|
| 98 |  I $Y+4>IOSL D PAGE(.XMABORT) Q:XMABORT
 | 
|---|
| 99 |  S XMREC=$S(XMUSER=.6:".6^y^y",1:$G(^XMB(3.7,XMUSER,9,XMSIEN,0)))
 | 
|---|
| 100 |  S XMNIEN=$S(XMFLAG=1:XMUSER,1:$P(XMREC,U,1))
 | 
|---|
| 101 |  Q:'XMNIEN  Q:'$D(^VA(200,XMNIEN,0))
 | 
|---|
| 102 |  W !,?2,$$NAME^XMXUTIL(XMNIEN)
 | 
|---|
| 103 |  S XMPRIV=$P(XMREC,U,2,3)
 | 
|---|
| 104 |  I XMPRIV'["y" W ?45,$$EZBLD^DIALOG(38046) Q  ;No Privileges
 | 
|---|
| 105 |  I $L(XMPRIV,"y")>2 W ?45,$$EZBLD^DIALOG(38047) Q  ;Read and Write Privileges
 | 
|---|
| 106 |  W ?45,$$EZBLD^DIALOG($S($P(XMPRIV,U)["y":38048,1:38049)) ;Read Privilege / Write Privilege
 | 
|---|
| 107 |  Q
 | 
|---|
| 108 | PAGE(XMABORT) ;
 | 
|---|
| 109 |  D PAGE^XMXUTIL(.XMABORT) Q:XMABORT
 | 
|---|
| 110 |  W @IOF
 | 
|---|
| 111 |  Q
 | 
|---|