private void UpdateCurriculumButton_Click() { foreach (TableRow operationRow in Operations.Rows) { CheckBox operationCheckBox = operationRow.Cells[0].Controls[0] as CheckBox; CheckBox delegateCheckBox = operationRow.Cells[1].Controls[0] as CheckBox; if (operationCheckBox.Enabled) { TblPermissions parentPermission = ServerModel.DB.Load <TblPermissions>(int.Parse(operationCheckBox.ID)); FxCurriculumOperations operation = ServerModel.DB.Load <FxCurriculumOperations>(parentPermission.CurriculumOperationRef.Value); TblPermissions childPermission = TeacherHelper.GetPermissionForCurriculum(parentPermission, teacher, curriculum, operation); if (operationCheckBox.Checked) { if (childPermission == null) { TeacherHelper.Share(TeacherHelper.CurrentUserPermissionForCurriculum(curriculum, operation), teacher.ID, delegateCheckBox.Checked); } else { if (childPermission.CanBeDelagated && !delegateCheckBox.Checked) { TeacherHelper.RemoveChildPermissions(childPermission); } childPermission.CanBeDelagated = delegateCheckBox.Checked; ServerModel.DB.Update <TblPermissions>(childPermission); } } else { if (childPermission != null) { TeacherHelper.RemoveChildPermissions(childPermission); ServerModel.DB.Delete <TblPermissions>(childPermission.ID); } } } } Redirect(BackUrl); }
public static IList <TblCurriculums> CurrentUserCurriculums(FxCurriculumOperations operation) { IList <int> iDs = PermissionsManager.GetObjectsForUser(SECURED_OBJECT_TYPE.CURRICULUM, ServerModel.User.Current.ID, operation.ID, null); return(ServerModel.DB.Load <TblCurriculums>(iDs)); }
public static TblPermissions GetPermissionForCurriculum(TblPermissions parentPermission, TblUsers user, TblCurriculums curriculum, FxCurriculumOperations operation) { IList <TblPermissions> permissions = ServerModel.DB.Query <TblPermissions>( new AndCondition( new CompareCondition <int>( DataObject.Schema.OwnerUserRef, new ValueCondition <int>(user.ID), COMPARE_KIND.EQUAL), new CompareCondition <int>( DataObject.Schema.CurriculumOperationRef, new ValueCondition <int>(operation.ID), COMPARE_KIND.EQUAL), new CompareCondition <int>( DataObject.Schema.CurriculumRef, new ValueCondition <int>(curriculum.ID), COMPARE_KIND.EQUAL), new CompareCondition <int>( DataObject.Schema.ParentPermitionRef, new ValueCondition <int>(parentPermission.ID), COMPARE_KIND.EQUAL))); if (permissions.Count == 0) { return(null); } return(permissions[0]); }
private TableRow buildPermissionRow(TblPermissions permission) { TableRow operationRow = new TableRow(); Label dateSinceLabel = new Label(); dateSinceLabel.Text = since + ": "; GMDatePicker dateSinceDatePicker = recreateDatePicker(since + permission.ID.ToString()); Label dateTillLabel = new Label(); dateTillLabel.Text = till + ": "; GMDatePicker dateTillDatePicker = recreateDatePicker(till + permission.ID.ToString()); TableCell operationNameCell = new TableCell(); if (permission.StageOperationRef.HasValue) { FxStageOperations stageOperation = ServerModel.DB.Load <FxStageOperations>(permission.StageOperationRef.Value); operationNameCell.Text = stageOperation.Name; } if (permission.CurriculumOperationRef.HasValue) { FxCurriculumOperations curriculumOperation = ServerModel.DB.Load <FxCurriculumOperations>(permission.CurriculumOperationRef.Value); operationNameCell.Text = curriculumOperation.Name; } operationRow.Cells.Add(operationNameCell); Table layoutTable = new Table(); TableRow layoutRow = new TableRow(); TableCell sinceLabelCell = new TableCell(); sinceLabelCell.Controls.Add(dateSinceLabel); TableCell sincePickerCell = new TableCell(); sincePickerCell.HorizontalAlign = HorizontalAlign.Right; sincePickerCell.Controls.Add(dateSinceDatePicker); TableCell tillLabelCell = new TableCell(); tillLabelCell.Controls.Add(dateTillLabel); TableCell tillPickerCell = new TableCell(); tillPickerCell.HorizontalAlign = HorizontalAlign.Right; tillPickerCell.Controls.Add(dateTillDatePicker); operationRow.Cells.Add(sinceLabelCell); operationRow.Cells.Add(sincePickerCell); operationRow.Cells.Add(tillLabelCell); operationRow.Cells.Add(tillPickerCell); if (permission.DateSince.HasValue) { dateSinceDatePicker.InitialText = permission.DateSince.Value.ToShortDateString(); dateSinceDatePicker.InitialTimePickerText = permission.DateSince.Value.ToShortTimeString(); } if (permission.DateTill.HasValue) { dateTillDatePicker.InitialText = permission.DateTill.Value.ToShortDateString(); dateTillDatePicker.InitialTimePickerText = permission.DateTill.Value.ToShortTimeString(); } TableCell operationCell = new TableCell(); Button ApppyButton = new Button(); ApppyButton.ID = applyChar + permission.ID.ToString(); ApppyButton.Click += new EventHandler(ApppyButton_Click); ApppyButton.Text = apply; Button RemoveButton = new Button(); RemoveButton.ID = removeChar + permission.ID.ToString(); RemoveButton.Click += new EventHandler(RemoveButton_Click); RemoveButton.Text = remove; operationCell.Controls.Add(ApppyButton); operationCell.Controls.Add(RemoveButton); operationRow.Cells.Add(operationCell); return(operationRow); }
private void Button_AddCurriculumOperation(object sender, EventArgs e) { FxCurriculumOperations operation = ServerModel.DB.Load <FxCurriculumOperations>(int.Parse(DropDownList_CurriculumOperations.SelectedValue)); PermissionsManager.Grand(curriculum, operation, null, group.ID, DateTimeInterval.Full); }
public override void Loaded() { base.Loaded(); string message = ""; if (CourseId != -1) { course = ServerModel.DB.Load <TblCourses>(CourseId); Caption.Value = pageCaption. Replace("{0}", courseStr). Replace("{1}", course.Name); Description.Value = pageDescription. Replace("{0}", courseStr). Replace("{1}", course.Name); foreach (TblPermissions permission in TeacherHelper.CurrentUserPermissionsForCourse(course)) { FxCourseOperations operation = ServerModel.DB.Load <FxCourseOperations>(permission.CourseOperationRef.Value); if (permission.ParentPermitionRef.HasValue) { TblPermissions parentPermission = ServerModel.DB.Load <TblPermissions>(permission.ParentPermitionRef.Value); TblUsers parent = ServerModel.DB.Load <TblUsers>(parentPermission.OwnerUserRef.Value); message += grantedObject. Replace("{0}", parent.DisplayName). Replace("{1}", operation.Name). Replace("{2}", courseStr) + breakLine; } else { message += ownObject.Replace("{0}", courseStr).Replace("{1}", operation.Name) + breakLine; } } } if (CurriculumId != -1) { curriculum = ServerModel.DB.Load <TblCurriculums>(CurriculumId); Caption.Value = pageCaption. Replace("{0}", curriculumStr). Replace("{1}", curriculum.Name); Description.Value = pageDescription. Replace("{0}", curriculumStr). Replace("{1}", curriculum.Name); foreach (TblPermissions permission in TeacherHelper.CurrentUserPermissionsForCurriculum(curriculum)) { FxCurriculumOperations operation = ServerModel.DB.Load <FxCurriculumOperations>(permission.CurriculumOperationRef.Value); if (permission.ParentPermitionRef.HasValue) { TblPermissions parentPermission = ServerModel.DB.Load <TblPermissions>(permission.ParentPermitionRef.Value); TblUsers parent = ServerModel.DB.Load <TblUsers>(parentPermission.OwnerUserRef.Value); message += grantedObject. Replace("{0}", parent.DisplayName). Replace("{1}", operation.Name). Replace("{2}", curriculumStr) + breakLine; } else { message += ownObject.Replace("{0}", curriculumStr).Replace("{1}", operation.Name) + breakLine; } } } Message.Value = message; Title.Value = Caption.Value; fillTeachersTable(); }
public static TblPermissions GetPermissionForCurriculum(TblPermissions parentPermission, TblUsers user, TblCurriculums curriculum, FxCurriculumOperations operation) { IList<TblPermissions> permissions = ServerModel.DB.Query<TblPermissions>( new AndCondition( new CompareCondition<int>( DataObject.Schema.OwnerUserRef, new ValueCondition<int>(user.ID), COMPARE_KIND.EQUAL), new CompareCondition<int>( DataObject.Schema.CurriculumOperationRef, new ValueCondition<int>(operation.ID), COMPARE_KIND.EQUAL), new CompareCondition<int>( DataObject.Schema.CurriculumRef, new ValueCondition<int>(curriculum.ID), COMPARE_KIND.EQUAL), new CompareCondition<int>( DataObject.Schema.ParentPermitionRef, new ValueCondition<int>(parentPermission.ID), COMPARE_KIND.EQUAL))); if (permissions.Count == 0) { return null; } return permissions[0]; }
public static IList<TblCurriculums> CurrentUserCurriculums(FxCurriculumOperations operation) { IList<int> iDs = PermissionsManager.GetObjectsForUser(SECURED_OBJECT_TYPE.CURRICULUM, ServerModel.User.Current.ID, operation.ID, null); return ServerModel.DB.Load<TblCurriculums>(iDs); }