Changeset 71

User picture

Author: alexwoodhead

(2011/03/25 02:35) About 1 year ago

zcoreAuth groups code

Affected files

Updated trunk/core/zcoreAuth.m Download diff

7071
335
 ;     ^zcoreAuth("Asset","SupportWiki","Write")
335
 ;     ^zcoreAuth("Asset","SupportWiki","Write")
336
 ;     ^zcoreAuth("Asset","SupportWiki","Delete")
336
 ;     ^zcoreAuth("Asset","SupportWiki","Delete")
337
 ;
337
 ;
338
 ;
339
338
340
AssetCreate(name,modes)
339
AssetCreate(name,modes)
341
 new key,ret
340
 new key,ret
342
 set ret=$$Access("zcoreAuth","admin") quit:'ret ret
341
 ;set ret=$$Access("zcoreAuth","admin") quit:'ret ret
343
 set ret=$$ValidateAssetName(.name) Quit:'ret ret
342
 set ret=$$ValidateAssetName(.name) Quit:'ret ret
343
 if $Data(^zcoreAuth("Asset",name))'=0 Quit "0~Asset already exists"
344
 set ^zcoreAuth("Asset",name)=""
344
 set ^zcoreAuth("Asset",name)=""
345
 set key=""
345
 set key=""
346
 for  set key=$order(modes(key)) quit:key=""  set ^zcoreAuth("Asset",name,key)=""
346
 for  set key=$order(modes(key)) quit:key=""  set ^zcoreAuth("Asset",name,key)=""
347
 quit 1
347
 quit 1
348
AssetDelete(name)
348
AssetDelete(name)
349
 new ret
349
 new ret
350
 set ret=$$Access("zcoreAuth","admin") quit:'ret ret
350
 ;set ret=$$Access("zcoreAuth","admin") quit:'ret ret
351
 set ret=$$ValidateAssetName(.name) Quit:'ret ret
351
 set ret=$$ValidateAssetName(.name) Quit:'ret ret
352
 if $Data(^zcoreAuth("Asset",name))=0 Quit "0~Asset doesn't exist"
352
 kill ^zcoreAuth("Asset",name)
353
 kill ^zcoreAuth("Asset",name)
353
 quit 1
354
 quit 1
354
AssetAddMode(name,mode)
355
AssetAddMode(name,mode)
355
 new ret
356
 new ret
356
 set ret=$$Access("zcoreAuth","admin") quit:'ret ret
357
 ;set ret=$$Access("zcoreAuth","admin") quit:'ret ret
357
 set ret=$$ValidateAssetName(.name,1) Quit:'ret ret
358
 set ret=$$ValidateAssetName(.name,1) Quit:'ret ret
358
 set ret=$$ValidateAssetMode(.mode) Quit:'ret ret
359
 set ret=$$ValidateAssetMode(.mode) Quit:'ret ret
359
 if $Data(^zcoreAuth("Asset",name,mode))=1 quit "0~Mode already exists"
360
 if $Data(^zcoreAuth("Asset",name,mode))=1 quit "0~Mode already exists"
...
...
361
 quit 1
362
 quit 1
362
AssetDeleteMode(name,mode)
363
AssetDeleteMode(name,mode)
363
 new ret
364
 new ret
364
 set ret=$$Access("zcoreAuth","admin") quit:'ret ret
365
 ;set ret=$$Access("zcoreAuth","admin") quit:'ret ret
365
 set ret=$$ValidateAssetName(.name,1) Quit:'ret ret
366
 set ret=$$ValidateAssetName(.name,1) Quit:'ret ret
366
 set ret=$$ValidateAssetMode(.name) Quit:'ret ret
367
 set ret=$$ValidateAssetMode(.name) Quit:'ret ret
368
 if $Data(^zcoreAuth("Asset",name,mode))=0 quit "0~Mode doesn't exist"
367
 kill ^zcore("Asset",name,mode)
369
 kill ^zcore("Asset",name,mode)
368
 quit 1
370
 quit 1
369
371
...
...
390
 ; if defined the mode is enabled on this asset for all users of this group
392
 ; if defined the mode is enabled on this asset for all users of this group
391
 ;  ^zcoreAsset("Group",[groupname],"assets",[assetname],[modename])="" 
393
 ;  ^zcoreAsset("Group",[groupname],"assets",[assetname],[modename])="" 
392
ValidateGroupName(name,exists)
394
ValidateGroupName(name,exists)
393
 ; TODO
395
 if $Data(name)'=1 Quit "0~Group name argument not supplied"
396
 if name'?5.16AN1.5(1"."1.20AN) Quit "0~Group name format not accepted"
397
 set:'$Data(exists) exists=0
