Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
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));
        }
Ejemplo n.º 3
0
        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]);
        }
Ejemplo n.º 4
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);
    }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 7
0
        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];
        }
Ejemplo n.º 8
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);
 }