owl-cli 7.29.0 → 7.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -585,76 +585,53 @@ function merge(oldObj,newObj,permissions,orgId){
|
|
|
585
585
|
throw "没有修改权限。"
|
|
586
586
|
}
|
|
587
587
|
|
|
588
|
-
for(var k in
|
|
588
|
+
for(var k in newObj){
|
|
589
589
|
var vo = oldObj[k];
|
|
590
|
+
var vn = newObj[k];
|
|
590
591
|
if(typeof vo === 'object'){
|
|
591
592
|
if(ef_section_permissions[k] && ef_section_permissions[k].update==='denied' || ef_section_permissions[k] && ef_section_permissions[k].read==='denied'){
|
|
592
|
-
newObj[k] = vo;
|
|
593
|
+
// newObj[k] = vo;
|
|
593
594
|
continue;
|
|
594
595
|
}
|
|
595
596
|
|
|
596
|
-
if(Array.isArray(vo)){
|
|
597
|
+
if(Array.isArray(vo) || Array.isArray(vn)){
|
|
597
598
|
//暂时对于Array, 只要对于section有权限,则是对于整行来说的,而不能对于行中的某个字段
|
|
598
|
-
var vn = newObj[k];
|
|
599
|
+
// var vn = newObj[k];
|
|
599
600
|
// var merged = mergeArray(vo,vn,ef_section_permissions[k]);
|
|
600
|
-
var merged = vn;
|
|
601
|
-
newObj[k] = merged;
|
|
601
|
+
// var merged = vn;
|
|
602
|
+
// newObj[k] = merged;
|
|
603
|
+
oldObj[k] = vn; //mergeArray(vo,vn,ef_section_permissions[k]);
|
|
602
604
|
}
|
|
603
605
|
else {
|
|
604
|
-
var vn = newObj[k];
|
|
605
|
-
for(var sk in
|
|
606
|
+
// var vn = newObj[k];
|
|
607
|
+
for(var sk in vn){
|
|
606
608
|
var fk = k + "." + sk;
|
|
607
609
|
if(ef_field_permissions[fk] && ef_field_permissions[fk].update==='denied' || ef_field_permissions[fk] && ef_field_permissions[fk].read==='denied'){
|
|
608
|
-
vn[fk] = vo[fk];
|
|
610
|
+
// vn[fk] = vo[fk];
|
|
611
|
+
vo[sk] = vn[sk]
|
|
609
612
|
}
|
|
610
613
|
}
|
|
611
614
|
}
|
|
612
615
|
}
|
|
613
|
-
else if(vo === null){
|
|
616
|
+
else if(vo === null ){
|
|
614
617
|
if((ef_section_permissions[k] && (ef_section_permissions[k].update==='denied' || ef_section_permissions[k].read==='denied') )||
|
|
615
618
|
(ef_field_permissions[k] && (ef_field_permissions[k].update==='denied' || ef_field_permissions[k].read==='denied') )
|
|
616
619
|
){
|
|
617
|
-
newObj[k] = null;
|
|
620
|
+
// newObj[k] = null;
|
|
621
|
+
continue;
|
|
618
622
|
}
|
|
619
623
|
}
|
|
620
624
|
else{
|
|
621
625
|
if(ef_field_permissions[k] && (ef_field_permissions[k].update==='denied' || ef_field_permissions[k].read==='denied') ){
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
}
|
|
625
|
-
}
|
|
626
|
-
|
|
627
|
-
for(var k in newObj){
|
|
628
|
-
//找到在new 但是 不在 old里面的,这表明是add
|
|
629
|
-
var vn = newObj[k];
|
|
630
|
-
var vo = oldObj[k];
|
|
631
|
-
if(typeof vn === 'object' ){
|
|
632
|
-
|
|
633
|
-
if(!vo && ef_section_permissions[k] && ef_section_permissions[k].add === 'denied'){
|
|
634
|
-
delete newObj[k];
|
|
635
|
-
}
|
|
636
|
-
else if(Array.isArray(vn)){
|
|
637
|
-
//do nothing
|
|
626
|
+
continue;
|
|
627
|
+
// newObj[k] = oldObj[k];
|
|
638
628
|
}
|
|
639
629
|
else{
|
|
640
|
-
|
|
641
|
-
if(vn[nk] && (!vo || !vo[nk])){
|
|
642
|
-
var fk = k + "." + nk;
|
|
643
|
-
if(ef_field_permissions[fk] && ef_field_permissions[fk].add === 'denied'){
|
|
644
|
-
delete vn[nk];
|
|
645
|
-
}
|
|
646
|
-
}
|
|
647
|
-
}
|
|
648
|
-
}
|
|
649
|
-
}
|
|
650
|
-
else{
|
|
651
|
-
if(!vo && ef_field_permissions[k] && ef_field_permissions[k].add === 'denied'){
|
|
652
|
-
delete newObj[k];
|
|
630
|
+
oldObj[k] = vn;
|
|
653
631
|
}
|
|
654
632
|
}
|
|
655
633
|
}
|
|
656
|
-
return
|
|
657
|
-
|
|
634
|
+
return oldObj;
|
|
658
635
|
}
|
|
659
636
|
|
|
660
637
|
function getObjectPermissionFilter(tableId, roleId,orgId,userId){
|