@@ -70,7 +70,7 @@ func SettingsPost(ctx *middleware.Context, form auth.UpdateOrgSettingForm) { | |||||
} | } | ||||
log.Trace("Organization setting updated: %s", org.Name) | log.Trace("Organization setting updated: %s", org.Name) | ||||
ctx.Flash.Success(ctx.Tr("org.settings.update_setting_success")) | 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) { | func SettingsDelete(ctx *middleware.Context) { | ||||
@@ -79,11 +79,19 @@ func SettingsDelete(ctx *middleware.Context) { | |||||
org := ctx.Org.Organization | org := ctx.Org.Organization | ||||
if ctx.Req.Method == "POST" { | 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 err := models.DeleteOrganization(org); err != nil { | ||||
if models.IsErrUserOwnRepos(err) { | if models.IsErrUserOwnRepos(err) { | ||||
ctx.Flash.Error(ctx.Tr("form.org_still_own_repo")) | 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 { | } else { | ||||
ctx.Handle(500, "DeleteOrganization", err) | 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> | ||||
<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> | |||||
</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> | </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" .}} | {{template "base/head" .}} | ||||
<div class="user settings"> | |||||
<div class="user settings delete"> | |||||
<div class="ui container"> | <div class="ui container"> | ||||
<div class="ui grid"> | <div class="ui grid"> | ||||
{{template "user/settings/navbar" .}} | {{template "user/settings/navbar" .}} | ||||
@@ -10,7 +10,7 @@ | |||||
</h4> | </h4> | ||||
<div class="ui attached warning segment"> | <div class="ui attached warning segment"> | ||||
<div class="ui red message"> | <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> | </div> | ||||
<form class="ui form" id="delete-form" action="{{.Link}}" method="post"> | <form class="ui form" id="delete-form" action="{{.Link}}" method="post"> | ||||
{{.CsrfTokenHtml}} | {{.CsrfTokenHtml}} | ||||
@@ -37,15 +37,6 @@ | |||||
<div class="content"> | <div class="content"> | ||||
<p>{{.i18n.Tr "settings.delete_account_desc"}}</p> | <p>{{.i18n.Tr "settings.delete_account_desc"}}</p> | ||||
</div> | </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> | </div> | ||||
{{template "base/footer" .}} | {{template "base/footer" .}} |