private static HtmlBuilder FieldSetGeneral( this HtmlBuilder hb, Context context, SiteSettings ss, TenantModel tenantModel) { var mine = tenantModel.Mine(context: context); return(hb.FieldSet(id: "FieldSetGeneral", action: () => hb .FieldSetGeneralColumns( context: context, ss: ss, tenantModel: tenantModel))); }
public static string History(Context context, SiteSettings ss, int tenantId) { var tenantModel = new TenantModel(context: context, ss: ss, tenantId: tenantId); ss.SetColumnAccessControls( context: context, mine: tenantModel.Mine(context: context)); tenantModel.Get( context: context, ss: ss, where : Rds.TenantsWhere() .TenantId(tenantModel.TenantId) .Ver(context.Forms.Int("Ver")), tableType: Sqls.TableTypes.NormalAndHistory); tenantModel.VerType = context.Forms.Bool("Latest") ? Versions.VerTypes.Latest : Versions.VerTypes.History; return(EditorResponse(context, ss, tenantModel).ToJson()); }
public static string Editor( Context context, SiteSettings ss, TenantModel tenantModel) { var invalid = TenantValidators.OnEditing( context: context, ss: ss, tenantModel: tenantModel); switch (invalid) { case Error.Types.None: break; default: return(HtmlTemplates.Error(context, invalid)); } var hb = new HtmlBuilder(); ss.SetColumnAccessControls( context: context, mine: tenantModel.Mine(context: context)); return(hb.Template( context: context, ss: ss, view: null, verType: tenantModel.VerType, methodType: tenantModel.MethodType, referenceType: "Tenants", title: tenantModel.MethodType == BaseModel.MethodTypes.New ? Displays.Tenants(context: context) + " - " + Displays.New(context: context) : tenantModel.Title.Value, action: () => { hb .Editor( context: context, ss: ss, tenantModel: tenantModel) .Hidden(controlId: "TableName", value: "Tenants") .Hidden(controlId: "Controller", value: context.Controller) .Hidden(controlId: "Id", value: tenantModel.TenantId.ToString()); }).ToString()); }
public static string Histories( Context context, SiteSettings ss, int tenantId, Message message = null) { var tenantModel = new TenantModel(context: context, ss: ss, tenantId: tenantId); ss.SetColumnAccessControls( context: context, mine: tenantModel.Mine(context: context)); var columns = ss.GetHistoryColumns(context: context, checkPermission: true); if (!context.CanRead(ss: ss)) { return(Error.Types.HasNotPermission.MessageJson(context: context)); } var hb = new HtmlBuilder(); hb .HistoryCommands(context: context, ss: ss) .Table( attributes: new HtmlAttributes().Class("grid history"), action: () => hb .THead(action: () => hb .GridHeader( context: context, columns: columns, sort: false, checkRow: true)) .TBody(action: () => hb .HistoriesTableBody( context: context, ss: ss, columns: columns, tenantModel: tenantModel))); return(new TenantsResponseCollection(tenantModel) .Html("#FieldSetHistories", hb) .Message(message) .ToJson()); }
public static ErrorData OnCreating( Context context, SiteSettings ss, TenantModel tenantModel, bool api = false) { if (api && (context.ContractSettings.Api == false || !Parameters.Api.Enabled)) { return(new ErrorData(type: Error.Types.InvalidRequest)); } if (!context.CanCreate(ss: ss)) { return(!context.CanRead(ss: ss) ? new ErrorData(type: Error.Types.NotFound) : new ErrorData(type: Error.Types.HasNotPermission)); } ss.SetColumnAccessControls(context: context, mine: tenantModel.Mine(context: context)); foreach (var column in ss.Columns .Where(o => !o.CanCreate) .Where(o => !ss.FormulaTarget(o.ColumnName)) .Where(o => !o.Linking)) { switch (column.ColumnName) { case "TenantName": if (tenantModel.TenantName_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Title": if (tenantModel.Title_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Body": if (tenantModel.Body_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "DisableAllUsersPermission": if (tenantModel.DisableAllUsersPermission_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "DisableStartGuide": if (tenantModel.DisableStartGuide_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "LogoType": if (tenantModel.LogoType_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "HtmlTitleTop": if (tenantModel.HtmlTitleTop_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "HtmlTitleSite": if (tenantModel.HtmlTitleSite_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "HtmlTitleRecord": if (tenantModel.HtmlTitleRecord_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "ContractDeadline": if (tenantModel.ContractDeadline_Updated(context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Comments": if (tenantModel.Comments_Updated(context: context)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; default: switch (Def.ExtendedColumnTypes.Get(column.Name)) { case "Class": if (tenantModel.Class_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Num": if (tenantModel.Num_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Date": if (tenantModel.Date_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Description": if (tenantModel.Description_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Check": if (tenantModel.Check_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; case "Attachments": if (tenantModel.Attachments_Updated( columnName: column.Name, context: context, column: column)) { return(new ErrorData(type: Error.Types.HasNotPermission)); } break; } break; } } return(new ErrorData(type: Error.Types.None)); }
public static HtmlBuilder TdValue( this HtmlBuilder hb, Context context, SiteSettings ss, Column column, TenantModel tenantModel) { if (!column.GridDesign.IsNullOrEmpty()) { return(hb.TdCustomValue( context: context, ss: ss, gridDesign: column.GridDesign, tenantModel: tenantModel)); } else { var mine = tenantModel.Mine(context: context); switch (column.Name) { case "Ver": return(ss.ReadColumnAccessControls.Allowed( context: context, ss: ss, column: column, type: ss.PermissionType, mine: mine) ? hb.Td( context: context, column: column, value: tenantModel.Ver) : hb.Td( context: context, column: column, value: string.Empty)); case "Comments": return(ss.ReadColumnAccessControls.Allowed( context: context, ss: ss, column: column, type: ss.PermissionType, mine: mine) ? hb.Td( context: context, column: column, value: tenantModel.Comments) : hb.Td( context: context, column: column, value: string.Empty)); case "Creator": return(ss.ReadColumnAccessControls.Allowed( context: context, ss: ss, column: column, type: ss.PermissionType, mine: mine) ? hb.Td( context: context, column: column, value: tenantModel.Creator) : hb.Td( context: context, column: column, value: string.Empty)); case "Updator": return(ss.ReadColumnAccessControls.Allowed( context: context, ss: ss, column: column, type: ss.PermissionType, mine: mine) ? hb.Td( context: context, column: column, value: tenantModel.Updator) : hb.Td( context: context, column: column, value: string.Empty)); case "CreatedTime": return(ss.ReadColumnAccessControls.Allowed( context: context, ss: ss, column: column, type: ss.PermissionType, mine: mine) ? hb.Td( context: context, column: column, value: tenantModel.CreatedTime) : hb.Td( context: context, column: column, value: string.Empty)); case "UpdatedTime": return(ss.ReadColumnAccessControls.Allowed( context: context, ss: ss, column: column, type: ss.PermissionType, mine: mine) ? hb.Td( context: context, column: column, value: tenantModel.UpdatedTime) : hb.Td( context: context, column: column, value: string.Empty)); default: return(hb); } } }
public static Error.Types OnCreating( IContext context, SiteSettings ss, TenantModel tenantModel, bool api = false) { if (api && (context.ContractSettings.Api == false || !Parameters.Api.Enabled)) { return(Error.Types.InvalidRequest); } if (!context.CanCreate(ss: ss)) { return(Error.Types.HasNotPermission); } ss.SetColumnAccessControls(context: context, mine: tenantModel.Mine(context: context)); foreach (var column in ss.Columns .Where(o => !o.CanCreate) .Where(o => !ss.FormulaTarget(o.ColumnName)) .Where(o => !o.Linking)) { switch (column.ColumnName) { case "TenantName": if (tenantModel.TenantName_Updated(context: context, column: column)) { return(Error.Types.HasNotPermission); } break; case "Title": if (tenantModel.Title_Updated(context: context, column: column)) { return(Error.Types.HasNotPermission); } break; case "Body": if (tenantModel.Body_Updated(context: context, column: column)) { return(Error.Types.HasNotPermission); } break; case "LogoType": if (tenantModel.LogoType_Updated(context: context, column: column)) { return(Error.Types.HasNotPermission); } break; case "HtmlTitleTop": if (tenantModel.HtmlTitleTop_Updated(context: context, column: column)) { return(Error.Types.HasNotPermission); } break; case "HtmlTitleSite": if (tenantModel.HtmlTitleSite_Updated(context: context, column: column)) { return(Error.Types.HasNotPermission); } break; case "HtmlTitleRecord": if (tenantModel.HtmlTitleRecord_Updated(context: context, column: column)) { return(Error.Types.HasNotPermission); } break; case "ContractDeadline": if (tenantModel.ContractDeadline_Updated(context: context, column: column)) { return(Error.Types.HasNotPermission); } break; case "Comments": if (!ss.GetColumn(context: context, columnName: "Comments").CanUpdate) { return(Error.Types.HasNotPermission); } break; } } return(Error.Types.None); }