Skip to content
This repository was archived by the owner on Jan 10, 2022. It is now read-only.

Commit e67ef6c

Browse files
got rid of not needed properties: GenerateModelI in some structs
1 parent ee1b606 commit e67ef6c

File tree

12 files changed

+85
-82
lines changed

12 files changed

+85
-82
lines changed

blueprint/abtest/abtest.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
2222
// add new gorm admin page for blueprint
2323
abTestAdminPage := core.NewGormAdminPage(
2424
nil,
25-
func() (interface{}, interface{}) { return nil, nil },
25+
nil,
2626
func(modelI interface{}, ctx core.IAdminContext) *core.Form { return nil },
2727
)
2828
abTestAdminPage.PageName = "AB Tests"
@@ -37,7 +37,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
3737
// add abtest gorm page
3838
abtestmodelAdminPage := core.NewGormAdminPage(
3939
abTestAdminPage,
40-
func() (interface{}, interface{}) { return &abtestmodel.ABTest{}, &[]*abtestmodel.ABTest{} },
40+
&abtestmodel.ABTest{},
4141
func(modelI interface{}, ctx core.IAdminContext) *core.Form {
4242
fields := []string{"ContentType", "Type", "Name", "Field", "PrimaryKey", "Active", "Group", "StaticPath"}
4343
form := core.NewFormFromModelFromGinContext(ctx, modelI, make([]string, 0), fields, true, "", true)
@@ -96,12 +96,12 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
9696
// initialize inline for abtest, it shows all abtest values that belong to the current abtest object
9797
abTestValueInline := core.NewAdminPageInline(
9898
"AB Test Values",
99-
core.TabularInline, func(m interface{}) (interface{}, interface{}) {
99+
core.TabularInline, func(m interface{}) interface{} {
100100
if m != nil {
101101
mO := m.(*abtestmodel.ABTest)
102-
return &abtestmodel.ABTestValue{ABTestID: mO.ID}, &[]*abtestmodel.ABTestValue{}
102+
return &abtestmodel.ABTestValue{ABTestID: mO.ID}
103103
}
104-
return &abtestmodel.ABTestValue{}, &[]*abtestmodel.ABTestValue{}
104+
return &abtestmodel.ABTestValue{}
105105
}, func(adminContext core.IAdminContext, afo core.IAdminFilterObjects, model interface{}) core.IAdminFilterObjects {
106106
abTest := model.(*abtestmodel.ABTest)
107107
var db *core.UadminDatabase
@@ -114,9 +114,6 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
114114
GormQuerySet: core.NewGormPersistenceStorage(db.Db.Model(&abtestmodel.ABTestValue{}).Where(&abtestmodel.ABTestValue{ABTestID: abTest.ID})),
115115
Model: &abtestmodel.ABTestValue{},
116116
UadminDatabase: db,
117-
GenerateModelI: func() (interface{}, interface{}) {
118-
return &abtestmodel.ABTestValue{}, &[]*abtestmodel.ABTestValue{}
119-
},
120117
}
121118
},
122119
)
@@ -140,6 +137,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
140137
func (b Blueprint) InitApp(app core.IApp) {
141138
// add models to ProjectModels, so we can determine admin pages for these models, etc
142139
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &abtestmodel.ABTestValue{}, &[]*abtestmodel.ABTestValue{} })
140+
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &abtestmodel.ABTest{}, &[]*abtestmodel.ABTest{} })
143141
}
144142

145143
var ConcreteBlueprint = Blueprint{

blueprint/approval/approval.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ type Blueprint struct {
2121
func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
2222
approvalAdminPage := core.NewGormAdminPage(
2323
nil,
24-
func() (interface{}, interface{}) { return nil, make([]interface{}, 0) },
24+
nil,
2525
func(modelI interface{}, ctx core.IAdminContext) *core.Form { return nil },
2626
)
2727
approvalAdminPage.PageName = "Approvals"
@@ -34,7 +34,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
3434
}
3535
approvalmodelAdminPage := core.NewGormAdminPage(
3636
approvalAdminPage,
37-
func() (interface{}, interface{}) { return &models.Approval{}, &[]*models.Approval{} },
37+
&models.Approval{},
3838
func(modelI interface{}, ctx core.IAdminContext) *core.Form {
3939
fields := []string{"ContentType", "ModelPK", "ColumnName", "OldValue", "NewValue", "NewValueDescription", "ChangedBy", "ChangeDate", "ApprovalAction", "ApprovalBy", "ApprovalDate"}
4040
form := core.NewFormFromModelFromGinContext(ctx, modelI, make([]string, 0), fields, true, "", true)
@@ -101,6 +101,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
101101
}
102102

103103
func (b Blueprint) InitApp(app core.IApp) {
104+
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &models.Approval{}, &[]*models.Approval{} })
104105
}
105106

