my $users = $self->app->model('users');
my $param = $users->param;
- $param->start_transaction;
- my $rs = $param->insert(uid => $user->{uid},
- name => "new_email",
- value => $email);
+ my $rs = $param->set(uid => $user->{uid},
+ name => "new_email",
+ value => $email);
- if (!$rs) {
- $self->app->error("Users: update users_param table for change_email failed! uid: $user->{uid}");
- $self->last_error($param->last_error);
- $param->rollback;
- return;
- }
-
- $rs = $param->insert(uid => $user->{uid},
- name => "new_email_ts",
- value => {function => "NOW()"});
- if (!$rs) {
+ if (!defined $rs) {
$self->app->error("Users: update users_param table for change_email failed! uid: $user->{uid}");
$self->last_error($param->last_error);
- $param->rollback;
return;
}
- $param->commit;
$self->app->event_que->emit("user", "change_email", $user->{uid}, $user->{uid}, 10);
return 1;
my $users = $t->app->model('users');
my $params = $users->param->select(uid => $user->{uid});
is($params->{new_email}, $new_address, "insert new address to params table");
- my $dt = eval { DateTime::Format::MySQL->parse_datetime($params->{new_email_ts}); };
- my $e = $@;
- ok(!$e, "check new_email_ts");
- diag $e if !$t->success;
- if (!$e) {
- my $now_dt = DateTime->now;
- my $delta = $now_dt->epoch - $dt->epoch;
- ok($delta < 3600, "new_email_ts is updated");
- }
+ # my $dt = eval { DateTime::Format::MySQL->parse_datetime($params->{new_email_ts}); };
+ # my $e = $@;
+ # ok(!$e, "check new_email_ts");
+ # diag $e if !$e;
+ # diag $params->{new_email_ts} if !$e;
+
+ # if (!$e) {
+ # my $now_dt = DateTime->now;
+ # my $delta = $now_dt->epoch - $dt->epoch;
+ # ok($delta < 3600, "new_email_ts is updated");
+ # }
# check if event emited
+ my $events = $t->app->model('events');
+ my $ev = $events->select(event_type => "user",
+ event_subtype => "change_email",
+ source_user_id => $user->{uid});
+ ok($ev, "event emited");
+ # done
$test_man->logout;
};