From 19cd9f7a8d888302d8637af897d407fc34bab522 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sun, 16 Jul 2023 23:01:23 +0200 Subject: [PATCH] account: add a list of sent follow requests --- lib/Travelynx/Command/database.pm | 19 ++ lib/Travelynx/Controller/Account.pm | 51 ++- lib/Travelynx/Model/Users.pm | 20 +- t/21-relations.t | 470 +++++++++++++++++++++++----- templates/account.html.ep | 28 +- templates/social_list.html.ep | 25 +- 6 files changed, 505 insertions(+), 108 deletions(-) diff --git a/lib/Travelynx/Command/database.pm b/lib/Travelynx/Command/database.pm index a0dea45..022614b 100644 --- a/lib/Travelynx/Command/database.pm +++ b/lib/Travelynx/Command/database.pm @@ -1761,6 +1761,25 @@ my @migrations = ( } ); }, + + # v42 -> v43 + # list sent and received follow requests + sub { + my ($db) = @_; + $db->query( + qq{ + alter view follow_requests rename to rx_follow_requests; + create view tx_follow_requests as select + relations.subject_id as self_id, + users.id as id, + users.name as name + from relations + join users on relations.object_id = users.id + where predicate = 2; + update schema_version set version = 43; + } + ); + }, ); # TODO add 'hafas' column to in_transit (and maybe journeys? undo/redo needs something to work with...) diff --git a/lib/Travelynx/Controller/Account.pm b/lib/Travelynx/Controller/Account.pm index d7035d8..2664329 100644 --- a/lib/Travelynx/Controller/Account.pm +++ b/lib/Travelynx/Controller/Account.pm @@ -547,12 +547,24 @@ sub social_list { my $kind = $self->stash('kind'); my $user = $self->current_user; - if ( $kind eq 'follow-requests' ) { + if ( $kind eq 'follow-requests-received' ) { my @follow_reqs = $self->users->get_follow_requests( uid => $user->{id} ); $self->render( 'social_list', - type => 'follow-requests', + type => 'follow-requests-received', + entries => [@follow_reqs], + notifications => $user->{notifications}, + ); + } + elsif ( $kind eq 'follow-requests-sent' ) { + my @follow_reqs = $self->users->get_follow_requests( + uid => $user->{id}, + sent => 1 + ); + $self->render( + 'social_list', + type => 'follow-requests-sent', entries => [@follow_reqs], notifications => $user->{notifications}, ); @@ -994,10 +1006,10 @@ sub change_name { return; } - # The users table has a unique constraint on the "name" column, so having - # two users with the same name is not possible. The race condition - # between the user_name_exists check in is_name_invalid and this - # change_name call is harmless. + # The users table has a unique constraint on the "name" column, so having + # two users with the same name is not possible. The race condition + # between the user_name_exists check in is_name_invalid and this + # change_name call is harmless. my $success = $self->users->change_name( uid => $self->current_user->{id}, name => $new_name @@ -1240,20 +1252,25 @@ sub confirm_mail { } sub account { - my ($self) = @_; - my $uid = $self->current_user->{id}; - my $follow_requests = $self->users->has_follow_requests( uid => $uid ); - my $followers = $self->users->has_followers( uid => $uid ); - my $following = $self->users->has_followees( uid => $uid ); - my $blocked = $self->users->has_blocked_users( uid => $uid ); + my ($self) = @_; + my $uid = $self->current_user->{id}; + my $rx_follow_requests = $self->users->has_follow_requests( uid => $uid ); + my $tx_follow_requests = $self->users->has_follow_requests( + uid => $uid, + sent => 1 + ); + my $followers = $self->users->has_followers( uid => $uid ); + my $following = $self->users->has_followees( uid => $uid ); + my $blocked = $self->users->has_blocked_users( uid => $uid ); $self->render( 'account', - api_token => $self->users->get_api_token( uid => $uid ), - num_follow_requests => $follow_requests, - num_followers => $followers, - num_following => $following, - num_blocked => $blocked, + api_token => $self->users->get_api_token( uid => $uid ), + num_rx_follow_requests => $rx_follow_requests, + num_tx_follow_requests => $tx_follow_requests, + num_followers => $followers, + num_following => $following, + num_blocked => $blocked, ); $self->users->mark_seen( uid => $uid ); } diff --git a/lib/Travelynx/Model/Users.pm b/lib/Travelynx/Model/Users.pm index 8f1714d..0665f6a 100644 --- a/lib/Travelynx/Model/Users.pm +++ b/lib/Travelynx/Model/Users.pm @@ -809,8 +809,8 @@ sub get_relation { } return; - #my $res_h = $db->select( 'relations', ['subject_id', 'predicate'], - # { subject_id => [$uid, $target], object_id => [$target, $target] } )->hash; + #my $res_h = $db->select( 'relations', ['subject_id', 'predicate'], + # { subject_id => [$uid, $target], object_id => [$target, $target] } )->hash; } sub update_notifications { @@ -1096,11 +1096,12 @@ sub has_followers { sub get_follow_requests { my ( $self, %opt ) = @_; - my $db = $opt{db} // $self->{pg}->db; - my $uid = $opt{uid}; + my $db = $opt{db} // $self->{pg}->db; + my $uid = $opt{uid}; + my $table = $opt{sent} ? 'tx_follow_requests' : 'rx_follow_requests'; my $res - = $db->select( 'follow_requests', [ 'id', 'name' ], { self_id => $uid } ); + = $db->select( $table, [ 'id', 'name' ], { self_id => $uid } ); return $res->hashes->each; } @@ -1108,11 +1109,12 @@ sub get_follow_requests { sub has_follow_requests { my ( $self, %opt ) = @_; - my $db = $opt{db} // $self->{pg}->db; - my $uid = $opt{uid}; + my $db = $opt{db} // $self->{pg}->db; + my $uid = $opt{uid}; + my $table = $opt{sent} ? 'tx_follow_requests' : 'rx_follow_requests'; - return $db->select( 'follow_requests', 'count(*) as count', - { self_id => $uid } )->hash->{count}; + return $db->select( $table, 'count(*) as count', { self_id => $uid } ) + ->hash->{count}; } sub get_followees { diff --git a/t/21-relations.t b/t/21-relations.t index 5b68555..0a33dc5 100644 --- a/t/21-relations.t +++ b/t/21-relations.t @@ -90,12 +90,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); $u->request_follow( uid => $uid1, @@ -122,16 +150,48 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 1 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 1 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 1 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 1 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 1 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 1 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 1 ); is_deeply( [ $u->get_follow_requests( uid => $uid2 ) ], [ { id => $uid1, name => 'test1' } ] ); +is_deeply( + [ $u->get_follow_requests( uid => $uid1, sent => 1 ) ], + [ { id => $uid2, name => 'test2' } ] +); $u->reject_follow_request( uid => $uid2, @@ -158,10 +218,24 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); $u->request_follow( uid => $uid1, @@ -188,16 +262,48 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 1 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 1 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 1 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 1 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 1 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 1 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 1 ); is_deeply( [ $u->get_follow_requests( uid => $uid2 ) ], [ { id => $uid1, name => 'test1' } ] ); +is_deeply( + [ $u->get_follow_requests( uid => $uid1, sent => 1 ) ], + [ { id => $uid2, name => 'test2' } ] +); $u->accept_follow_request( uid => $uid2, @@ -224,12 +330,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 1 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); is_deeply( [ $u->get_followers( uid => $uid2 ) ], [ @@ -273,12 +407,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); $u->request_follow( uid => $uid1, @@ -325,12 +487,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 1 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 1 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); is_deeply( [ $u->get_blocked_users( uid => $uid2 ) ], [ { id => $uid1, name => 'test1' } ] @@ -361,12 +551,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); $u->block( uid => $uid2, @@ -393,12 +611,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 1 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 1 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); is_deeply( [ $u->get_blocked_users( uid => $uid2 ) ], [ { id => $uid1, name => 'test1' } ] @@ -429,12 +675,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); $u->request_follow( uid => $uid1, @@ -465,12 +739,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 1 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); is_deeply( [ $u->get_followers( uid => $uid2 ) ], [ @@ -514,12 +816,40 @@ is( scalar $u->get_followees( uid => $uid1 ), 0 ); is( scalar $u->get_followees( uid => $uid2 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid1 ), 0 ); is( scalar $u->get_follow_requests( uid => $uid2 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); -is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); -is( $u->has_follow_requests( uid => $uid1 ), 0 ); -is( $u->has_follow_requests( uid => $uid2 ), 0 ); -is( $u->get( uid => $uid1 )->{notifications}, 0 ); -is( $u->get( uid => $uid2 )->{notifications}, 0 ); +is( + scalar $u->get_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + scalar $u->get_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( scalar $u->get_blocked_users( uid => $uid1 ), 0 ); +is( scalar $u->get_blocked_users( uid => $uid2 ), 0 ); +is( $u->has_follow_requests( uid => $uid1 ), 0 ); +is( $u->has_follow_requests( uid => $uid2 ), 0 ); +is( + $u->has_follow_requests( + uid => $uid1, + sent => 1 + ), + 0 +); +is( + $u->has_follow_requests( + uid => $uid2, + sent => 1 + ), + 0 +); +is( $u->get( uid => $uid1 )->{notifications}, 0 ); +is( $u->get( uid => $uid2 )->{notifications}, 0 ); $t->app->pg->db->query('drop schema travelynx_test_21 cascade'); done_testing(); diff --git a/templates/account.html.ep b/templates/account.html.ep index d3305a2..1da49be 100644 --- a/templates/account.html.ep +++ b/templates/account.html.ep @@ -92,10 +92,10 @@ % } % elsif ($acc->{accept_follow_requests}) { Accounts können dir auf Anfrage folgen - % if ($num_follow_requests == 1) { + % if ($num_rx_follow_requests == 1) { – eine offene Anfrage - % } elsif ($num_follow_requests) { - – <%= $num_follow_requests %> offene Anfragen + % } elsif ($num_rx_follow_requests) { + – <%= $num_rx_follow_requests %> offene Anfragen % } % } @@ -179,7 +179,7 @@ -% if ($num_follow_requests or $num_followers or $num_following or $num_blocked) { +% if ($num_rx_follow_requests or $num_tx_follow_requests or $num_followers or $num_following or $num_blocked) {

