@@ -70,7 +70,7 @@ func SettingsPost(ctx *middleware.Context, form auth.UpdateOrgSettingForm) { | |||
} | |||
log.Trace("Organization setting updated: %s", org.Name) | |||
ctx.Flash.Success(ctx.Tr("org.settings.update_setting_success")) | |||
ctx.Redirect(setting.AppSubUrl + "/org/" + org.Name + "/settings") | |||
ctx.Redirect(org.HomeLink() + "/settings") | |||
} | |||
func SettingsDelete(ctx *middleware.Context) { | |||
@@ -79,11 +79,19 @@ func SettingsDelete(ctx *middleware.Context) { | |||
org := ctx.Org.Organization | |||
if ctx.Req.Method == "POST" { | |||
// FIXME: validate password. | |||
if _, err := models.UserSignIn(ctx.User.Name, ctx.Query("password")); err != nil { | |||
if models.IsErrUserNotExist(err) { | |||
ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_password"), SETTINGS_DELETE, nil) | |||
} else { | |||
ctx.Handle(500, "UserSignIn", err) | |||
} | |||
return | |||
} | |||
if err := models.DeleteOrganization(org); err != nil { | |||
if models.IsErrUserOwnRepos(err) { | |||
ctx.Flash.Error(ctx.Tr("form.org_still_own_repo")) | |||
ctx.Redirect(setting.AppSubUrl + "/org/" + org.LowerName + "/settings/delete") | |||
ctx.Redirect(org.HomeLink() + "/settings/delete") | |||
} else { | |||
ctx.Handle(500, "DeleteOrganization", err) | |||
} | |||
@@ -0,0 +1,10 @@ | |||
<div class="actions"> | |||
<div class="ui red basic inverted cancel button"> | |||
<i class="remove icon"></i> | |||
{{.i18n.Tr "modal.no"}} | |||
</div> | |||
<div class="ui green basic inverted ok button"> | |||
<i class="checkmark icon"></i> | |||
{{.i18n.Tr "modal.yes"}} | |||
</div> | |||
</div> |
@@ -1,36 +1,43 @@ | |||
{{template "ng/base/head" .}} | |||
{{template "ng/base/header" .}} | |||
{{template "org/base/header" .}} | |||
<div id="setting-wrapper" class="main-wrapper"> | |||
<div id="org-setting" class="container clear"> | |||
{{template "org/settings/nav" .}} | |||
<div class="grid-4-5 left"> | |||
<div class="setting-content"> | |||
{{template "ng/base/alert" .}} | |||
<div id="setting-content"> | |||
<div id="user-profile-setting-content" class="panel panel-warning panel-radius"> | |||
<p class="panel-header"><strong>{{.i18n.Tr "org.settings.delete_account"}}</strong></p> | |||
<div class="panel-body panel-content"> | |||
<span class="alert alert-red alert-radius block"><i class="octicon octicon-alert"></i>{{.i18n.Tr "org.settings.delete_prompt" | Str2html}}</span> | |||
<form id="delete-org-form" action="{{AppSubUrl}}/org/{{.Org.LowerName}}/settings/delete" method="post"> | |||
{{.CsrfTokenHtml}} | |||
<p class="field"> | |||
<span class="form-label"></span> | |||
<button class="btn btn-red btn-large btn-radius" id="delete-org-btn" href="#delete-org-modal">{{.i18n.Tr "org.settings.confirm_delete_account"}}</button> | |||
</p> | |||
</form> | |||
<div class="white-popup-block mfp-hide" id="delete-org-modal"> | |||
<h1 class="text-red">{{.i18n.Tr "org.settings.delete_org_title"}}</h1> | |||
<p>{{.i18n.Tr "org.settings.delete_org_desc"}}</p> | |||
<br> | |||
<button class="btn btn-red btn-large btn-radius" id="delete-org-submit">{{.i18n.Tr "settings.continue"}}</button> | |||
<button class="btn btn-large btn-radius popup-modal-dismiss">{{.i18n.Tr "settings.cancel"}}</button> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
{{template "base/head" .}} | |||
<div class="organization settings delete"> | |||
{{template "org/header" .}} | |||
<div class="ui container"> | |||
<div class="ui grid"> | |||
{{template "org/settings/navbar" .}} | |||
<div class="twelve wide column content"> | |||
{{template "base/alert" .}} | |||
<h4 class="ui top attached warning header"> | |||
{{.i18n.Tr "org.settings.delete_account"}} | |||
</h4> | |||
<div class="ui attached warning segment"> | |||
<div class="ui red message"> | |||
<p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "org.settings.delete_prompt" | Str2html}}</p> | |||
</div> | |||
<form class="ui form" id="delete-form" action="{{.Link}}" method="post"> | |||
{{.CsrfTokenHtml}} | |||
<input class="fake" type="password"> | |||
<div class="inline required field {{if .Err_Password}}error{{end}}"> | |||
<label for="password">{{.i18n.Tr "password"}}</label> | |||
<input id="password" name="password" type="password" autofocus required> | |||
</div> | |||
<div class="ui red button delete-button" data-type="form" data-form="#delete-form"> | |||
{{.i18n.Tr "org.settings.confirm_delete_account"}} | |||
</div> | |||
</form> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="ui small basic delete modal"> | |||
<div class="ui icon header"> | |||
<i class="trash icon"></i> | |||
{{.i18n.Tr "org.settings.delete_org_title"}} | |||
</div> | |||
<div class="content"> | |||
<p>{{.i18n.Tr "org.settings.delete_org_desc"}}</p> | |||
</div> | |||
{{template "base/delete_modal_actions" .}} | |||
</div> | |||
{{template "ng/base/footer" .}} | |||
{{template "base/footer" .}} |
@@ -1,12 +0,0 @@ | |||
<div id="setting-menu" class="grid-1-5 panel panel-radius left"> | |||
<div class="panel-header"> | |||
<strong>{{.i18n.Tr "org.settings"}}</strong> | |||
</div> | |||
<div class="panel-body"> | |||
<ul class="menu menu-vertical switching-list grid-1-5 left"> | |||
<li {{if .PageIsSettingsOptions}}class="current"{{end}}><a href="{{.Org.HomeLink}}/settings">{{.i18n.Tr "org.settings.options"}}</a></li> | |||
<li {{if .PageIsSettingsHooks}}class="current"{{end}}><a href="{{.Org.HomeLink}}/settings/hooks">{{.i18n.Tr "repo.settings.hooks"}}</a></li> | |||
<li {{if .PageIsSettingsDelete}}class="current"{{end}}><a href="{{.Org.HomeLink}}/settings/delete">{{.i18n.Tr "org.settings.delete"}}</a></li> | |||
</ul> | |||
</div> | |||
</div> |
@@ -1,5 +1,5 @@ | |||
{{template "base/head" .}} | |||
<div class="user settings"> | |||
<div class="user settings delete"> | |||
<div class="ui container"> | |||
<div class="ui grid"> | |||
{{template "user/settings/navbar" .}} | |||
@@ -10,7 +10,7 @@ | |||
</h4> | |||
<div class="ui attached warning segment"> | |||
<div class="ui red message"> | |||
<p>{{.i18n.Tr "settings.delete_prompt" | Str2html}}</p> | |||
<p class="text left"><i class="octicon octicon-alert"></i> {{.i18n.Tr "settings.delete_prompt" | Str2html}}</p> | |||
</div> | |||
<form class="ui form" id="delete-form" action="{{.Link}}" method="post"> | |||
{{.CsrfTokenHtml}} | |||
@@ -37,15 +37,6 @@ | |||
<div class="content"> | |||
<p>{{.i18n.Tr "settings.delete_account_desc"}}</p> | |||
</div> | |||
<div class="actions"> | |||
<div class="ui red basic inverted cancel button"> | |||
<i class="remove icon"></i> | |||
{{.i18n.Tr "modal.no"}} | |||
</div> | |||
<div class="ui green basic inverted ok button"> | |||
<i class="checkmark icon"></i> | |||
{{.i18n.Tr "modal.yes"}} | |||
</div> | |||
</div> | |||
{{template "base/delete_modal_actions" .}} | |||
</div> | |||
{{template "base/footer" .}} |