From c16454890cf185012fd0e7041a34b6fa72894036 Mon Sep 17 00:00:00 2001 From: Roman Olearski Date: Sat, 8 Apr 2017 20:16:05 +0200 Subject: [PATCH] Implementing missing functionality (6) Peerplays Blockchain pre-launch settings & modifications I II III --- .../graphene/chain/tournament_object.hpp | 1 + .../wallet/include/graphene/wallet/wallet.hpp | 1 + libraries/wallet/wallet.cpp | 18 ++++++++++++++++-- tests/tournaments.sh | 11 ++++++++--- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/libraries/chain/include/graphene/chain/tournament_object.hpp b/libraries/chain/include/graphene/chain/tournament_object.hpp index 814d019f..c4a9bdfd 100644 --- a/libraries/chain/include/graphene/chain/tournament_object.hpp +++ b/libraries/chain/include/graphene/chain/tournament_object.hpp @@ -235,6 +235,7 @@ FC_REFLECT_DERIVED(graphene::chain::tournament_details_object, (graphene::db::ob (tournament_id) (registered_players) (payers) + (players_payers) (matches)) //FC_REFLECT_TYPENAME(graphene::chain::tournament_object) // manually serialized FC_REFLECT(graphene::chain::tournament_object, (creator)) diff --git a/libraries/wallet/include/graphene/wallet/wallet.hpp b/libraries/wallet/include/graphene/wallet/wallet.hpp index bd09660f..9a02a17b 100644 --- a/libraries/wallet/include/graphene/wallet/wallet.hpp +++ b/libraries/wallet/include/graphene/wallet/wallet.hpp @@ -1733,6 +1733,7 @@ FC_API( graphene::wallet::wallet_api, (receive_blind_transfer) (tournament_create) (tournament_join) + (tournament_leave) (rps_throw) (get_upcoming_tournaments) (get_tournament) diff --git a/libraries/wallet/wallet.cpp b/libraries/wallet/wallet.cpp index 40638e54..fcb83538 100644 --- a/libraries/wallet/wallet.cpp +++ b/libraries/wallet/wallet.cpp @@ -2521,14 +2521,28 @@ public: tournament_object tournament = result.as(); tournament_details_object tournament_details = _remote_db->get_objects({result["tournament_details_id"].as()})[0].as(); tournament_state state = tournament.get_state(); - if (state == tournament_state::awaiting_start) + if (state == tournament_state::accepting_registrations) + { + ss << "Tournament is accepting registrations\n"; + ss << "Players " << tournament.registered_players << "/" << tournament.options.number_of_players << ":\n"; + for (const account_id_type& player : tournament_details.registered_players) + ss << "\t" << get_account(player).name << "\n"; + } + else if (state == tournament_state::registration_period_expired) + { + ss << "Tournament registration period expired\n"; + ss << "Players " << tournament.registered_players << "/" << tournament.options.number_of_players << ":\n"; + for (const account_id_type& player : tournament_details.registered_players) + ss << "\t" << get_account(player).name << "\n"; + } + else if (state == tournament_state::awaiting_start) { ss << "Tournament starts at " << tournament.start_time->to_iso_string() << "\n"; ss << "Players:\n"; for (const account_id_type& player : tournament_details.registered_players) ss << "\t" << get_account(player).name << "\n"; } - else if (state == tournament_state::in_progress || + else if (state == tournament_state::in_progress || state == tournament_state::concluded) { unsigned num_matches = tournament_details.matches.size(); diff --git a/tests/tournaments.sh b/tests/tournaments.sh index 9ec39147..d0e925f8 100755 --- a/tests/tournaments.sh +++ b/tests/tournaments.sh @@ -1,13 +1,18 @@ #!/bin/bash -e i=1 +file='tournament-2' +file2=$file while [ 0 ]; do echo "*** $i `date`" - if [ -f tournament-2 ]; then - mv tournament-2 tournament-2-last + if [ "$1" = "-c" ]; then + file2=$file-`date +%Y-%m-%d:%H:%M:%S` + + elif [ -f $file2 ]; then + mv $file2 $file2-last fi - ./tournament_test --log_level=message 2> tournament-2 + ./tournament_test --log_level=message 2> $file2 echo if [ "$1" = "-c" ]; then sleep 2