Interaktion

@@ -190,14 +190,24 @@ Anfragen - % if ($num_follow_requests == 0) { - keine offen + % if ($num_rx_follow_requests == 0) { + keine eingehend % } - % elsif ($num_follow_requests == 1) { - ein Account + % elsif ($num_rx_follow_requests == 1) { + eine eingehend % } % else { - <%= $num_follow_requests %> Accounts + <%= $num_rx_follow_requests %> eingehend + % } +
+ % if ($num_tx_follow_requests == 0) { + keine ausgehend + % } + % elsif ($num_tx_follow_requests == 1) { + eine ausgehend + % } + % else { + <%= $num_tx_follow_requests %> ausgehend % } diff --git a/templates/social_list.html.ep b/templates/social_list.html.ep index 9808512..1a3e441 100644 --- a/templates/social_list.html.ep +++ b/templates/social_list.html.ep @@ -2,10 +2,10 @@ %= csrf_field %= hidden_field redirect_to => '/account' % my $count = scalar @{$entries}; -% if ($type eq 'follow-requests') { +% if ($type eq 'follow-requests-received') {
-

Folge-Anfragen

+

Erhaltene Folge-Anfragen

% if ($notifications) { @@ -52,6 +52,18 @@
--> % } +% elsif ($type eq 'follow-requests-sent') { +
+
+

Gestellte Folge-Anfragen

+
+
+
+
+ cancel
Zurücknehmen +
+
+% } % elsif ($type eq 'followers') {
@@ -168,7 +180,7 @@ % for my $entry (@{$entries}) { <%= $entry->{name} %> - % if ($type eq 'follow-requests') { + % if ($type eq 'follow-requests-received') { % } + % elsif ($type eq 'follow-requests-sent') { + + + + % } % elsif ($type eq 'followers') {