Showing 3 changed files with 108 additions and 1 deletions
+3
lib/Gitprep.pm
... ...
@@ -193,6 +193,9 @@ sub startup {
193 193
           
194 194
           # Settings
195 195
           $r->get('/_settings' => template '/user-settings');
196
+          
197
+          # SSH keys
198
+          $r->get('/_settings/ssh' => template '/user-settings/ssh');
196 199
         }
197 200
 
198 201
         # Smart HTTP
+1 -1
templates/user-settings.html.ep
... ...
@@ -35,7 +35,7 @@
35 35
         </ul>
36 36
       </div>
37 37
       <div class="span10">
38
-        <div class="border-gray bk-gray-light" style="padding:5px;font-weight:bold;font-size:17px">
38
+        <div class="border-gray bk-gray-light radius-top" style="padding:5px;font-weight:bold;font-size:17px">
39 39
           Profile
40 40
         </div>
41 41
         <div class="border-gray" style="margin-bottom:30px;border-top:none;padding:10px">
+104
templates/user-settings/ssh.html.ep
... ...
@@ -0,0 +1,104 @@
1
+<%
2
+  # API
3
+  my $api = gitprep_api;
4
+  
5
+  # Parameters
6
+  my $op = param('op') || '';
7
+  my $user = param('user') || '';
8
+  
9
+  # Authentication
10
+  unless ($api->logined($user)) {
11
+    $self->redirect_to('/');
12
+    return;
13
+  }
14
+  
15
+  my $keys = [
16
+    {
17
+      key => 'key1',
18
+      hash => '7d:d7:ec:86:f6:96:cf:8f:63:07:79:01:f4:cb:f7:78',
19
+      mtime => 'Last used on May 16, 2014'
20
+    },
21
+    {
22
+      key => 'key1',
23
+      hash => '7d:d7:ec:86:f6:96:cf:8f:63:07:79:01:f4:cb:f7:78',
24
+      mtime => 'Last used on May 16, 2014'
25
+    },
26
+  ];
27
+%>
28
+
29
+% layout 'common', title => 'Your Profile';
30
+  
31
+  %= include '/include/header';
32
+  
33
+  <div class="container">
34
+    <ul class="breadcrumb" style="margin-top:10px">
35
+      <li><a href="<%= url_for('/') %>">Home</a></li>
36
+      /
37
+      <li><a href="<%= url_for("/$user") %>"><%= $user %></a></li>
38
+    </ul>
39
+    <div style="margin-bottom:30px">
40
+      <div class="row">
41
+        <div class="span2">
42
+          <ul class="nav nav-tabs nav-stacked">
43
+            <li class="" style="font-weight:bold">
44
+              <a href="<%= url_for("/$user/_settings") %>">Profile</a>
45
+            </li>
46
+            <li class="active" style="">
47
+              <a href="<%= url_for("/$user/_settings/ssh") %>">SSH keys</a>
48
+            </li>
49
+          </ul>
50
+        </div>
51
+        <div class="span10">
52
+          <div class="border-gray bk-gray-light radius-top" style="padding:5px;font-weight:bold;font-size:17px">
53
+            <div class="row">
54
+              <div class="span7" style="width:600px">
55
+                <div style="font-size:15px;padding:5px">
56
+                  SSH Keys
57
+                </div>
58
+              </div>
59
+              <div class="span2">
60
+                <div style="text-align:right">
61
+                  <a class="btn" href="">Add SSH Key</a>
62
+                </div>
63
+              </div>
64
+            </div>
65
+          </div>
66
+          % if (@$keys > 0) {
67
+            <div class="border-gray" style="border-top:none;padding:10px">
68
+              This is a list of SSH keys associated with your account. Remove any keys that you do not recognize.
69
+            </div>
70
+            % for my $key (@$keys) {
71
+              <div class="border-gray" style="border-top:none;">
72
+                <div class="row">
73
+                  <div class="span7" style="width:600px">
74
+                    <div style="font-size:15px;padding:10px">
75
+                      <div>
76
+                        <b><%= $key->{key} %></b>
77
+                      </div>
78
+                      <div class="muted">
79
+                        <%= $key->{hash} %>
80
+                      </div>
81
+                      <div>
82
+                        <%= $key->{mtime} %>
83
+                      </div>
84
+                    </div>
85
+                  </div>
86
+                  <div class="span2">
87
+                    <div style="padding-top:20px;text-align:right">
88
+                      <a class="btn btn-danger" href="<%= url_for("/reset-password")->query(user => $user) %>">Delete</a>
89
+                    </div>
90
+                  </div>
91
+                </div>
92
+              </div>
93
+            % }
94
+          % } else {
95
+            <div class="border-gray" style="margin-bottom:30px;border-top:none;padding:10px">
96
+              SSH key don't exists.
97
+            </div>
98
+          % }
99
+        </div>
100
+      </div>
101
+    </div>
102
+  </div>
103
+  
104
+  %= include '/include/footer';