[613] | 1 | XMJBU ;ISC-SF/GMB-Basket utilities ;04/06/2002 08:56
|
---|
| 2 | ;;8.0;MailMan;;Jun 28, 2002
|
---|
| 3 | ; (ISC-WASH/CAP/THM)
|
---|
| 4 | SELBSKT(XMDUZ,XMPROMPT,XMLAYGO,XMDIC,XMK,XMKN) ; Select a basket (Replaces S^XMA1B)
|
---|
| 5 | ; XMPROMPT (in) Verbage for prompt
|
---|
| 6 | ; XMLAYGO (in) "L" - the user may create a new basket
|
---|
| 7 | ; "" - the user may not create a new basket
|
---|
| 8 | ; XMK (out) basket number (=^ if user up-arrows out)
|
---|
| 9 | ; XMKN (out) basket name
|
---|
| 10 | N DIC,DINUM,DA,Y,X
|
---|
| 11 | I $G(XMLAYGO)["L" D
|
---|
| 12 | . ; Find the first vacant basket spot.
|
---|
| 13 | . F DINUM=2:1 Q:'$D(^XMB(3.7,XMDUZ,2,DINUM))
|
---|
| 14 | . ; Postmaster baskets numbered above 999 are reserved for message queues.
|
---|
| 15 | . I XMDUZ=.5,DINUM>999 S XMLAYGO=$TR(XMLAYGO,"L")
|
---|
| 16 | ; Postmaster may not save a queued msg to his own basket. ***
|
---|
| 17 | S DIC="^XMB(3.7,"_XMDUZ_",2,"
|
---|
| 18 | S DA(1)=XMDUZ
|
---|
| 19 | S DIC(0)="AEQ"_$G(XMLAYGO)
|
---|
| 20 | I $G(XMPROMPT)'="" S DIC("A")=$S(+XMPROMPT=XMPROMPT:$$EZBLD^DIALOG(XMPROMPT),1:XMPROMPT)
|
---|
| 21 | ; XMDIC("B")="@" means don't give a default
|
---|
| 22 | I $G(XMDIC("B"))'="@" D
|
---|
| 23 | . I $D(XMDIC("B")) S DIC("B")=XMDIC("B") Q
|
---|
| 24 | . I $$BMSGCT^XMXUTIL(XMDUZ,1) S DIC("B")=$$EZBLD^DIALOG(37005) Q ; IN
|
---|
| 25 | . W !!,$$EZBLD^DIALOG(34044,$$EZBLD^DIALOG(37005)) ; No messages in 'IN' basket.
|
---|
| 26 | S:$D(XMDIC("S")) DIC("S")=XMDIC("S")
|
---|
| 27 | S:$D(XMDIC("W")) DIC("W")=XMDIC("W")
|
---|
| 28 | D ^DIC I Y=-1 S XMK=U Q
|
---|
| 29 | S XMK=$P(Y,U,1)
|
---|
| 30 | S XMKN=$P(Y,U,2)
|
---|
| 31 | Q
|
---|
| 32 | CHKXMKN(X) ; Input transform for file 3.7 (3.701,.01 BASKET)
|
---|
| 33 | I X=+X,$D(^XMB(3.7,$G(XMDUZ,DUZ),2,X)) S X="`"_X Q
|
---|
| 34 | K:X[""""!($A(X)=45) X I $D(X) K:$L(X)>30!($L(X)<3) X
|
---|
| 35 | Q
|
---|
| 36 | NAMEBSKT(XMDUZ,XMK,XMKN) ; Rename an existing basket (Replaces REN^XMA11)
|
---|
| 37 | ; XMK (in) basket number
|
---|
| 38 | ; XMKN (in/out) basket name
|
---|
| 39 | N DIR,X,XMFDA,XMKX
|
---|
| 40 | I XMK'>1!(XMDUZ=.5&(XMK>999)) D Q
|
---|
| 41 | . W !,$$EZBLD^DIALOG(37201.1) ; The name of this basket may not be changed.
|
---|
| 42 | ; *** I would rather use a ^DIE call, if I were sure that the user
|
---|
| 43 | ; *** could not delete the basket or create a duplicate basket name.
|
---|
| 44 | S DIR("A")=$$EZBLD^DIALOG(34048) ; Enter a new basket name
|
---|
| 45 | S DIR("B")=XMKN
|
---|
| 46 | S DIR(0)="3.701,.01"
|
---|
| 47 | F D ^DIR Q:$D(DIRUT) D Q:$D(X)
|
---|
| 48 | . I X=XMKN D Q
|
---|
| 49 | . . W !,$C(7),$$EZBLD^DIALOG(34048.8) ; That's the same name.
|
---|
| 50 | . . K X
|
---|
| 51 | . S XMKX=$$FIND1^DIC(3.701,","_XMDUZ_",","X",X)
|
---|
| 52 | . I XMKX,XMKX'=XMK D Q
|
---|
| 53 | . . W !,$C(7),$$EZBLD^DIALOG(34048.9) ; You already have a basket by this name.
|
---|
| 54 | . . K X
|
---|
| 55 | . S XMKN=X
|
---|
| 56 | . S XMFDA(3.701,XMK_","_XMDUZ_",",.01)=XMKN
|
---|
| 57 | . D FILE^DIE("","XMFDA")
|
---|
| 58 | Q
|
---|