Skip to content

Commit 57a9b99

Browse files
committed
Revert "Remove form validation for json request and fix some other bugs"
This reverts commit f2b5744.
1 parent 89a293c commit 57a9b99

File tree

7 files changed

+23
-38
lines changed

7 files changed

+23
-38
lines changed

models/db/name.go

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -72,25 +72,6 @@ func (err ErrNameCharsNotAllowed) Unwrap() error {
7272
return util.ErrInvalidArgument
7373
}
7474

75-
type ErrNameTooLong struct {
76-
Name string
77-
MaxLength int
78-
}
79-
80-
func (err ErrNameTooLong) Error() string {
81-
return fmt.Sprintf("name is too long [name: %s, max length: %d]", err.Name, err.MaxLength)
82-
}
83-
84-
// Unwrap unwraps this as a ErrInvalid err
85-
func (err ErrNameTooLong) Unwrap() error {
86-
return util.ErrInvalidArgument
87-
}
88-
89-
func IsErrNameTooLong(err error) bool {
90-
_, ok := err.(ErrNameTooLong)
91-
return ok
92-
}
93-
9475
// IsUsableName checks if name is reserved or pattern of name is not allowed
9576
// based on given reserved names and patterns.
9677
// Names are exact match, patterns can be a prefix or suffix match with placeholder '*'.

models/user/user.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -618,13 +618,8 @@ var (
618618
reservedUserPatterns = []string{"*.keys", "*.gpg", "*.rss", "*.atom", "*.png"}
619619
)
620620

621-
const MaxUsableUsernameLength = 40
622-
623621
// IsUsableUsername returns an error when a username is reserved
624622
func IsUsableUsername(name string) error {
625-
if len(name) > MaxUsableUsernameLength {
626-
return db.ErrNameTooLong{Name: name, MaxLength: MaxUsableUsernameLength}
627-
}
628623
// Validate username make sure it satisfies requirement.
629624
if !validation.IsValidUsername(name) {
630625
// Note: usually this error is normally caught up earlier in the UI

options/locale/locale_en-US.ini

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2812,10 +2812,8 @@ team_permission_desc = Permission
28122812
team_unit_desc = Allow Access to Repository Sections
28132813
team_unit_disabled = (Disabled)
28142814

2815-
form.username_been_taken = The organization name "%s" has already been taken.
28162815
form.name_reserved = The organization name "%s" is reserved.
28172816
form.name_pattern_not_allowed = The pattern "%s" is not allowed in an organization name.
2818-
form.name_too_long = The organization name "%[1]s" is too long, max size is %[2]d
28192817
form.create_org_not_allowed = You are not allowed to create an organization.
28202818

28212819
settings = Settings

routers/web/org/setting.go

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -220,31 +220,30 @@ func Labels(ctx *context.Context) {
220220

221221
// SettingsRename response for renaming organization
222222
func SettingsRename(ctx *context.Context) {
223+
form := web.GetForm(ctx).(*forms.RenameOrgForm)
223224
org := ctx.Org.Organization
224-
oldOrgName := ctx.FormString("org_name")
225-
newOrgName := ctx.FormString("new_org_name")
226225

227-
if org.Name != oldOrgName {
226+
if org.Name != form.OrgName {
228227
ctx.Flash.Error(ctx.Tr("form.enterred_invalid_org_name"))
229228
ctx.JSONRedirect(ctx.Org.OrgLink + "/settings")
230229
return
231230
}
232231

233-
if org.Name == newOrgName {
232+
if org.Name == form.NewOrgName {
234233
ctx.Flash.Error(ctx.Tr("org.settings.rename_no_change"))
235234
ctx.JSONRedirect(ctx.Org.OrgLink + "/settings")
236235
return
237236
}
238237

239-
if err := user_service.RenameUser(ctx, org.AsUser(), newOrgName); err != nil {
238+
oldOrgName := org.Name
239+
240+
if err := user_service.RenameUser(ctx, org.AsUser(), form.NewOrgName); err != nil {
240241
if user_model.IsErrUserAlreadyExist(err) {
241-
ctx.Flash.Error(ctx.Tr("org.form.username_been_taken", newOrgName))
242+
ctx.Flash.Error(ctx.Tr("form.username_been_taken"))
242243
} else if db.IsErrNameReserved(err) {
243-
ctx.Flash.Error(ctx.Tr("org.form.name_reserved", newOrgName))
244+
ctx.Flash.Error(ctx.Tr("repo.form.name_reserved"))
244245
} else if db.IsErrNamePatternNotAllowed(err) {
245-
ctx.Flash.Error(ctx.Tr("org.form.name_pattern_not_allowed", newOrgName))
246-
} else if db.IsErrNameTooLong(err) {
247-
ctx.Flash.Error(ctx.Tr("org.form.name_too_long", newOrgName, user_model.MaxUsableUsernameLength))
246+
ctx.Flash.Error(ctx.Tr("repo.form.name_pattern_not_allowed"))
248247
} else {
249248
log.Error("RenameOrganization: %v", err)
250249
ctx.Flash.Error(util.Iif(ctx.Doer.IsAdmin, err.Error(), string(ctx.Tr("org.settings.rename_failed"))))

routers/web/web.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -964,7 +964,7 @@ func registerWebRoutes(m *web.Router) {
964964
addSettingsVariablesRoutes()
965965
}, actions.MustEnableActions)
966966

967-
m.Post("/rename", org.SettingsRename)
967+
m.Post("/rename", web.Bind(forms.RenameOrgForm{}), org.SettingsRename)
968968
m.Post("/delete", org.SettingsDelete)
969969

970970
m.Group("/packages", func() {

services/forms/org.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,18 @@ func (f *UpdateOrgSettingForm) Validate(req *http.Request, errs binding.Errors)
5252
return middleware.Validate(errs, ctx.Data, f, ctx.Locale)
5353
}
5454

55+
type RenameOrgForm struct {
56+
OrgName string `binding:"Required;Username;MaxSize(40)"`
57+
NewOrgName string `binding:"Required;Username;MaxSize(40)"`
58+
}
59+
60+
// ___________
61+
// \__ ___/___ _____ _____
62+
// | |_/ __ \\__ \ / \
63+
// | |\ ___/ / __ \| Y Y \
64+
// |____| \___ >____ /__|_| /
65+
// \/ \/ \/
66+
5567
// CreateTeamForm form for creating team
5668
type CreateTeamForm struct {
5769
TeamName string `binding:"Required;AlphaDashDot;MaxSize(255)"`

services/forms/user_form.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ type InstallForm struct {
6262

6363
PasswordAlgorithm string
6464

65-
AdminName string `binding:"OmitEmpty;Username;MaxSize(40)" locale:"install.admin_name"`
65+
AdminName string `binding:"OmitEmpty;Username;MaxSize(30)" locale:"install.admin_name"`
6666
AdminPasswd string `binding:"OmitEmpty;MaxSize(255)" locale:"install.admin_password"`
6767
AdminConfirmPasswd string
6868
AdminEmail string `binding:"OmitEmpty;MinSize(3);MaxSize(254);Include(@)" locale:"install.admin_email"`

0 commit comments

Comments
 (0)