public void HasPermissions(PermissionObject obj) { if (obj == null) return; bool r; if (string.IsNullOrEmpty (obj.PermissionToTest) == false) { r = ContextCompat.CheckSelfPermission (MainActivity, obj.PermissionToTest) == (int)Permission.Granted; if (r == false) { obj.Result.SetResult (false); return; } } // test (Permissions Test and Add) foreach (var p in obj.Permissions) { r = ContextCompat.CheckSelfPermission (MainActivity, p) == (int)Permission.Granted; if (r == false) { obj.Result.SetResult (false); return; } } obj.Result.SetResult (true); }
public bool HasPermission(PermissionObject obj, Permission permissions) { if (!Claims.Any() || !Authenticated) { return(false); } var result = false; if (obj == PermissionObject.Default) { result = true; } else { if (permissions == Permission.Read && IsAdministrative) { result = true; } else if (IsAdministrative && CanEdit) { result = true; } else { if (PermissionsMap.ContainsKey(obj) && (PermissionsMap[obj] & permissions) == permissions) { result = true; } } } return(result); }
public bool Has(PermissionObject obj) { if (obj == null) { return(false); } bool r; if (string.IsNullOrEmpty(obj.PermissionToTest) == false) { r = ContextCompat.CheckSelfPermission(MainActivity, obj.PermissionToTest) == (int)Permission.Granted; if (r == false) { return(false); } } // test (Permissions Test and Add) foreach (var p in obj.Permissions) { r = ContextCompat.CheckSelfPermission(MainActivity, p) == (int)Permission.Granted; if (r == false) { return(false); } } return(true); }
protected void LoadPersonData() { if (string.IsNullOrEmpty(PersonIdHiddenField.Value) || PersonIdHiddenField.Value == "0") { //Insert DataControl.OrganizationId = 0; } else { PermissionObject theUser = new PermissionObject(); try { theUser = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.PERSON.ToString(), Convert.ToInt32(PersonIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Organization/ListOrganizations.aspx"); } bool readOnly = false; if (theUser == null || !theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("OWN") || i.ObjectActionID.Equals("MAN_PEOPLE"))) { readOnly = true; } DataControl.ReadOnly = readOnly; //Update People theData = null; try { theData = PeopleBLL.GetPeopleById(Convert.ToInt32(PersonIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); } if (theData != null) { TitleLiteral.Text = theData.Name; CodeTextBox.Text = theData.Id; NameTextBox.Text = theData.Name; DataControl.OrganizationId = theData.OrganizationId; DataControl.AreaId = theData.AreaId; CodeTextBox.Enabled = !readOnly; NameTextBox.Enabled = !readOnly; SaveButton.Visible = !readOnly; ReqLabel.Visible = !readOnly; Req1Label.Visible = !readOnly; } } }
private void LoadActivityData() { int activityId = ActivityId; if (activityId <= 0) { return; } Activity theClass = null; try { theClass = ActivityBLL.GetActivityById(activityId); } catch { SystemMessages.DisplaySystemErrorMessage(Resources.Activity.MessageGetActivity); return; } if (theClass != null) { PermissionObject theUser = new PermissionObject(); try { theUser = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.ACTIVITY.ToString(), activityId); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Organization/ListOrganizations.aspx"); } bool readOnly = false; if (theUser == null || !theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("OWN") || i.ObjectActionID.Equals("MANAGE_PROJECT") || i.ObjectActionID.Equals("MAN_ACTIVITY"))) { readOnly = true; } AddDataControl.ReadOnly = readOnly; TitleLiteral.Text = theClass.Name; ActivityNameTextBox.Text = theClass.Name; AddDataControl.OrganizationId = theClass.OrganizationID; AddDataControl.AreaId = theClass.AreaID; AddDataControl.ProjectId = theClass.ProjectID; ActivityNameTextBox.Enabled = !readOnly; RequiredLabel.Visible = !readOnly; } }
protected void LoadProjectData() { OrganizationControl.DataType = UserControls_FRTWB_AddDataControl.AddType.PRJ.ToString(); if (string.IsNullOrEmpty(ProjectIdHiddenField.Value) || ProjectIdHiddenField.Value == "0") { //Insert OrganizationControl.OrganizationId = 0; } else { PermissionObject theUser = new PermissionObject(); try { theUser = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.PROJECT.ToString(), Convert.ToInt32(ProjectIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Organization/ListOrganizations.aspx"); } bool readOnly = false; if (theUser == null || !theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("OWN") || i.ObjectActionID.Equals("MANAGE_PROJECT"))) { readOnly = true; } OrganizationControl.ReadOnly = readOnly; //Update Project theData = null; try { theData = ProjectBLL.GetProjectById(Convert.ToInt32(ProjectIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); } if (theData != null) { TitleLiteral.Text = theData.Name; ProjectNameTextBox.Text = theData.Name; OrganizationControl.OrganizationId = theData.OrganizationID; OrganizationControl.AreaId = theData.AreaID; ProjectNameTextBox.Enabled = !readOnly; } SaveButton.Visible = !readOnly; RequiredLabel.Visible = !readOnly; } }
private static PermissionObject FillRecord(PermissionObjectDS.ObjectPermissionsRow row) { PermissionObject theNewRecord = new PermissionObject( row.objectID, row.objectTypeID, row.IsusernameNull() ? "" : row.username, row.IsfullnameNull() ? "" : row.fullname, row.IsemailNull() ? "" : row.email); return(theNewRecord); }
public void RequestPermissions(PermissionObject obj) { _PermissionTable.Add(obj); if (Has(obj) == false) { ActivityCompat.RequestPermissions(MainActivity, obj.Permissions, obj.ID); } else { SetPermissions.OKResultHandler(obj.ID); } }
public static bool VerifiyUser(int organizationId, int userId) { User theUser = UserBLL.GetUserById(userId); PermissionObject theData = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.ORGANIZATION.ToString(), organizationId, theUser.Username); if (theData == null) { return(false); } else { return(true); } }
public static bool VerifiyUser(int projectId, int userId) { User theUser = UserBLL.GetUserById(userId); PermissionObject theData = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.PROJECT.ToString(), projectId, theUser.Username); if (theData == null) { return(false); } else { return(true); } }
public static PermissionObject GetPermissionsByUser(string objectTypeId, int objectId, string userName) { if (string.IsNullOrEmpty(objectTypeId)) { throw new ArgumentException(Resources.ShareData.MessageNullObjectTypeId); } if (objectId <= 0) { throw new ArgumentException(Resources.ShareData.MessageZeroObjectId); } if (string.IsNullOrEmpty(userName)) { throw new ArgumentException(Resources.ShareData.MessageErrorUserName); } PermissionObject theData = null; try { ObjectPermissionsTableAdapter localAdapter = new ObjectPermissionsTableAdapter(); PermissionObjectDS.ObjectPermissionsDataTable theTable = localAdapter.GetObjectPermissionsByUser(objectTypeId, objectId, userName); if (theTable != null && theTable.Rows.Count > 0) { foreach (PermissionObjectDS.ObjectPermissionsRow theRow in theTable) { if (theData == null) { theData = FillRecord(theRow); theData.TheActionList.Add(new ObjectAction.ObjectAction(theRow.objectActionID)); } else { theData.TheActionList.Add(new ObjectAction.ObjectAction(theRow.objectActionID)); } } } } catch (Exception exc) { log.Error("Error en GetPermissionsByUser para objectTypeId: " + objectTypeId + ", objectId: " + objectId + " y userName: " + userName, exc); throw new ArgumentException(Resources.ShareData.MessageErrorPermissionsByUser); } return(theData); }
public static List <PermissionObject> GetPermissionsByObject(string objectTypeId, int objectId) { if (string.IsNullOrEmpty(objectTypeId)) { throw new ArgumentException(Resources.ShareData.MessageNullObjectTypeId); } if (objectId <= 0) { throw new ArgumentException(Resources.ShareData.MessageZeroObjectId); } List <PermissionObject> theList = new List <PermissionObject>(); PermissionObject theData = null; try { ObjectPermissionsTableAdapter localAdapter = new ObjectPermissionsTableAdapter(); PermissionObjectDS.ObjectPermissionsDataTable theTable = localAdapter.GetObjectPermissionsByObject(objectTypeId, objectId); if (theTable != null && theTable.Rows.Count > 0) { foreach (PermissionObjectDS.ObjectPermissionsRow theRow in theTable) { if (!theList.Exists(i => i.UserName.Equals(theRow.username))) { theData = FillRecord(theRow); theData.TheActionList.Add(new ObjectAction.ObjectAction(theRow.objectActionID)); theList.Add(theData); } else { theData = theList.Find(i => i.UserName.Equals(theRow.username)); theData.TheActionList.Add(new ObjectAction.ObjectAction(theRow.objectActionID)); } } } } catch (Exception exc) { log.Error("Error en GetPermissionsByObject para objectTypeId: " + objectTypeId + " y objectId: " + objectId, exc); throw new ArgumentException(Resources.ShareData.MessageErrorPermissionsByObject); } return(theList); }
public void RequestPermissionsReason(PermissionObject obj) { _PermissionTable.Add(obj); var c = Xamarin.Forms.Forms.Context; if (ContextCompat.CheckSelfPermission(c, obj.PermissionToTest) == (int)Android.Content.PM.Permission.Granted) { // granted permission ok SetPermissions.OKResultHandler(obj.ID); } else { if (String.IsNullOrEmpty(obj.Reason) == false) { if (obj.AsPopup == false) { AlertDialog.Builder builder = new AlertDialog.Builder(Xamarin.Forms.Forms.Context as Activity); builder.SetMessage(obj.Reason); builder.SetPositiveButton("OK", (o, x) => { ActivityCompat.RequestPermissions(MainActivity, obj.Permissions, obj.ID); }); builder.SetNegativeButton("Cancel", (o, x) => { SetPermissions.FailedResultHandler(obj.ID); }); builder.Create(); builder.Show(); } else { // snackbar implementation Snackbar.Make(GetSnackbarAnchorView(), obj.Reason, (int)TimeSpan.FromSeconds(10).TotalMilliseconds) .SetAction("OK", (x) => { }) .SetCallback(new MySnackBarCallback(obj)) .Show(); } } else { ActivityCompat.RequestPermissions(MainActivity, obj.Permissions, obj.ID); } } }
private void LoadData() { //-- verify is user is OWNER PermissionObject theUser = new PermissionObject(); try { theUser = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.ACTIVITY.ToString(), Convert.ToInt32(ActivityIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Activity/ActivitiesList.aspx"); } if (theUser == null || !theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("OWN"))) { SystemMessages.DisplaySystemWarningMessage(Resources.ShareData.UserNotOwnActivity); Response.Redirect("~/Activity/ActivitiesList.aspx"); } //-- show Data Activity theData = null; try { theData = ActivityBLL.GetActivityById(Convert.ToInt32(ActivityIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Activity/ActivitiesList.aspx"); } if (theData != null) { ActivityNameLiteral.Text = theData.Name; } }
private void LoadData() { //-- verify is user is OWNER PermissionObject theUser = new PermissionObject(); try { theUser = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.ORGANIZATION.ToString(), Convert.ToInt32(OrganizationIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Organization/ListOrganizations.aspx"); } if (theUser == null || !theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("OWN"))) { SystemMessages.DisplaySystemWarningMessage(Resources.ShareData.UserNotOwnOrganization); Response.Redirect("~/Organization/ListOrganizations.aspx"); } //-- show Data Organization theData = null; try { theData = OrganizationBLL.GetOrganizationById(Convert.ToInt32(OrganizationIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Organization/ListOrganizations.aspx"); } if (theData != null) { OrganizationNameLiteral.Text = theData.Name; } }
public bool Has(PermissionObject obj) { if (obj == null) return false; bool r; if (string.IsNullOrEmpty (obj.PermissionToTest) == false) { r = ContextCompat.CheckSelfPermission (MainActivity, obj.PermissionToTest) == (int)Permission.Granted; if (r == false) { return false; } } // test (Permissions Test and Add) foreach (var p in obj.Permissions) { r = ContextCompat.CheckSelfPermission (MainActivity, p) == (int)Permission.Granted; if (r == false) { return false; } } return true; }
private bool HasPermissionInternal(Guid userId, string permissionValue) { try { // returns true always if user is system administrator. if (this.roleApi.IsUserInRole(userId, this.platformConfiguration.Role.RoleId)) return true; PermissionObject targetPermissionObject = new PermissionObject(permissionValue); IEnumerable<PermissionObject> userPermissions = this.FindUserPermissions(userId, false); foreach (PermissionObject permissionObject in userPermissions) if (permissionObject.Contains(targetPermissionObject)) return true; return false; } catch (Exception exp) { Logger.Instance(this).Error(exp); throw; } }
public RolePermission(PermissionObject permissionObject, Permission permission) { Permission = permission; Object = permissionObject; }
public void RequestPermissionsReason(PermissionObject obj) { _PermissionTable.Add (obj); var c = Xamarin.Forms.Forms.Context; if (ContextCompat.CheckSelfPermission (c, obj.PermissionToTest) == (int)Android.Content.PM.Permission.Granted) { // granted permission ok SetPermissions.OKResultHandler (obj.ID); } else { if (String.IsNullOrEmpty (obj.Reason) == false) { if (obj.AsPopup == false) { AlertDialog.Builder builder = new AlertDialog.Builder (Xamarin.Forms.Forms.Context as Activity); builder.SetMessage (obj.Reason); builder.SetPositiveButton ("OK", (o, x) => { ActivityCompat.RequestPermissions (MainActivity, obj.Permissions, obj.ID); }); builder.SetNegativeButton ("Cancel", (o, x) => { SetPermissions.FailedResultHandler (obj.ID); }); builder.Create (); builder.Show (); } else { // snackbar implementation Snackbar.Make (GetSnackbarAnchorView (), obj.Reason, (int)TimeSpan.FromSeconds (10).TotalMilliseconds) .SetAction ("OK", (x) => { }) .SetCallback (new MySnackBarCallback (obj)) .Show (); } } else { ActivityCompat.RequestPermissions (MainActivity, obj.Permissions, obj.ID); } } }
public MySnackBarCallback(PermissionObject id) { this.Parent = id; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ProcessSessionParametes(); int organizationId = this.OrganizationId; if (organizationId <= 0) { Response.Redirect("~/Organization/ListOrganizations.aspx"); return; } PermissionObject theUser = new PermissionObject(); try { theUser = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.ORGANIZATION.ToString(), organizationId); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Organization/ListOrganizations.aspx"); } bool readOnly = false; if (theUser == null || !theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("OWN"))) { readOnly = true; } Organization organization = null; try { organization = OrganizationBLL.GetOrganizationById(organizationId); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); return; } if (organization != null) { OrganizationNameLit.Text = organization.Name; OrganizationNameTextBox.Text = organization.Name; NameLabel.Text = organization.Name; AreasGridView.DataBind(); if (readOnly) { NameLabel.Visible = true; AddAreaLabel.Visible = false; OrganizationNameTextBox.Visible = false; SaveOrganizationButton.Visible = false; AreasGridView.Columns[0].Visible = false; AreasGridView.Columns[1].Visible = false; } } } }
public void TestPermissionObjectCopyConstructor() { PermissionObject perm = new PermissionObject(SetupMock()); AssertPermission(perm); }
public void TestPermissionObjectCasting() { PermissionObject perm = SetupMock(); AssertPermission(perm); }
void AssertPermission(PermissionObject perm) { Assert.AreEqual(id, perm.Id); Assert.AreEqual(NAME, perm.Name); Assert.AreEqual(TRANSLATE_NAME, perm.NameTranslation); }
private void LoadData() { //-- verify is user has permissions PermissionObject theUser = new PermissionObject(); try { theUser = PermissionObjectBLL.GetPermissionsByUser(PermissionObject.ObjectType.KPI.ToString(), Convert.ToInt32(KPIIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Kpi/KpiList.aspx"); } if (theUser == null) { SystemMessages.DisplaySystemWarningMessage(Resources.ShareData.UserNotOwnKpi); Response.Redirect("~/Kpi/KpiList.aspx"); } if (theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("OWN"))) { pnlUploadFile.Visible = true; pnlEnterData.Visible = false; KpiMeasurementGridView.Columns[0].Visible = true; } else if (theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("ENTER_DATA"))) { pnlUploadFile.Visible = true; pnlEnterData.Visible = false; KpiMeasurementGridView.Columns[0].Visible = false; } else if (theUser.TheActionList.Exists(i => i.ObjectActionID.Equals("VIEW_KPI"))) { pnlUploadFile.Visible = false; pnlEnterData.Visible = false; KpiMeasurementGridView.Columns[0].Visible = false; } else { SystemMessages.DisplaySystemWarningMessage(Resources.ShareData.UserNotOwnKpi); Response.Redirect("~/Kpi/KpiList.aspx"); } //-- show Data KPI theData = null; try { theData = KPIBLL.GetKPIById(Convert.ToInt32(KPIIdHiddenField.Value)); } catch (Exception exc) { SystemMessages.DisplaySystemErrorMessage(exc.Message); Response.Redirect("~/Kpi/KpiList.aspx"); } if (theData != null) { SubtitleLabel.Text = theData.Name; KPIType.Text = theData.KPITypeName; ReportingPeriod.Text = theData.ReportingUnitName; StartingDate.Text = theData.StartDate == DateTime.MinValue ? " - " : TextUtilities.GetDateTimeToString(theData.StartDate); UnitIdHiddenField.Value = theData.UnitID; CurrencyHiddenField.Value = theData.Currency; CurrencyUnitHiddenField.Value = theData.CurrencyUnitForDisplay; switch (UnitIdHiddenField.Value) { case "TIME": DataDescriptionLabel.Text = Resources.ImportData.TimeDataDescription; break; case "INT": DataDescriptionLabel.Text = Resources.ImportData.IntegerDataDescription; break; default: DataDescriptionLabel.Text = Resources.ImportData.DecimalDataDescription; break; } BindGridView(); } }
public bool HasPermission(PermissionObject permissionObject, Permission permissions) { return(IdentityUser.HasPermission(permissionObject, permissions) || UserId == SystemUserId); }
public void RequestPermissions(PermissionObject obj) { _PermissionTable.Add (obj); if (Has (obj) == false) { ActivityCompat.RequestPermissions (MainActivity, obj.Permissions, obj.ID); } else { SetPermissions.OKResultHandler(obj.ID); } }