398
 if exists,$Data(^zcoreAuth("Group",name))=0 Quit "0~Group """_name_""" doesn't exist"
394
 Quit 1
399
 Quit 1
395
GroupCreate(groupname)
400
GroupCreate(groupname)
396
 set ret=$$ValidateGroupName(name)
401
 new ret
402
 set ret=$$ValidateGroupName(groupname)
397
 ; if group already exists error
403
 ; if group already exists error
398
 ; TODO
404
 if $Data(^zcoreAuth("Group",groupname))'=0 Quit "0~Group """_name_""" already exists"
399
 Quit 1
405
 Quit 1
400
GroupDelete
406
GroupDelete(groupname)
401
 set ret=$$ValidateGroupName(name)
407
 new ret
402
 ; TODO
408
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
409
 Kill ^zcoreAuth("Group",groupname)
403
 Quit 1
410
 Quit 1
404
GroupAssignUser(groupname,username)
411
GroupAssignUser(groupname,username)
405
 set ret=$$ValidateGroupName(name,1) quit:'ret ret
412
 new ret
406
 set ret=$$ValidateAssetName(.name,1) quit:'ret ret
413
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
407
 ; TODO
414
 set ret=$$ValidateFormatUsername(.username,1) quit:'ret ret
408
 Quit
415
 set ^zcoreAsset("Group",name,"users",username)=""
416
 Quit 1
409
GroupRemoveUser(groupname,username)
417
GroupRemoveUser(groupname,username)
410
 set ret=$$ValidateGroupName(name,1) quit:'ret ret
418
 new ret
419
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
411
 ; Delete even if user no longer exists
420
 ; Delete even if user no longer exists
412
 set ret=$$ValidateAssetName(.name) quit:'ret ret
421
 set ret=$$ValidateFormatUsername(.username) quit:'ret ret
413
 ; TODO
422
 kill ^zcoreAsset("Group",groupname,"users",username)
414
 Quit
423
 Quit 1
415
 ; usernames - Pass by reference
424
 ; usernames - Pass by reference
416
GroupListUsers(groupname,usernames)
425
GroupListUsers(groupname,usernames)
417
 set ret=$$ValidateGroupName(name,1) quit:'ret ret
426
 new ret
418
 ; TODO
427
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
419
 Quit
428
 merge usernames=^zcoreAsset("Group",groupname,"users")
429
 Quit 1
420
 ; Argument "asset" may be an assetname (no modes)
430
 ; Argument "asset" may be an assetname (no modes)
421
 ;   asset="LoggingFiles"
431
 ;   asset="LoggingFiles"
422
 ; or argument "asset" may be an array 
432
 ; or argument "asset" may be an array 
...
...
426
 ; Presence of a mode indicates that it is enabled for the group
436
 ; Presence of a mode indicates that it is enabled for the group
427
 ; Absence of a mode indicates that it is disabled for the group
437
 ; Absence of a mode indicates that it is disabled for the group
428
GroupAddAsset(groupname,asset)
438
GroupAddAsset(groupname,asset)
429
 ; TODO
439
 new ret
440
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
441
 ; Delete even if user no longer exists
442
 set ret=$$ValidateAssetName(.asset) quit:'ret ret
443
 merge ^zcoreAsset("Group",groupname,"assets",asset)=asset
444
 set ^zcoreAsset("Group",groupname,"assets",asset)=""
430
 Quit 1
445
 Quit 1
431
GroupRemoveAsset(groupname,asset)
446
GroupRemoveAsset(groupname,asset)
432
 ; TODO
447
 new ret
448
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
449
 ; Delete even if user no longer exists
450
 set ret=$$ValidateAssetName(.asset) quit:'ret ret
451
 kill ^zcoreAsset("Group",groupname,"assets",asset)
433
 Quit 1
452
 Quit 1
434
GroupListAssets(groupname)
453
GroupListAssets(groupname,assetnames)
435
 ; TODO
454
 new k4,ret
455
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
456
 set k4="" for  set k4=$Order(^zcoreAsset("Group",groupname,"assets",k4)) quit:k4=""  set assetnames(k4)=""
436
 Quit 1
457
 Quit 1
437
GroupAssetAddMode(groupname,assetname,mode)
458
GroupAssetAddMode(groupname,assetname,mode)
438
 ; TODO
459
 new ret
460
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
461
 ; Delete even if user no longer exists
462
 set ret=$$ValidateAssetName(.asset) quit:'ret ret
463
 set ret=$$ValidateAssetMode(.mode) quit:'ret ret
464
 set ^zcoreAsset("Group",groupname,"assets",assetname,mode)=""
439
 Quit 1
465
 Quit 1
440
GroupAssetRemoveMode(groupname,assetname,mode)
466
GroupAssetRemoveMode(groupname,assetname,mode)
441
 ; TODO
467
 new ret
468
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
469
 ; Delete even if user no longer exists
470
 set ret=$$ValidateAssetName(.asset) quit:'ret ret
471
 set ret=$$ValidateAssetMode(.mode) quit:'ret ret
472
 kill ^zcoreAsset("Group",groupname,"assets",assetname,mode)
442
 Quit 1
473
 Quit 1
443
GroupAssetListModes(groupname,assetname,modes)
474
GroupAssetListModes(groupname,assetname,modes)
444
 ; TODO
475
 new ret
476
 set ret=$$ValidateGroupName(groupname,1) quit:'ret ret
477
 ; Delete even if user no longer exists
478
 set ret=$$ValidateAssetName(.asset) quit:'ret ret
479
 merge modes=^zcoreAsset("Group",groupname,"assets",assetname)
445
 Quit 1
480
 Quit 1
446
Console
481
Console
447
 ; TODO
482
 ; TODO
...
...
604
 do assertEqual^zcoreUnit(1,$$UserIsEmailVerified^zcoreAuth("username"),"2. UserSetEmailVerified")
639
 do assertEqual^zcoreUnit(1,$$UserIsEmailVerified^zcoreAuth("username"),"2. UserSetEmailVerified")
605
 set x=$$UserDelete("username") ; remove test account
640
 set x=$$UserDelete("username") ; remove test account
606
641
607
 ;-----------------------
642
 ;----------------------- ValidateAssetName ----------------------
643
 do assertNotEqual^zcoreUnit(1,$$ValidateAssetName())
644
 do assertNotEqual^zcoreUnit(1,$$ValidateAssetName("bla"))
645
 do assertNotEqual^zcoreUnit(0,$$ValidateAssetName("assetname"))
646
 do assertNotEqual^zcoreUnit(1,$$ValidateAssetName("assetname",1))
647
 ;----------------------- ValidateAssetMode ----------------------
648
 do assertNotEqual^zcoreUnit(1,$$ValidateAssetMode())
649
 do assertNotEqual^zcoreUnit(1,$$ValidateAssetMode("bla"))
650
 do assertNotEqual^zcoreUnit(0,$$ValidateAssetMode("modename"))
651
652
 ;----------------------- AssetCreate ----------------------------
653
 ; startup prep
654
 Kill ^zcoreAuth("Asset","assetname")
655
 do assertNotEqual^zcoreUnit(1,$$AssetCreate())
656
 do assertNotEqual^zcoreUnit(1,$$AssetCreate("bla"))
657
 do assertEqual^zcoreUnit(1,$$AssetCreate("assetname"))
658
 do assertEqual^zcoreUnit(1,$Data(^zcoreAuth("Asset","assetname")))
659
 ; cannot create duplicate name
660
 do assertEqual^zcoreUnit(0,+$$AssetCreate("assetname"))
661
 
662
 ;----------------------- AssetDelete ----------------------------
663
 ; start prep depends on earlier test
664
 do assertNotEqual^zcoreUnit(1,$$AssetDelete())
665
 do assertNotEqual^zcoreUnit(1,$$AssetDelete("bla"))
666
 do assertNotEqual^zcoreUnit(1,$$AssetDelete("notexistsassetname"))
667
 do assertEqual^zcoreUnit(1,$$AssetDelete("assetname"))
668
 do assertEqual^zcoreUnit(0,$$AssetDelete("assetname"))
669
 
670
 ;----------------------- AssetAddMode ---------------------------
671
 do assertEqual^zcoreUnit(1,$$AssetCreate("assetname"))
672
 do assertEqual^zcoreUnit(1,$$AssetAddMode())
673
 do assertEqual^zcoreUnit(1,$$AssetAddMode("notexixstsasset"))
674
 do assertEqual^zcoreUnit(1,$$AssetAddMode("assetname"))
675
 do assertEqual^zcoreUnit(1,$$AssetAddMode("assetname",""))
676
 do assertEqual^zcoreUnit(1,$$AssetAddMode("assetname","write"))
677
 do assertNotEqual^zcoreUnit(1,$$AssetAddMode("assetname","write"))
678
679
 ;----------------------- AssetDeleteMode ------------------------
680
 do assertNotEqual^zcoreUnit(1,$$AssetDeleteMode())
681
 do assertNotEqual^zcoreUnit(1,$$AssetDeleteMode("assetname"))
682
 do assertNotEqual^zcoreUnit(1,$$AssetDeleteMode("assetname","bla"))
683
 do assertEqual^zcoreUnit(1,$$AssetDeleteMode("assetname","write"))
684
 do assertNotEqual^zcoreUnit(1,$$AssetDeleteMode("assetname","write"))
685
686
 
687
688
608
 Quit 1
689
 Quit 1
609
690