Skip to content

Commit 4211016

Browse files
committed
refactor for dangerzone
1 parent b711e5f commit 4211016

File tree

2 files changed

+152
-27
lines changed

2 files changed

+152
-27
lines changed

templates/org/settings/options.tmpl

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -37,33 +37,6 @@
3737
</div>
3838

3939
<div class="divider"></div>
40-
<div class="field" id="visibility_box">
41-
<label for="visibility">{{ctx.Locale.Tr "org.settings.visibility"}}</label>
42-
{{range $mode := .AllowedOrgVisibilityModes}}
43-
{{if $mode.IsPublic}}
44-
<div class="field">
45-
<div class="ui radio checkbox">
46-
<input class="enable-system-radio" name="visibility" type="radio" value="0" {{if eq $.CurrentVisibility 0}}checked{{end}}>
47-
<label>{{ctx.Locale.Tr "org.settings.visibility.public"}}</label>
48-
</div>
49-
</div>
50-
{{else if $mode.IsLimited}}
51-
<div class="field">
52-
<div class="ui radio checkbox">
53-
<input class="enable-system-radio" name="visibility" type="radio" value="1" {{if eq $.CurrentVisibility 1}}checked{{end}}>
54-
<label>{{ctx.Locale.Tr "org.settings.visibility.limited"}}</label>
55-
</div>
56-
</div>
57-
{{else if $mode.IsPrivate}}
58-
<div class="field">
59-
<div class="ui radio checkbox">
60-
<input class="enable-system-radio" name="visibility" type="radio" value="2" {{if eq $.CurrentVisibility 2}}checked{{end}}>
61-
<label>{{ctx.Locale.Tr "org.settings.visibility.private"}}</label>
62-
</div>
63-
</div>
64-
{{end}}
65-
{{end}}
66-
</div>
6740

