]> ruin.nu Git - ndwebbie.git/blobdiff - lib/NDWeb/Controller/Settings.pm
Move sms and hostname to settings
[ndwebbie.git] / lib / NDWeb / Controller / Settings.pm
index 03dc7824687a9bd21282ceadc38b9fd233e427c9..c983c7643ac9257e0c2421c3f95810b218dc1821 100644 (file)
@@ -43,14 +43,15 @@ sub index :Path :Args(0) {
        }
        $c->stash(stylesheets => \@stylesheets);
 
-       my ($birthday,$timezone,$email,$discord_id) = $dbh->selectrow_array(q{
-SELECT birthday,timezone,email,discord_id FROM users WHERE uid = $1
+       my $u = $dbh->selectrow_hashref(q{
+SELECT birthday,timezone,email,discord_id,sms,call_if_needed,sms_note,hostmask
+FROM users WHERE uid = $1
                },undef,$c->user->id);
-       $c->stash(birthday => $birthday);
-       $c->stash(email =>  $c->flash->{email} // $email);
-       $c->stash(discord_id =>  $c->flash->{discord_id} // $discord_id);
+       $c->stash(u => $u);
+       $c->stash(email =>  $c->flash->{email} // $u->{email});
+       $c->stash(discord_id =>  $c->flash->{discord_id} // $u->{discord_id});
 
-       my @timezone = split m{/},$timezone,2;
+       my @timezone = split m{/},$u->{timezone},2;
        $c->stash(timezone => \@timezone);
 
        my @cat = DateTime::TimeZone->categories;
@@ -179,6 +180,7 @@ use the following url to confirm the change:
                if (sendmail %mail) {
                        $c->flash(error => 'Sent mail for confirmation.');
                }else {
+                       $c->flash(email => $email);
                        $c->flash(error => $Mail::Sendmail::error);
                }
        };
@@ -193,6 +195,20 @@ use the following url to confirm the change:
        $c->res->redirect($c->uri_for(''));
 }
 
+sub postsmsupdate : Local {
+       my ( $self, $c ) = @_;
+       my $dbh = $c->model;
+
+       my $callme = $c->req->param('callme') || 0;
+       my $sms = html_escape $c->req->param('sms');
+       my $smsnote = $c->req->param('smsnote');
+       $dbh->do(q{
+UPDATE users SET sms = $1, call_if_needed =  $2, sms_note = $3 WHERE uid = $4
+               },undef, $sms, $callme, $smsnote, $c->user->id);
+
+       $c->res->redirect($c->uri_for(''));
+}
+
 sub changeDiscordId : Local {
        my ( $self, $c ) = @_;
        my $dbh = $c->model;
@@ -250,6 +266,16 @@ RETURNING email
        $c->res->redirect($c->uri_for(''));
 }
 
+sub posthostupdate : Local {
+       my ( $self, $c ) = @_;
+       my $dbh = $c->model;
+
+       my $hostname = html_escape $c->req->param('hostname');
+       $dbh->do(q{UPDATE users SET hostmask = ? WHERE uid = ?
+               },undef, $hostname, $c->user->id);
+
+       $c->res->redirect($c->uri_for(''));
+}
 
 =head1 AUTHOR