1 | XMVSURR ;ISC-SF/GMB-Surrogate management ;04/19/2002 11:32
|
---|
2 | ;;8.0;MailMan;;Jun 28, 2002
|
---|
3 | ; Replaces ^XMA7 (ISC-WASH/RJ/THM/CAP)
|
---|
4 | ; Entry points used by MailMan options (not covered by DBIA):
|
---|
5 | ; SHARE XMSHARE - Become SHARED,MAIL
|
---|
6 | ; ASSUME XMASSUME - Become another user
|
---|
7 | SHARE ; Assume the identity of SHARED,MAIL
|
---|
8 | Q:'$$CHKOK
|
---|
9 | S XMDUZ=.6
|
---|
10 | D SURROGAT^XMVVITAE(XMDUZ,.XMV,.XMDUN,"",.XMPRIV)
|
---|
11 | D HEADER^XM
|
---|
12 | D MANAGE^XMJBM
|
---|
13 | D SELF
|
---|
14 | Q
|
---|
15 | CHKOK() ;
|
---|
16 | I $D(^XUSEC("XMNOPRIV",DUZ)) D Q 0
|
---|
17 | . N XMTEXT ;You have been given the XMNOPRIV key
|
---|
18 | . W $C(7) ;and may not become anyone's surrogate.
|
---|
19 | . D BLD^DIALOG(38053,"","","XMTEXT","F")
|
---|
20 | . D MSG^DIALOG("WE","","","","XMTEXT")
|
---|
21 | D CHECK^XMVVITAE
|
---|
22 | Q 1
|
---|
23 | SELF ;
|
---|
24 | D SELF^XMVVITAE
|
---|
25 | W $C(7),!,$$EZBLD^DIALOG(38054),! ;You are now yourself again.
|
---|
26 | D HEADER^XM
|
---|
27 | Q
|
---|
28 | ASSUME ; Assume someone else's identity
|
---|
29 | I '$D(^XMB(3.7,"AB",DUZ)) D SHARE Q
|
---|
30 | Q:'$$CHKOK
|
---|
31 | D LISTEM
|
---|
32 | N DIC,Y
|
---|
33 | S DIC(0)="AEMQZ"
|
---|
34 | S D="B^BB^C^D"
|
---|
35 | S DIC="^VA(200,"
|
---|
36 | S DIC("W")="D SHOWPRIV^XMVSURR(Y)"
|
---|
37 | S DIC("S")="I Y=.6!$D(^XMB(3.7,""AB"",DUZ,Y))"
|
---|
38 | I XMDUZ=DUZ D
|
---|
39 | . S DIC("B")=$$NAME^XMXUTIL(.6) ; SHARED,MAIL
|
---|
40 | E D
|
---|
41 | . N XMTEXT
|
---|
42 | . S DIC("S")=DIC("S")_"!(Y=DUZ),Y'=XMDUZ"
|
---|
43 | . S DIC("B")=XMV("DUZ NAME")
|
---|
44 | . ;You may select yourself to resume your own identity.
|
---|
45 | . D BLD^DIALOG(38055,"","","XMTEXT","F")
|
---|
46 | . D MSG^DIALOG("WE","","","","XMTEXT")
|
---|
47 | D MIX^DIC1 I Y=-1!$D(DUOUT)!$D(DTOUT) Q
|
---|
48 | S XMDUZ=+Y
|
---|
49 | I XMDUZ=DUZ D SELF Q
|
---|
50 | I XMDUZ=.6 D SHARE Q
|
---|
51 | D OTHER^XMVVITAE
|
---|
52 | D HEADER^XM
|
---|
53 | Q
|
---|
54 | LISTEM ; List surrogates a user may become
|
---|
55 | N XMDUZ
|
---|
56 | W !,$$EZBLD^DIALOG(38056) ;Choose from:
|
---|
57 | S XMDUZ=0
|
---|
58 | F S XMDUZ=$O(^XMB(3.7,"AB",DUZ,XMDUZ)) Q:'XMDUZ W !,?3,$E($$NAME^XMXUTIL(XMDUZ),1,32) D SHOWPRIV(XMDUZ)
|
---|
59 | W !,?3,$$NAME^XMXUTIL(.6) D SHOWPRIV(.6) W !
|
---|
60 | Q
|
---|
61 | SHOWPRIV(XMDUZ) ;
|
---|
62 | Q:XMDUZ=DUZ
|
---|
63 | I XMDUZ=.6 W ?37,$$EZBLD^DIALOG(38048) Q ;Read Privilege
|
---|
64 | N XMPRIV,XMNEW
|
---|
65 | S XMPRIV=$P($G(^XMB(3.7,XMDUZ,9,+$O(^XMB(3.7,"AB",DUZ,XMDUZ,0)),0)),U,2,3)
|
---|
66 | I XMPRIV'["y" W ?37,$$EZBLD^DIALOG(38046) Q ;No Privileges
|
---|
67 | I $L(XMPRIV,"y")>2 W ?37,$$EZBLD^DIALOG(38047) ;Read and Send Privileges
|
---|
68 | E W ?37,$$EZBLD^DIALOG($S($P(XMPRIV,U)["y":38048,1:38049)) ; Read/Send Privilege
|
---|
69 | S XMNEW=$$TNMSGCT^XMXUTIL(XMDUZ)
|
---|
70 | W " ",$J($$EZBLD^DIALOG($S(XMNEW:38052,1:38051),XMNEW),79-$X) ; x/No New Msgs
|
---|
71 | Q
|
---|