Пример #1
0
 protected virtual void SetPrivilegesAction(Privilege privilegio, EPrivilege permiso)
 {
     if (Datos.Current != null)
     {
         Privileges.AssociatePerms((User)Datos.Current, privilegio, permiso);
     }
 }
Пример #2
0
 protected virtual bool CheckAssociatedPrivilegesAction(Privilege privilegio, EPrivilege permiso)
 {
     if (Datos.Current != null)
     {
         return(Privileges.CheckPerms((User)Datos.Current, privilegio, permiso));
     }
     return(false);
 }
Пример #3
0
        public void SetPrivilegios(ESecureItem secureItem, EPrivilege privilege)
        {
            Privilege item = this.First(m => m.ESecureItem == secureItem);

            if (item != null)
            {
                SetPrivilegios(item, privilege);
            }
        }
Пример #4
0
        public bool CheckPrivilegios(Privilege privilegio, EPrivilege permiso_modificado)
        {
            foreach (ItemMapInfo item in privilegio.IsAssociatedItem)
            {
                List <Privilege> sublist = GetSubList(new FCriteria <long>("OidItem", item.OidItem, Operation.Equal));

                foreach (Privilege permiso in sublist)
                {
                    if (permiso.OidItem != item.OidItem)
                    {
                        continue;
                    }

                    if (item.TipoPrivilegioAsociado == permiso_modificado)
                    {
                        switch (item.Privilege)
                        {
                        case (long)EPrivilege.Read:
                            if (permiso.Read)
                            {
                                return(false);
                            }
                            break;

                        case (long)EPrivilege.Create:
                            if (permiso.Create)
                            {
                                return(false);
                            }
                            break;

                        case (long)EPrivilege.Modify:
                            if (permiso.Modify)
                            {
                                return(false);
                            }
                            break;

                        case (long)EPrivilege.Delete:
                            if (permiso.Remove)
                            {
                                return(false);
                            }
                            break;
                        }
                    }
                }
            }

            return(true);
        }
Пример #5
0
        public void SetPrivilegios(Privilege item, EPrivilege privilege)
        {
            switch (privilege)
            {
            case EPrivilege.Create:
                item.Create = true;
                break;

            case EPrivilege.Read:
                item.Read = true;
                break;

            case EPrivilege.Modify:
                item.Modify = true;
                break;

            case EPrivilege.Delete:
                item.Remove = true;
                break;

            case EPrivilege.All:
                item.Create = true;
                item.Read   = true;
                item.Modify = true;
                item.Remove = true;
                break;
            }

            foreach (ItemMapInfo itemMap in item.AssociatedItems)
            {
                List <Privilege> sublist = GetSubList(new FCriteria <long>("OidItem", itemMap.OidAssociateItem, Operation.Equal));

                foreach (Privilege itemLicenses in sublist)
                {
                    if (itemLicenses.OidItem != itemMap.OidAssociateItem)
                    {
                        continue;
                    }

                    if (privilege == (long)EPrivilege.All)
                    {
                        if (!itemLicenses.All)
                        {
                            itemLicenses.Create = true;
                            itemLicenses.Read   = true;
                            itemLicenses.Modify = true;
                            itemLicenses.Remove = true;
                            SetPrivilegios(itemLicenses, EPrivilege.All);
                        }
                        break;
                    }
                    else if (itemMap.TipoPrivilegio == privilege)
                    {
                        switch (itemMap.AssociatePrivilege)
                        {
                        case (long)EPrivilege.Read:
                            if (!itemLicenses.Read)
                            {
                                itemLicenses.Read = true;
                                SetPrivilegios(itemLicenses, EPrivilege.Read);
                            }
                            break;

                        case (long)EPrivilege.Create:
                            if (!itemLicenses.Create)
                            {
                                itemLicenses.Create = true;
                                SetPrivilegios(itemLicenses, EPrivilege.Create);
                            }
                            break;

                        case (long)EPrivilege.Modify:
                            if (!itemLicenses.Modify)
                            {
                                itemLicenses.Modify = true;
                                SetPrivilegios(itemLicenses, EPrivilege.Modify);
                            }
                            break;

                        case (long)EPrivilege.Delete:
                            if (!itemLicenses.Remove)
                            {
                                itemLicenses.Remove = true;
                                SetPrivilegios(itemLicenses, EPrivilege.Delete);
                            }
                            break;
                        }
                    }
                }
            }
        }
Пример #6
0
 public static bool CheckPerms(User usuario, Privilege privilegio, EPrivilege permiso)
 {
     return(usuario.Licences.CheckPrivilegios(privilegio, permiso));
 }
Пример #7
0
 public static void AssociatePerms(User usuario, Privilege privilegio, EPrivilege permiso)
 {
     usuario.Licences.SetPrivilegios(privilegio, permiso);
 }
Пример #8
0
        private void Privileges_DGW_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (Privileges_DGW.CurrentRow == null)
            {
                return;
            }
            if (e.ColumnIndex == -1)
            {
                return;
            }

            EPrivilege permiso = EPrivilege.Read;

            switch (Privileges_DGW.Columns[e.ColumnIndex].Name)
            {
            case "Read":
                permiso = EPrivilege.Read;
                break;

            case "Create":
                permiso = EPrivilege.Create;
                break;

            case "Modify":
                permiso = EPrivilege.Modify;
                break;

            case "Remove":
                permiso = EPrivilege.Delete;
                break;
            }

            DataGridViewRow row  = Privileges_DGW.CurrentRow;
            Privilege       item = row.DataBoundItem as Privilege;

            if (row.Cells[e.ColumnIndex].Value.ToString() == moleQule.Library.Resources.Labels.UNSET_PRIVILEGES)
            {
                SetPrivilegesAction(item, permiso);

                switch (Privileges_DGW.Columns[e.ColumnIndex].DataPropertyName)
                {
                case "CanRead":
                    item.Read = true;
                    break;

                case "CanCreate":
                    item.Create = true;
                    break;

                case "CanModify":
                    item.Modify = true;
                    break;

                case "CanDelete":
                    item.Remove = true;
                    break;
                }
            }
            else
            {
                if (CheckAssociatedPrivilegesAction(item, permiso))
                {
                    switch (Privileges_DGW.Columns[e.ColumnIndex].DataPropertyName)
                    {
                    case "CanRead":
                        item.Read = false;
                        break;

                    case "CanCreate":
                        item.Create = false;
                        break;

                    case "CanModify":
                        item.Modify = false;
                        break;

                    case "CanDelete":
                        item.Remove = false;
                        break;
                    }
                }
            }

            //SetUnlinkedGridValues(Permisos_Grid.Name);
            //ReadUserGrants();
            Privileges_DGW.Refresh();
        }