106107
var ConcreteBlueprint = Blueprint{

blueprint/language/language.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ type Blueprint struct {
1616
func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
1717
languageAdminPage := core.NewGormAdminPage(
1818
nil,
19-
func() (interface{}, interface{}) { return nil, nil },
19+
nil,
2020
func(modelI interface{}, ctx core.IAdminContext) *core.Form { return nil },
2121
)
2222
languageAdminPage.PageName = "Languages"
@@ -29,7 +29,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
2929
}
3030
languagemodelAdminPage := core.NewGormAdminPage(
3131
languageAdminPage,
32-
func() (interface{}, interface{}) { return &core.Language{}, &[]*core.Language{} },
32+
&core.Language{},
3333
func(modelI interface{}, ctx core.IAdminContext) *core.Form {
3434
fields := []string{"EnglishName", "Name", "Flag", "Code", "RTL", "Default", "Active", "AvailableInGui"}
3535
form := core.NewFormFromModelFromGinContext(ctx, modelI, make([]string, 0), fields, true, "", true)
@@ -65,6 +65,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
6565
}
6666

6767
func (b Blueprint) InitApp(app core.IApp) {
68+
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &core.Language{}, &[]*core.Language{} })
6869
}
6970

7071
var ConcreteBlueprint = Blueprint{

blueprint/logging/logging.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ type Blueprint struct {
1515
func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
1616
logAdminPage := core.NewGormAdminPage(
1717
nil,
18-
func() (interface{}, interface{}) { return nil, nil },
18+
nil,
1919
func(modelI interface{}, ctx core.IAdminContext) *core.Form { return nil },
2020
)
2121
logAdminPage.PageName = "Logs"
@@ -28,7 +28,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
2828
}
2929
logmodelAdminPage := core.NewGormAdminPage(
3030
logAdminPage,
31-
func() (interface{}, interface{}) { return &logmodel.Log{}, &[]*logmodel.Log{} },
31+
&logmodel.Log{},
3232
func(modelI interface{}, ctx core.IAdminContext) *core.Form {
3333
fields := []string{"Username", "Action", "Activity", "CreatedAt", "ContentType", "ModelPK"}
3434
form := core.NewFormFromModelFromGinContext(ctx, modelI, make([]string, 0), fields, true, "", true)
@@ -76,6 +76,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
7676
}
7777

7878
func (b Blueprint) InitApp(app core.IApp) {
79+
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &logmodel.Log{}, &[]*logmodel.Log{} })
7980
}
8081

8182
var ConcreteBlueprint = Blueprint{

blueprint/settings/settings.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type Blueprint struct {
1717
func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
1818
settingsAdminPage := core.NewGormAdminPage(
1919
nil,
20-
func() (interface{}, interface{}) { return nil, nil },
20+
nil,
2121
func(modelI interface{}, ctx core.IAdminContext) *core.Form { return nil },
2222
)
2323
settingsAdminPage.PageName = "Settings"
@@ -30,9 +30,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
3030
}
3131
settingcategoriesmodelAdminPage := core.NewGormAdminPage(
3232
settingsAdminPage,
33-
func() (interface{}, interface{}) {
34-
return &settingmodel.SettingCategory{}, &[]*settingmodel.SettingCategory{}
35-
},
33+
&settingmodel.SettingCategory{},
3634
func(modelI interface{}, ctx core.IAdminContext) *core.Form {
3735
fields := []string{"Name", "Icon"}
3836
form := core.NewFormFromModelFromGinContext(ctx, modelI, make([]string, 0), fields, true, "", true)
@@ -49,7 +47,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
4947
}
5048
settingmodelAdminPage := core.NewGormAdminPage(
5149
settingsAdminPage,
52-
func() (interface{}, interface{}) { return &settingmodel.Setting{}, &[]*settingmodel.Setting{} },
50+
&settingmodel.Setting{},
5351
func(modelI interface{}, ctx core.IAdminContext) *core.Form {
5452
fields := []string{"Name", "DefaultValue", "DataType", "Value", "Help", "Category", "Code"}
5553
settingModel := modelI.(*settingmodel.Setting)
@@ -207,6 +205,8 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
207205
}
208206

209207
func (b Blueprint) InitApp(app core.IApp) {
208+
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &settingmodel.Setting{}, &[]*settingmodel.Setting{} })
209+
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &settingmodel.SettingCategory{}, &[]*settingmodel.SettingCategory{} })
210210
}
211211

