gitprep / templates / auto / _login.html.ep /
Newer Older
152 lines | 3.681kb
added login page
Yuki Kimoto authored on 2013-02-11
1
<%
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
2
  # API
3
  my $api = gitprep_api;
4
  
5
  # Operator
added login page
Yuki Kimoto authored on 2013-02-11
6
  my $op = param('op') || '';
7
  
8
  # DBI
9
  my $dbi = $self->app->dbi;
10
  
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
11
  # Errors
12
  my $error;
13
  
14
  # Login
added login page
Yuki Kimoto authored on 2013-02-11
15
  if ($op eq 'login') {
cleanup _login page validati...
Yuki Kimoto authored on 2016-02-11
16
  
17
    # Paramerters
18
    my $id = param('id');
19
    my $password = param('password');
20
    my $save = param('save');
added login page
Yuki Kimoto authored on 2013-02-11
21
    
cleanup _login page validati...
Yuki Kimoto authored on 2016-02-11
22
    # Validator
23
    my $vc = app->vc;
24
    
25
    # Validation result
26
    my $validation = $vc->validation;
27
    
28
    # "id"
29
    $id = '' unless defined $id;
30
    
31
    # "user" and "password"
32
    $password = '' unless defined $password;
33
    my $user = $dbi->model('user')->select(
user can only merge pull req...
Yuki Kimoto authored on 2016-04-21
34
      ['row_id', 'password', 'salt', 'admin'],
cleanup _login page validati...
Yuki Kimoto authored on 2016-02-11
35
      where => {id => $id}
36
    )->one;
37
    if (!$user) {
38
      $validation->add_failed("User name or password is wrong");
39
    }
40
    else {
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
41
      my $is_valid = $api->check_password(
42
        $password,
cleanup _login page validati...
Yuki Kimoto authored on 2016-02-11
43
        $user->{salt},
44
        $user->{password}
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
45
      );
cleanup _login page validati...
Yuki Kimoto authored on 2016-02-11
46
      if (!$is_valid) {
47
        $validation->add_failed("User name or password is wrong");
48
      }
49
    }
50
    
51
    # "save"
52
    $save = $save ? 1 : 0;
added login page
Yuki Kimoto authored on 2013-02-11
53
    
cleanup _login page validati...
Yuki Kimoto authored on 2016-02-11
54
    if ($validation->is_valid) {
added login page
Yuki Kimoto authored on 2013-02-11
55
      
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
56
      # Login success
cleanup _login page validati...
Yuki Kimoto authored on 2016-02-11
57
      my $password_encrypted = $user->{password};
58
      my $admin = $user->{admin};
user can only merge pull req...
Yuki Kimoto authored on 2016-04-21
59
      session(user_row_id => $user->{row_id});
added reset password feature
Yuki Kimoto authored on 2013-04-10
60
      session(password => $password_encrypted);
added login page
Yuki Kimoto authored on 2013-02-11
61
      
cleanup _login page validati...
Yuki Kimoto authored on 2016-02-11
62
      if ($save) {
add auto login
Yuki Kimoto authored on 2013-06-12
63
        # 2 weeks save
64
        session(expires => time + 60 * 60 * 24 * 14);
65
      }
66
      
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
67
      # Go to admin page
added login page
Yuki Kimoto authored on 2013-02-11
68
      if ($admin) {
69
        $self->redirect_to('/_admin');
cleanup login page
Yuki Kimoto authored on 2013-03-16
70
        return 1;
added login page
Yuki Kimoto authored on 2013-02-11
71
      }
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
72
      # Go to user page
added login page
Yuki Kimoto authored on 2013-02-11
73
      else {
74
        $self->redirect_to("/$id");
cleanup login page
Yuki Kimoto authored on 2013-03-16
75
        return 1;
added login page
Yuki Kimoto authored on 2013-02-11
76
      }
77
    }
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
78
    else { $error = 'User name or password is wrong' }
added login page
Yuki Kimoto authored on 2013-02-11
79
  }
80
%>
81

            
add title
Yuki Kimoto authored on 2013-06-12
82
% layout 'common', title => 'Sign in';
improved header design
Yuki Kimoto authored on 2013-02-15
83

            
add need_login_always_option
Yuki Kimoto authored on 2013-08-21
84
  <!-- Login page -->
