Переглянути джерело

finish new org settings page

Unknwon 9 роки тому
батько
коміт
00767a0522

+ 11 - 3
routers/org/setting.go

@@ -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)
 			}

+ 10 - 0
templates/base/delete_modal_actions.tmpl

@@ -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>

+ 39 - 32
templates/org/settings/delete.tmpl

@@ -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" .}}

+ 0 - 12
templates/org/settings/nav.tmpl

@@ -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>

+ 3 - 12
templates/user/settings/delete.tmpl

@@ -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" .}}