212212
var ConcreteBlueprint = Blueprint{

blueprint/user/user.go

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
265265
})
266266
usersAdminPage := core.NewGormAdminPage(
267267
nil,
268-
func() (interface{}, interface{}) { return nil, nil },
268+
nil,
269269
func(modelI interface{}, ctx core.IAdminContext) *core.Form { return nil },
270270
)
271271
usersAdminPage.PageName = "Users"
@@ -279,7 +279,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
279279
var usermodelAdminPage *core.AdminPage
280280
usermodelAdminPage = core.NewGormAdminPage(
281281
usersAdminPage,
282-
func() (interface{}, interface{}) { return &core.User{}, &[]*core.User{} },
282+
&core.User{},
283283
func(modelI interface{}, ctx core.IAdminContext) *core.Form {
284284
fields := []string{"Username", "FirstName", "LastName", "Email", "Active", "IsStaff", "IsSuperUser", "Password", "Photo", "LastLogin", "ExpiresOn"}
285285
if ctx.GetUserObject().GetIsSuperUser() {
@@ -500,7 +500,7 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
500500
}
501501
usergroupsAdminPage := core.NewGormAdminPage(
502502
usersAdminPage,
503-
func() (interface{}, interface{}) { return &core.UserGroup{}, &[]*core.UserGroup{} },
503+
&core.UserGroup{},
504504
func(modelI interface{}, ctx core.IAdminContext) *core.Form {
505505
fields := []string{"GroupName"}
506506
if ctx.GetUserObject().GetIsSuperUser() {
@@ -612,6 +612,8 @@ func (b Blueprint) InitRouter(app core.IApp, group *gin.RouterGroup) {
612612
func (b Blueprint) InitApp(app core.IApp) {
613613
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &core.OneTimeAction{}, &[]*core.OneTimeAction{} })
614614
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &core.Permission{}, &[]*core.Permission{} })
615+
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &core.User{}, &[]*core.User{} })
616+
core.ProjectModels.RegisterModel(func() (interface{}, interface{}) { return &core.UserGroup{}, &[]*core.UserGroup{} })
615617

616618
core.UadminValidatorRegistry.AddValidator("username-unique", func(i interface{}, o interface{}) error {
617619
uadminDatabase := core.NewUadminDatabase()

core/admin_dashboard_panel.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,11 @@ func (dap *DashboardAdminPanel) RegisterHTTPHandlers(router *gin.Engine) {
114114
err := c.AdminFilterObjects.WithTransaction(func(afo1 IAdminFilterObjects) error {
115115
postForm, _ := ctx.MultipartForm()
116116
ids := postForm.Value["object_id"]
117+
modelDesc := ProjectModels.GetModelFromInterface(c.AdminFilterObjects.GetCurrentModel())
117118
for _, objectID := range ids {
118-
objectModel, _ := c.AdminFilterObjects.GenerateModelInterface()
119+
objectModel, _ := modelDesc.GenerateModelI()
119120
afo1.LoadDataForModelByID(objectID, objectModel)
120-
modelI, _ := c.AdminFilterObjects.GenerateModelInterface()
121+
modelI, _ := modelDesc.GenerateModelI()
121122
listEditableForm := NewFormListEditableFromListDisplayRegistry(c, "", objectID, modelI, adminPage.ListDisplay, nil)
122123
formListEditableErr := listEditableForm.ProceedRequest(postForm, objectModel, c)
123124
if formListEditableErr.IsEmpty() {
@@ -241,7 +242,8 @@ func (dap *DashboardAdminPanel) RegisterHTTPHandlers(router *gin.Engine) {
241242
c.PageTitle = adminPage.ModelName
242243
c.CurrentAdminContext = c
243244
c.ListEditableFormsForInlines = NewFormListEditableCollection()
244-
modelI, _ := adminPage.GenerateModelI()
245+
modelDesc := ProjectModels.GetModelFromInterface(adminPage.Model)
246+
modelI, _ := modelDesc.GenerateModelI()
245247
if id != "new" {
246248
adminRequestParams := NewAdminRequestParamsFromGinContext(ctx)
247249
qs := adminPage.GetQueryset(c, adminPage, adminRequestParams)
@@ -285,7 +287,8 @@ func (dap *DashboardAdminPanel) RegisterHTTPHandlers(router *gin.Engine) {
285287
if id != "new" {
286288
modelToSave = modelI
287289
} else {
288-
modelToSave, _ = adminPage.GenerateModelI()
290+
modelDesc1 := ProjectModels.GetModelFromInterface(adminPage.Model)
291+
modelToSave, _ = modelDesc1.GenerateModelI()
289292
}
290293
afo := adminPage.GetQueryset(c, adminPage, adminRequestParams)
291294
err := afo.WithTransaction(func(afo1 IAdminFilterObjects) error {

core/admin_filter_objects.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ type IAdminFilterObjects interface {
1515
GetCurrentModel() interface{}
1616
GetInitialQuerySet() IPersistenceStorage
1717
SetInitialQuerySet(IPersistenceStorage)
18-
GenerateModelInterface() (interface{}, interface{})
1918
RemoveModelPermanently(model interface{}) error
2019
FilterQs(filterString string)
2120
Search(field *Field, searchString string)

core/admin_page.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ func (apr *AdminPageRegistry) PreparePagesForTemplate(permRegistry *UserPermRegi
125125

126126
type AdminPage struct {
127127
Model interface{} `json:"-"`
128-
GenerateModelI func() (interface{}, interface{}) `json:"-"`
129128
GenerateForm func(modelI interface{}, ctx IAdminContext) *Form `json:"-"`
130129
GetQueryset func(IAdminContext, *AdminPage, *AdminRequestParams) IAdminFilterObjects `json:"-"`
131130
ModelActionsRegistry *AdminModelActionRegistry `json:"-"`

core/admin_page_inlines.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func init() {
1919

2020
type AdminPageInline struct {
2121
Ordering int
22-
GenerateModelI func(m interface{}) (interface{}, interface{})
22+
GenerateModelI func(m interface{}) interface{}
2323
GetQueryset func(adminContext IAdminContext, afo IAdminFilterObjects, model interface{}) IAdminFilterObjects
2424
Actions *AdminModelActionRegistry
2525
EmptyValueDisplay string
@@ -65,7 +65,7 @@ func (api *AdminPageInline) RenderExampleForm(adminContext IAdminContext) templa
6565
}
6666

6767
func (api *AdminPageInline) GetFormForExample(adminContext IAdminContext) *FormListEditable {
68-
modelI, _ := api.GenerateModelI(nil)
68+
modelI := api.GenerateModelI(nil)
6969
form := api.ListDisplay.BuildListEditableFormForNewModel(adminContext, "toreplacewithid", modelI)
7070
r := NewTemplateRenderer("")
7171
r.AddFuncMap("Translate", func(v interface{}) string {
@@ -122,7 +122,7 @@ func (api *AdminPageInline) ProceedRequest(afo IAdminFilterObjects, f *multipart
122122
inlineID := strings.TrimPrefix(fieldName, firstEditableField.Prefix+"-")
123123
inlineID = strings.TrimSuffix(inlineID, "-"+firstEditableField.Field.FieldConfig.Widget.GetHTMLInputName())
124124
realInlineID := strings.Split(inlineID, "_")
125-
modelI, _ := api.GenerateModelI(model)
125+
modelI := api.GenerateModelI(model)
126126
inlineIDToRemove := f.Value[firstEditableField.Prefix+"-"+"object_id-to-remove-"+realInlineID[0]]
127127
isNew := false
128128
if !strings.Contains(inlineID, "new") {
@@ -179,10 +179,10 @@ func (api *AdminPageInline) ProceedRequest(afo IAdminFilterObjects, f *multipart
179179
func NewAdminPageInline(
180180
inlineIden string,
181181
inlineType InlineType,
182-
generateModelI func(m interface{}) (interface{}, interface{}),
182+
generateModelI func(m interface{}) interface{},
183183
getQuerySet func(adminContext IAdminContext, afo IAdminFilterObjects, model interface{}) IAdminFilterObjects,
184184
) *AdminPageInline {
185-
modelI, _ := generateModelI(nil)
185+
modelI := generateModelI(nil)
186186
ld := NewListDisplayRegistryFromGormModelForInlines(modelI)
187187
ld.SetPrefix(PrepareStringToBeUsedForHTMLID(inlineIden))
188188
ret := &AdminPageInline{
@@ -193,7 +193,7 @@ func NewAdminPageInline(
193193
Classes: make([]string, 0),
194194
InlineType: inlineType,
195195
ListDisplay: ld,
196-
GenerateModelI: generateModelI,
196+
GenerateModelI: generateModelI,
197197
GetQueryset: getQuerySet,
198198
VerboseNamePlural: inlineIden,
199199
}

0 commit comments

Comments
 (0)