improve login page design
Yuki Kimoto authored on 2016-01-16
85
  <div class="header">
86
    <div class="container">
87
      <div class="header-left">
88
        <div class="title"><a href="<%= url_for('/') %>">GitPrep</a></div>
89
      </div>
90
    </div>
improve project header desig...
Yuki Kimoto authored on 2015-12-19
91
  </div>
improve login page design
Yuki Kimoto authored on 2016-01-16
92
  <div class="header-bottom"></div>
added start page
Yuki Kimoto authored on 2013-02-09
93

            
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
94
  <div class="container">
95
    % my $id = '';
96
    % if (flash('admin_user_created')) {
97
      % $id = 'admin';
98
      <div class="alert alert-success">
99
        <button type="button" class="close" data-dismiss="alert">&times;</button>
100
        Admin user is created. Let's login as admin user.
cleanup login page
Yuki Kimoto authored on 2013-03-16
101
      </div>
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
102
    % }
103

            
fixed bug reset-password don...
Yuki Kimoto authored on 2013-05-17
104
    % if (my $messages = flash('messages')) {
105
      <div class="alert alert-success">
106
        <button type="button" class="close" data-dismiss="alert">&times;</button>
107
        % for my $message (@$messages) {
108
          <p><%= $message %></p>
109
        % }
110
      </div>
111
    % }
112
    
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
113
    % if ($error) {
114
      <div class="alert alert-error">
115
        <button type="button" class="close" data-dismiss="alert">&times;</button>
116
        <div><%= $error %></div>
cleanup login page
Yuki Kimoto authored on 2013-03-16
117
      </div>
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
118
    % }
improve login page design
Yuki Kimoto authored on 2016-01-16
119

            
120
    <div class="topic1" style="text-align:center">
121
      Sign in to GitPrep
122
    </div>
improve project header desig...
Yuki Kimoto authored on 2015-12-19
123
    
improve admin page design
Yuki Kimoto authored on 2016-01-23
124
    <form class="user-form" action="<%= url_for->query(op => 'login') %>" method="post">
125
      <div class="user-form-container">
improve login page design
Yuki Kimoto authored on 2016-01-16
126
        <div>
improve admin page design
Yuki Kimoto authored on 2016-01-23
127
          <div>Username</div>
improve login page design
Yuki Kimoto authored on 2016-01-16
128
          <div>
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
129
            <%= input_tag id => $id, type => 'text', placeholder => 'User', id =>'user-name'%>
130
          </div>
improved sign in page design
Yuki Kimoto authored on 2013-02-15
131
        </div>
improve login page design
Yuki Kimoto authored on 2016-01-16
132
        <div>
improve admin page design
Yuki Kimoto authored on 2016-01-23
133
          <div>Password</div>
improve login page design
Yuki Kimoto authored on 2016-01-16
134
          <div>
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
135
            <%= password_field 'password', id => 'input-password', placeholder => 'Password' %>
136
          </div>
137
        </div>
improve login page design
Yuki Kimoto authored on 2016-01-16
138
        <div>
improve admin page design
Yuki Kimoto authored on 2016-01-23
139
          <div>
add auto login
Yuki Kimoto authored on 2013-06-12
140
            <input type="checkbox" name="save" value="1"> Save
improve admin page design
Yuki Kimoto authored on 2016-01-23
141
          </div>
add auto login
Yuki Kimoto authored on 2013-06-12
142
        </div>
improve login page design
Yuki Kimoto authored on 2016-01-16
143
        <div>
144
          <div>
improve login page design
Yuki Kimoto authored on 2016-01-16
145
            <button type="submit" class="btn btn-success">Sign in</button>
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
146
          </div>
147
        </div>
improve login page design
Yuki Kimoto authored on 2016-01-16
148
      </div>
149
    </form>
cleanup login page
Yuki Kimoto authored on 2013-03-16
150
  </div>
improved password encrypt sy...
Yuki Kimoto authored on 2013-04-09
151

            
152
  %= include '/include/footer';