protected void btnAdd_Click(object sender, EventArgs e) { try { if (lbxUserLookup.Items.Count > 0) { if (IsAdmin || IsTrngAdmin || TrngCourseAdmin.IsAdmin(Int32.Parse(lbxCourses.SelectedValue), CurrentUser.ID)) { foreach (ListItem li in lbxUserLookup.Items) { if (li.Selected) { TrngCourseAdmin membership = new TrngCourseAdmin(int.Parse(li.Value), Int32.Parse(lbxCourses.SelectedValue)); membership.CourseID = Int32.Parse(lbxCourses.SelectedValue); membership.UserID = int.Parse(li.Value); membership.CreatedBy = CurrentUser.DisplayName; membership.ModifiedBy = CurrentUser.DisplayName; if (membership.ID == 0) { if (!membership.Insert()) { Transaction xAction = new Transaction(); xAction.Action = string.Format("Failed to add {0} from {1} admin role", li.Text, lbxCourses.SelectedItem.Text); xAction.Category = "Application Administration"; xAction.Type = Transaction.TYPE_FAILURE; xAction.CreatedBy = CurrentUser.DisplayName; xAction.Insert(); } else { Transaction xAction = new Transaction(); Action.Write(string.Format("Added {0} as a [{1}] administrator", li.Text, lbxCourses.SelectedItem.Text), CurrentUser.DisplayName); xAction.Action = string.Format("Successfully added user {0} from {1} admin role", li.Text, lbxCourses.SelectedItem.Text); xAction.Category = "Application Administration"; xAction.Type = Transaction.TYPE_SUCCESS; xAction.CreatedBy = CurrentUser.DisplayName; xAction.Insert(); } } } } FillMembers(Int32.Parse(lbxCourses.SelectedValue)); } else { ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), Guid.NewGuid().ToString(), "alert('You do not have permission to manage administrators for this course!');", true); } } } catch (Exception ex) { SPA.Error.WriteError(ex); if (ShowDebug) { lblErrorMessage.Text = ex.ToString(); } } }
private void SetupContribute() { if (IsTrngAdmin || TrngCourseAdmin.IsAdmin(CourseID, CurrentUser.ID)) { item = (ItemID == 0) ? new SPA.TrngQuestion() : new SPA.TrngQuestion(ItemID); } else { Script("window.frameElement.commitPopup('');"); } }
private void SetupContribute() { if (IsTrngAdmin || TrngCourseAdmin.IsAdmin(CourseID, CurrentUser.ID)) { gvData.Columns[0].Visible = true; } else { Script("window.frameElement.commitPopup('');"); } }
private void SetupContribute() { if (IsAdmin || IsTrngAdmin || TrngCourseAdmin.IsAdmin(CourseID, CurrentUser.ID)) { // do something } else { Response.Redirect(string.Format("{0}/{1}?code={2}", SPContext.Current.Web.Url, Message.URL_USERMESSAGE, Message.Code.MngrAccessReq), false); } }
protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e) { try { switch (e.Row.RowType) { case DataControlRowType.DataRow: e.Row.Attributes.Add("onmouseover", "this.originalstyle = this.style.backgroundColor; this.style.backgroundColor = 'rgba( 156,206,240,0.5 )'; this.style.color = 'White'"); e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=this.originalstyle;this.style.color=this.originalstyle;"); e.Row.Attributes["style"] = "cursor:pointer"; Label lblItemID = (Label)e.Row.FindControl("lblItemID"); int id = int.Parse(lblItemID.Text); Label lblSlideCount = (Label)e.Row.FindControl("lblSlideCount"); HyperLink hlURL = (HyperLink)e.Row.FindControl("hlURL"); Label lblIsCBT = (Label)e.Row.FindControl("lblIsCBT"); Label lblIsExternal = (Label)e.Row.FindControl("lblIsExternal"); Label lblExternalURL = (Label)e.Row.FindControl("lblExternalURL"); bool releaseCbt = bool.Parse(lblIsCBT.Text); bool externalCourse = bool.Parse(lblIsExternal.Text); if (int.Parse(lblSlideCount.Text) > 0 && releaseCbt && !externalCourse) { hlURL.Text = "Start Course"; string jsActionStartCourse = string.Format("openModalDialog('{0}','{1}/{2}?courseid={3}', 'true'); return false;", "CBT Viewer", SPContext.Current.Web.Url, Pages.Course.PAGE_URL, id); hlURL.Attributes.Add("onclick", jsActionStartCourse); } if (releaseCbt && externalCourse) { hlURL.Text = "Start Course"; string jsActionStartCourse = string.Format("window.location.replace('{0}'); return false;", lblExternalURL.Text.ToLower()); //string jsActionStartCourse = string.Format("openModalDialog('{0}','{1}?courseid={2}', 'true'); return false;", "CBT Viewer", lblExternalURL.Text.Trim(), id); hlURL.Attributes.Add("onclick", jsActionStartCourse); } ImageButton ibtnEdit = (ImageButton)e.Row.FindControl("ibtnEdit"); ibtnEdit.Visible = false; if (IsTrngAdmin || IsAdmin || TrngCourseAdmin.IsAdmin(id, CurrentUser.ID)) { ibtnEdit.Visible = true; } break; case DataControlRowType.Header: SetupSort(gvData, e); break; } } catch (Exception ex) { SPA.Error.WriteError(ex); if (ShowDebug) { lblErrorMessage.Text = ex.ToString(); } } }
private void BuildDisplay() { try { this.Controls.Clear(); _updatePnl = new UpdatePanel(); _updatePnl.ChildrenAsTriggers = true; _updatePnl.UpdateMode = UpdatePanelUpdateMode.Conditional; Table MainTable = new Table(); MainTable.CellPadding = 2; MainTable.CellSpacing = 0; //MainTable.BorderStyle = BorderStyle.Solid; //MainTable.BorderWidth = Unit.Pixel(1); //MainTable.BorderColor = System.Drawing.Color.Gainsboro; MainTable.Width = Unit.Percentage(100); TableRow tr = new TableRow(); TableCell td = new TableCell(); //td.Font.Name = "tahoma,sans-serif"; //td.Font.Size = new FontUnit(8); SPA.User currentUser = new SPA.User(Context.User.Identity.Name); bool IsAdmin = currentUser.InRole(RoleType.Administrator.ToString()); bool IsManager = currentUser.InRole(RoleType.Manager.ToString()); bool IsTrngAdmin = currentUser.InRole(RoleType.TrngAdmin.ToString()); bool IsTrngCourseAdmin = TrngCourseAdmin.IsAdmin(currentUser.ID); DataTable courseCatalog = TrngCourse.ReleasedItems().Tables[0]; foreach (DataRow dr in courseCatalog.Rows) { if (TrngRecord.AssignedCourse(currentUser.ID, int.Parse(dr["ID"].ToString()))) { dr.Delete(); } } _dt = courseCatalog; _dt.PrimaryKey = new DataColumn[] { _dt.Columns["ID"] }; _dt.DefaultView.Sort = ViewState["MyCatalogSortExpression"].ToString() + (ViewState["MyCatalogSortDirection"].ToString() == SortDirection.Ascending.ToString() ? " ASC" : " DESC"); _gridView.DataSource = _dt; _gridView.DataBind(); td.Controls.Add(_gridView); tr.Controls.Add(td); MainTable.Controls.Add(tr); _updatePnl.ContentTemplateContainer.Controls.Add(MainTable); if (IsAdmin || IsManager || IsTrngAdmin || IsTrngCourseAdmin) { _updatePnl.ContentTemplateContainer.Controls.Add(BuildFooterTable()); } this.Controls.Add(_updatePnl); } catch (Exception ex) { Error.WriteError(ex); } }
private void SetupContribute() { if (IsTrngAdmin || IsAdmin) { jsActionNewItem = string.Format("window.location.replace('{0}/{1}?View=New&ID=0'); return false;", SPContext.Current.Web.Url, CourseCatalogItem.PAGE_URL); lbtnNew.Visible = true; } if (IsTrngAdmin || IsAdmin || TrngCourseAdmin.IsAdmin(CurrentUser.ID)) { gvData.Columns[0].Visible = true; } }
protected override void Fill() { TrainingSummary(); if (TrngCourseAdmin.IsAdmin(CurrentUser.ID) || CurrentUser.InRole("TrngAdmin")) { CourseAdminSummary(); } if (SPA.User.HasOrgRole("TrngAdmin", CurrentUser.ID) || SPA.User.HasOrgRole("TrngAuditor", CurrentUser.ID) || CurrentUser.InRole("TrngAdmin")) { //TrngOrgAdminSummary(); //OrgTrainingSummary(); } }
private void SetupContribute() { if (IsAdmin || IsTrngAdmin || TrngCourseAdmin.IsAdmin(CurrentUser.ID)) { // do something } else { tdLookupHeader.Visible = false; tdLookup.Visible = false; tdLookupFooter.Visible = false; btnRemove.Visible = false; } }
private void SetupContribute() { if (IsAdmin || IsTrngAdmin || TrngCourseAdmin.IsAdmin(CurrentUser.ID)) { jsActionNewItem = string.Format("openModalDialog('Slide - New Item','{0}/{1}?View=New&ID=0&UserID=0&CourseID={2}&Filter={3}'); return false;", SPContext.Current.Web.Url, Pages.SlideItem.PAGE_URL, CourseID, Filter); jsActionQuickBuild = string.Format("openModalDialog('Slide - Quick Build','{0}/{1}?View=New&ID=0&UserID=0&CourseID={2}&Filter={3}'); return false;", SPContext.Current.Web.Url, Pages.SlideQuickBuild.PAGE_URL, CourseID, Filter); lbtnNewSlide.OnClientClick = jsActionNewItem; lbtnQuickBuild.OnClientClick = jsActionQuickBuild; gvData.Columns[0].Visible = true; } else { //Response.Redirect(string.Format("{0}/{1}", SPContext.Current.Web.Url, Training.BASE_PAGES_URL), false); } //lblErrorMessage.Text = string.Format("IsAdmin: {0}<br>", IsAdmin); //lblErrorMessage.Text += string.Format("IsTrngAdmin: {0}<br>", IsTrngAdmin); //lblErrorMessage.Text += string.Format("IsTrngCourseAdmin: {0}<br>", TrngCourseAdmin.IsAdmin(CurrentUser.ID)); }
protected override void Fill() { lblMessage.Visible = false; FillCourses(); if (CourseID > 0) { trSlideHeader.Visible = true; ddlCourse.SelectedIndex = -1; ddlCourse.Items.FindByValue(CourseID.ToString()).Selected = true; if (IsTrngAdmin || TrngCourseAdmin.IsAdmin(CourseID, CurrentUser.ID)) { trSlideHeader.Visible = true; GetSlides(CourseID); } else { lblMessage.Visible = true; trSlideHeader.Visible = false; lblMessage.Text = "<br> You must be a course administrator for the selected course to modify."; } } }
private void FillMembers(int CourseID) { try { lbxMemberships.Items.Clear(); DataSet ds = TrngCourseAdmin.Items(CourseID); DataView dv = new DataView(ds.Tables[0]); dv.Sort = "DisplayName ASC"; lbxMemberships.DataSource = dv; lbxMemberships.DataTextField = "DisplayName"; lbxMemberships.DataValueField = "UserID"; lbxMemberships.DataBind(); //if (lbxMemberships.Items.Count > 0) // btnRemove.Enabled = true; //else // btnRemove.Enabled = false; } catch (Exception ex) { SPA.Error.WriteError(ex); if (ShowDebug) { lblErrorMessage.Text = ex.ToString(); } } }
private void SetupContribute() { if (SPA.User.HasOrgRole("TrngAdmin", CurrentUser.ID) || SPA.User.HasOrgRole("Administrator", CurrentUser.ID) || CurrentUser.InRole("TrngAdmin") || TrngCourseAdmin.IsAdmin(CurrentUser.ID)) { // do something } else { Response.Redirect(string.Format("{0}/{1}?code={2}", SPContext.Current.Web.Url, Message.URL_USERMESSAGE, Message.Code.MngrAccessReq), false); } }
protected override void Fill() { try { bool isView = (IView == ItemView.View); bool isNew = (IView == ItemView.New); bool isEdit = (IView == ItemView.Edit); if (ItemID != 0 && isView || ItemID != 0 && isEdit) { TrngCourse chk = new TrngCourse(ItemID); if (chk.ID == 0) { tblItem.Visible = false; tblMessage.Visible = true; } else { tblItem.Visible = true; tblMessage.Visible = false; } } if (IsAdmin || IsTrngAdmin || TrngCourseAdmin.IsAdmin(ItemID, CurrentUser.ID)) { lbtnEdit.Visible = isView; lbtnView.Visible = !isView && ItemID != 0; lbtnDelete.Visible = !isView && ItemID != 0; lblReqMsg.Visible = !isView; } else { isView = true; } if (!IsPostBack) { ddlCategory.DataSource = SPA.TrngCategory.Items(); ddlCategory.DataTextField = "Name"; ddlCategory.DataValueField = "ID"; ddlCategory.DataBind(); ddlCategory.Items.Insert(0, new ListItem("Choose", "0")); } txtName.Text = item.Name; txtName.Visible = !isView; lblNameView.Text = item.Name; lblNameView.Visible = isView; lblNameRequired.Visible = !isView; txtDescription.Text = item.Description.ToString(); txtDescription.Visible = !isView; lblDescriptionView.Text = item.Description.ToString(); lblDescriptionView.Visible = isView; txtCode.Text = item.Code.ToString(); txtCode.Visible = !isView; lblCodeView.Text = item.Code.ToString(); lblCodeView.Visible = isView; ddlCategory.SelectedIndex = -1; ddlCategory.Items.FindByValue(item.TrngCategoryID.ToString()).Selected = true; ddlCategory.Visible = !isView; lblCategoryView.Text = new TrngCategory(item.TrngCategoryID).Name; lblCategoryView.Visible = isView; txtFrequency.Text = item.Frequency.ToString(); txtFrequency.Visible = !isView; lblFrequencyView.Text = item.Frequency.ToString(); lblFrequencyView.Visible = isView; lblFrequencyRequired.Visible = !isView; ckbxCBT.Checked = item.IsCBT; ckbxCBT.Visible = !isView; lblCBTView.Text = item.IsCBT ? "Yes" : "No"; lblCBTView.Visible = isView; ckbxGraded.Checked = item.IsGraded; ckbxGraded.Visible = !isView; lblGradedView.Text = item.IsGraded ? "Yes" : "No"; lblGradedView.Visible = isView; ckbxExternal.Checked = item.IsExternal; ckbxExternal.Visible = !isView; lblExternalView.Text = item.IsExternal ? "Yes" : "No"; lblExternalView.Visible = isView; txtExternalURL.Text = item.ExternalURL.ToString(); txtExternalURL.Visible = !isView; lblExternalURLView.Text = item.ExternalURL.ToString(); lblExternalURLView.Visible = isView; txtMinimumScore.Text = item.MinimumScore.ToString(); txtMinimumScore.Visible = !isView; lblMinimumScoreView.Text = item.MinimumScore.ToString(); lblMinimumScoreView.Visible = isView; lblCreatedInfo.Text = string.Format("Created at {0} by {1}", SPA.Common.ConvertUTCToWebLocalTime(this.Web, item.CreatedOn), item.CreatedBy); lblCreatedInfo.Visible = (item.ID != 0); lblUpdatedInfo.Text = string.Format("Last modified at {0} by {1}", SPA.Common.ConvertUTCToWebLocalTime(this.Web, item.ModifiedOn), item.ModifiedBy); lblUpdatedInfo.Visible = (item.ID != 0); btnSave.Visible = !isView; btnCancel.Text = isView ? "Close" : "Cancel"; } catch (Exception ex) { SPA.Error.WriteError(ex); if (ShowDebug) { lblErrorMessage.Text = ex.ToString(); } } }
protected void CourseAdminSummary() { try { if (IsTrngAdmin || IsAdmin || TrngCourseAdmin.IsAdmin(CurrentUser.ID)) { // Define Table jsActionTrngRecord = string.Format("window.location.replace('{0}/{1}'); return false;", SPContext.Current.Web.Url, CourseCatalog.PAGE_URL); Table tblCourse = new Table(); tblCourse.Attributes.Add("onmouseover", "this.originalstyle = this.style.backgroundColor; this.style.backgroundColor = 'rgba( 156,206,240,0.5 )'; this.style.color = 'black'"); tblCourse.Attributes.Add("onmouseout", "this.style.backgroundColor=this.originalstyle;this.style.color=this.originalstyle;"); tblCourse.Attributes.Add("onclick", jsActionTrngRecord); tblCourse.Attributes.Add("border-collapse", "separate"); tblCourse.Attributes.Add("border-spacing", "0px 0px"); tblCourse.BorderStyle = BorderStyle.Solid; tblCourse.BorderWidth = Unit.Pixel(1); tblCourse.BorderColor = System.Drawing.Color.Gainsboro; tblCourse.BackColor = System.Drawing.Color.Gainsboro; tblCourse.Width = Unit.Pixel(250); tblCourse.Height = Unit.Pixel(5); // define header TableRow trHeader = new TableRow(); TableCell tdHeader = new TableCell(); tdHeader.VerticalAlign = VerticalAlign.Middle; tdHeader.HorizontalAlign = HorizontalAlign.Left; tdHeader.Style.Add("padding-left", "10px"); tdHeader.Style.Add("padding-right", "10px"); tdHeader.Style.Add("padding-top", "2px"); tdHeader.Style.Add("padding-bottom", "2px"); tdHeader.Style.Add("border-top-left-radius", "4px"); tdHeader.Style.Add("border-top-right-radius", "4px"); trHeader.BackColor = System.Drawing.Color.FromArgb(136, 117, 52); // define header link HyperLink hlHeader = new HyperLink(); hlHeader.Text = "Course Administrator for"; hlHeader.NavigateUrl = CourseCatalog.PAGE_URL; hlHeader.ForeColor = System.Drawing.Color.White; hlHeader.Font.Size = FontUnit.Point(9); hlHeader.Font.Bold = true; hlHeader.Font.Underline = false; // add header controls tdHeader.Controls.Add(hlHeader); trHeader.Controls.Add(tdHeader); // define body TableRow trBody = new TableRow(); TableCell tdBody = new TableCell(); tdBody.VerticalAlign = VerticalAlign.Top; tdBody.HorizontalAlign = HorizontalAlign.Left; tdBody.Style.Add("padding-left", "10px"); tdBody.Style.Add("padding-right", "10px"); tdBody.Style.Add("padding-top", "2px"); tdBody.Style.Add("padding-bottom", "2px"); trBody.BackColor = System.Drawing.Color.White; Label lblBody = new Label(); DataView dv = new DataView(); if (IsTrngAdmin || IsAdmin) { dv = new DataView(SPA.TrngCourse.Items().Tables[0]); } else { dv = new DataView(SPA.TrngCourseAdmin.List(CurrentUser.ID).Tables[0]); } foreach (DataRowView drv in dv) { lblBody.Text += string.Format("<img src='/_layouts/15/images/BCCUR.GIF' /> {0}<br>", drv["Name"].ToString()); } lblBody.ForeColor = System.Drawing.Color.Black; // add body controls tdBody.Controls.Add(lblBody); trBody.Controls.Add(tdBody); // define footer TableRow trFooter = new TableRow(); TableCell tdFooter = new TableCell(); tdFooter.VerticalAlign = VerticalAlign.Middle; tdFooter.HorizontalAlign = HorizontalAlign.Left; tdFooter.Style.Add("padding-left", "10px"); tdFooter.Style.Add("padding-right", "10px"); tdFooter.Style.Add("padding-top", "2px"); tdFooter.Style.Add("padding-bottom", "2px"); trFooter.BackColor = System.Drawing.Color.White; Label lblFooter = new Label(); lblFooter.Text += "Click to review the course catalog"; lblFooter.ForeColor = System.Drawing.Color.Black; // add footer controls tdFooter.Controls.Add(lblFooter); trFooter.Controls.Add(tdFooter); // add rows to table and table to placeholder tblCourse.Controls.Add(trHeader); tblCourse.Controls.Add(trBody); tblCourse.Controls.Add(trFooter); phTrngCourseSummary.Controls.Add(tblCourse); } } catch (Exception ex) { SPA.Error.WriteError(ex); if (ShowDebug) { lblErrorMessage.Text = ex.ToString(); } } }
private void BuildDisplay() { try { this.Controls.Clear(); _updatePnl = new UpdatePanel(); _updatePnl.ChildrenAsTriggers = true; _updatePnl.UpdateMode = UpdatePanelUpdateMode.Conditional; Table MainTable = new Table(); MainTable.CellPadding = 2; MainTable.CellSpacing = 0; MainTable.Width = Unit.Percentage(100); TableRow tr = new TableRow(); TableCell td = new TableCell(); SPA.User currentUser = new SPA.User(Context.User.Identity.Name); bool IsAdmin = currentUser.InRole(RoleType.Administrator.ToString()); bool IsManager = currentUser.InRole(RoleType.Manager.ToString()); bool IsUserAdmin = currentUser.InRole(RoleType.UserAdmin.ToString()); bool IsTrngAdmin = currentUser.InRole(RoleType.TrngAdmin.ToString()); bool IsTrngCourseAdmin = TrngCourseAdmin.IsAdmin(currentUser.ID); int userID = currentUser.ID; int coursesAssigned = TrngRecord.Assigned(userID); // assign default courses DataView dvCourses = new DataView(TrngSetMembership.CourseSetMembershipItems(1).Tables[0]); foreach (DataRowView drvCourse in dvCourses) { int courseID = int.Parse(drvCourse["TrngCourseID"].ToString()); TrngCourse course = new TrngCourse(courseID); TrngRecord record = new TrngRecord(courseID, userID); record.CourseName = course.Name; record.CourseDescription = course.Description; record.CourseCode = course.Code; if (record.ID == 0) { record.CourseID = courseID; record.UserID = userID; if (record.Insert()) { } } } // assign orggroup courses if not exempt if (!currentUser.ExcludeOrgTrngAssignments) { int userOrgGroupID = SPA.User.OrgGroupID(userID); dvCourses = new DataView(TrngSetMembership.CourseSetMembershipItemsByOrgGroup(userOrgGroupID).Tables[0]); foreach (DataRowView drvCourse in dvCourses) { int courseID = int.Parse(drvCourse["TrngCourseID"].ToString()); TrngCourse course = new TrngCourse(courseID); TrngRecord record = new TrngRecord(courseID, userID); record.CourseName = course.Name; record.CourseDescription = course.Description; record.CourseCode = course.Code; if (record.ID == 0) { record.CourseID = courseID; record.UserID = userID; if (record.Insert()) { } } } } _dt = TrngRecord.CBTItems(currentUser.ID).Tables[0]; _dt.PrimaryKey = new DataColumn[] { _dt.Columns["ID"] }; _dt.DefaultView.Sort = ViewState["MyTrngSortExpression"].ToString() + (ViewState["MyTrngSortDirection"].ToString() == SortDirection.Ascending.ToString() ? " ASC" : " DESC"); _gridView.DataSource = _dt; _gridView.DataBind(); td.Controls.Add(_gridView); tr.Controls.Add(td); MainTable.Controls.Add(tr); _updatePnl.ContentTemplateContainer.Controls.Add(MainTable); if (IsAdmin || IsManager || IsUserAdmin || IsTrngAdmin || IsTrngCourseAdmin) { _updatePnl.ContentTemplateContainer.Controls.Add(BuildFooterTable()); } this.Controls.Add(_updatePnl); } catch (Exception ex) { Error.WriteError(ex); } }