6841
<div class="field" id="permission_box">
6942
<label>{{ctx.Locale.Tr "org.settings.permission"}}</label>
@@ -104,4 +77,10 @@
10477
</form>
10578
</div>
10679
</div>
80+
</div>
81+
</div>
82+
</div>
83+
84+
{{template "org/settings/options_dangerzone" .}}
85+
10786
{{template "org/settings/layout_footer" .}}
Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
<h4 class="ui top attached error header">
2+
{{ctx.Locale.Tr "repo.settings.danger_zone"}}
3+
</h4>
4+
<div class="ui attached error danger segment">
5+
<div class="flex-list">
6+
<div class="flex-item">
7+
<div class="flex-item-main">
8+
<div class="flex-item-title">{{ctx.Locale.Tr "org.settings.visibility"}}</div>
9+
<div class="flex-item-body">{{ctx.Locale.Tr "org.settings.visibility_helper"}}</div>
10+
</div>
11+
<div class="flex-item-trailing">
12+
<button class="ui basic red show-modal button" data-modal="#change-visibility-modal">{{ctx.Locale.Tr "org.settings.change_visibility"}}</button>
13+
</div>
14+
</div>
15+
16+
<div class="flex-item tw-items-center">
17+
<div class="flex-item-main">
18+
<div class="flex-item-title">{{ctx.Locale.Tr "org.settings.rename"}}</div>
19+
<div class="flex-item-body">{{ctx.Locale.Tr "org.settings.rename_desc"}}</div>
20+
</div>
21+
<div class="flex-item-trailing">
22+
<button class="ui basic red show-modal button" data-modal="#rename-org-modal">{{ctx.Locale.Tr "org.settings.rename"}}</button>
23+
</div>
24+
</div>
25+
26+
<div class="flex-item">
27+
<div class="flex-item-main">
28+
<div class="flex-item-title">{{ctx.Locale.Tr "org.settings.delete_account"}}</div>
29+
<div class="flex-item-body">{{ctx.Locale.Tr "org.settings.delete_prompt"}}</div>
30+
</div>
31+
<div class="flex-item-trailing">
32+
<button class="ui basic red show-modal button" data-modal="#delete-org-modal">{{ctx.Locale.Tr "org.settings.delete_account"}}</button>
33+
</div>
34+
</div>
35+
</div>
36+
</div>
37+
38+
<div class="ui small modal" id="change-visibility-modal">
39+
<div class="header">
40+
{{ctx.Locale.Tr "org.settings.change_visibility"}}
41+
</div>
42+
<div class="content">
43+
<p>{{ctx.Locale.Tr "org.settings.visibility_change_warning"}}</p>
44+
<form class="ui form form-fetch-action" action="{{.Link}}" method="post">
45+
{{.CsrfTokenHtml}}
46+
<div class="field" id="visibility_box">
47+
<label for="visibility">{{ctx.Locale.Tr "org.settings.visibility"}}</label>
48+
{{range $mode := .AllowedOrgVisibilityModes}}
49+
{{if $mode.IsPublic}}
50+
<div class="field">
51+
<div class="ui radio checkbox">
52+
<input class="enable-system-radio" name="visibility" type="radio" value="0" {{if eq $.CurrentVisibility 0}}checked{{end}}>
53+
<label>{{ctx.Locale.Tr "org.settings.visibility.public"}}</label>
54+
</div>
55+
</div>
56+
{{else if $mode.IsLimited}}
57+
<div class="field">
58+
<div class="ui radio checkbox">
59+
<input class="enable-system-radio" name="visibility" type="radio" value="1" {{if eq $.CurrentVisibility 1}}checked{{end}}>
60+
<label>{{ctx.Locale.Tr "org.settings.visibility.limited"}}</label>
61+
</div>
62+
</div>
63+
{{else if $mode.IsPrivate}}
64+
<div class="field">
65+
<div class="ui radio checkbox">
66+
<input class="enable-system-radio" name="visibility" type="radio" value="2" {{if eq $.CurrentVisibility 2}}checked{{end}}>
67+
<label>{{ctx.Locale.Tr "org.settings.visibility.private"}}</label>
68+
</div>
69+
</div>
70+
{{end}}
71+
{{end}}
72+
</div>
73+
<div class="actions">
74+
<button class="ui cancel button">{{ctx.Locale.Tr "settings.cancel"}}</button>
75+
<button class="ui red button">{{ctx.Locale.Tr "org.settings.update_settings"}}</button>
76+
</div>
77+
</form>
78+
</div>
79+
</div>
80+
81+
<div class="ui small modal" id="rename-org-modal">
82+
<div class="header">
83+
{{ctx.Locale.Tr "org.settings.rename"}}
84+
</div>
85+
<div class="content">
86+
<ul class="ui warning message">
87+
<li>{{ctx.Locale.Tr "org.settings.rename_notices_1"}}</li>
88+
<li>{{ctx.Locale.Tr "org.settings.rename_notices_2"}}</li>
89+
</ul>
90+
<form class="ui form form-fetch-action" action="{{.Link}}/rename" method="post">
91+
{{.CsrfTokenHtml}}
92+
<div class="field">
93+
<label>
94+
{{ctx.Locale.Tr "org.settings.name_confirm"}}
95+
<span class="text red">{{.Org.Name}}</span>
96+
</label>
97+
</div>
98+
<div class="required field">
99+
<label for="org_name_to_rename">{{ctx.Locale.Tr "org.org_name_holder"}}</label>
100+
<input id="org_name_to_rename" name="org_name" required>
101+
</div>
102+
103+
<div class="required field">
104+
<label>{{ctx.Locale.Tr "org.settings.rename_new_org_name"}}</label>
105+
<input name="new_org_name" required>
106+
</div>
107+
108+
<div class="actions">
109+
<button class="ui cancel button">{{ctx.Locale.Tr "settings.cancel"}}</button>
110+
<button class="ui red button">{{ctx.Locale.Tr "org.settings.rename"}}</button>
111+
</div>
112+
</form>
113+
</div>
114+
</div>
115+
116+
<div class="ui small modal" id="delete-org-modal">
117+
<div class="header">
118+
{{ctx.Locale.Tr "org.settings.delete_account"}}
119+
</div>
120+
<div class="content">
121+
<ul class="ui warning message">
122+
<li>{{ctx.Locale.Tr "org.settings.delete_notices_1"}}</li>
123+
<li>{{ctx.Locale.Tr "org.settings.delete_notices_2" .Org.Name}}</li>
124+
<li>{{ctx.Locale.Tr "org.settings.delete_notices_3" .Org.Name}}</li>
125+
<li>{{ctx.Locale.Tr "org.settings.delete_notices_4" .Org.Name}}</li>
126+
</ul>
127+
<form class="ui form form-fetch-action" action="{{.Link}}/delete" method="post">
128+
{{.CsrfTokenHtml}}
129+
<div class="field">
130+
<label>
131+
{{ctx.Locale.Tr "org.settings.name_confirm"}}
132+
<span class="text red">{{.Org.Name}}</span>
133+
</label>
134+
</div>
135+
<div class="required field">
136+
<label>{{ctx.Locale.Tr "org.org_name_holder"}}</label>
137+
<input name="org_name" required>
138+
</div>
139+
140+
<div class="actions">
141+
<button class="ui cancel button">{{ctx.Locale.Tr "settings.cancel"}}</button>
142+
<button class="ui red button">{{ctx.Locale.Tr "org.settings.delete_account"}}</button>
143+
</div>
144+
</form>
145+
</div>
146+
</div>

0 commit comments

Comments
 (0)