chief-nerd / tabbie2 Goto Github PK
View Code? Open in Web Editor NEWThe Tabbie2 project main repo
Home Page: https://www.tabbie.org
The Tabbie2 project main repo
Home Page: https://www.tabbie.org
Allow import with IDs only.
Like have IDs collected on registration.
Apologies for the open ended feature request. I also don't have a dev environment working atm where I can replicate things so I'm adding this with 100% certainty that this already isn't the case and I've misunderstood something.
Anyway, from what I could tell from Dutch Worlds it seems like teams can enter feedback on their judges during silent rounds.
Taking note that this happens when I try to use PostgreSQL (as opposed to MySQL), I presume because PostgreSQL doesn't have the USE
syntax. This is not a showstopper, I can use MySQL instead. (I was just curious to see what would happen.)
$ ./yii migrate
Yii Migration Tool (based on Yii v2.0.1-dev)
Total 1 new migration to be applied:
m141024_133145_init_full_db
Apply the above migration? (yes|no) [no]:yes
*** applying m141024_133145_init_full_db
> execute SQL: USE tabbie2; ...Exception 'yii\db\Exception' with message 'SQLSTATE[42601]: Syntax error: 7 ERROR: syntax error at or near "USE"
LINE 1: USE tabbie2;
^
The SQL being executed was: USE tabbie2;'
in /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/db/Schema.php:532
Error Info:
Array
(
[0] => 42601
[1] => 7
[2] => ERROR: syntax error at or near "USE"
LINE 1: USE tabbie2;
^
)
Stack trace:
#0 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/db/Command.php(776): yii\db\Schema->convertException(Object(PDOException), 'USE tabbie2;')
#1 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/db/Migration.php(160): yii\db\Command->execute()
#2 /home/czlee/git/tabbie2/tabbie2.git/console/migrations/m141024_133145_init_full_db.php(13): yii\db\Migration->execute('USE tabbie2;')
#3 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(489): m141024_133145_init_full_db->up()
#4 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(126): yii\console\controllers\BaseMigrateController->migrateUp('m141024_133145_...')
#5 [internal function]: yii\console\controllers\BaseMigrateController->actionUp(0)
#6 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array)
#7 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Controller.php(151): yii\base\InlineAction->runWithParams(Array)
#8 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/console/Controller.php(91): yii\base\Controller->runAction('', Array)
#9 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Module.php(455): yii\console\Controller->runAction('', Array)
#10 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/console/Application.php(161): yii\base\Module->runAction('migrate', Array)
#11 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/console/Application.php(137): yii\console\Application->runAction('migrate', Array)
#12 /home/czlee/git/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#13 /home/czlee/git/tabbie2/tabbie2.git/yii(31): yii\base\Application->run()
#14 {main}
Contents of main-local.php
:
<?php
return [
'components' => [
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'pgsql:host=localhost;port=5432;dbname=tabbie2',
'username' => '********',
'password' => '********',
'charset' => 'utf8',
],
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@common/mail',
// send all mails to a file by default. You have to set
// 'useFileTransport' to false and configure a transport
// for the mailer to send real emails.
'useFileTransport' => true,
],
],
];
This happened:
PHP Notice – yii\base\ErrorException
Trying to get property of non-object
in /var/www/virtual/tabbie/tabbie2/tabbie2.git/frontend/controllers/AdjudicatorController.php at line 362
if (count($row[1]) == 1) { //NEW
$userA = User::NewViaImport($row[1][0], $row[2][0], $row[3][0], $societyID, !$model->is_test, $tournament);
$userAID = $userA->id; // <------------ crashes at this line ------------
} else if (count($row[1]) == 2) {
$userAID = $row[1][1]["id"];
} else {
The original failure was a user data error—I checked my import file again after the error and there was a trailing comma in the e-mail address of the offending line (which inferred from the $_SESSION
variable on the debug page). I notice that User::NewViaImport
returns false
if there was a failure to create the object. While this occurs as a result of bad input, probably one might like it to fail a bit more gracefully, ideally explaining the original error if possible.
This also happened to me with importing teams (with the same root cause user error) but in that case it just showed a plain-text "internal server error" page without debug information, and continued to import all the other teams (even those that came after the error). In the adjudicators case, because it crashes immediately, all adjudicators from the offending line are not imported.
Any new local copy of Tabbie2 (at least on Windows based web servers) will spout garbled messes of directory references where half way through it will switch from forward to backward slashes.
Once init is completed the following folder is created:
(tabbie web install location)/vendor/bower-assets
Renaming that folder to
(tabbie web install location)/vendor/bower
Will resolve this problem.
Maybe the best way to do this would be to append to init.bat:
cd vendor
ren bower-assets bower
We are having a very big problem with feedback. Adjudicators cannot submit feedback and they cannot even register ballot scores.
Minor UI thing. I'm not sure if they're meant to work, but I guess it'd be nice to be able to link to the individual tabs directly.
For example: going straight to http://www.tabbie.org/Vienna-EUDC-2015/#speaker-tab selects the "Speaker Tab" tab, but does not actually display the speaker tab until you click on another tab, and then return to the "Speaker Tab" tab.
Hi,
Have just created a tournament, and am logged in as an Adj Core member. A number of pages within my tournament turn up 403 Forbidden errors, including "Create a Venue", "Import Venue",
"List Results", etc.
Attempting to import data also throws errors. For example, I get the following when I try to import team data:
Exception
Swift_TransportException
Failed to authenticate on SMTP server with username "[email protected]" using 2 possible authenticators
1. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php at line 181
172173174175176177178179180181182183184185186187188189190 foreach ($this->_getAuthenticatorsForAgent() as $authenticator) {
if (in_array(strtolower($authenticator->getAuthKeyword()),
array_map('strtolower', $this->_esmtpParams))) {
++$count;
if ($authenticator->authenticate($agent, $this->_username, $this->_password)) {
return;
}
}
}
throw new Swift_TransportException(
'Failed to authenticate on SMTP server with username "'.
$this->_username.'" using '.$count.' possible authenticators'
);
}
}
/**
* Not used.
*/
2. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php at line 334 – Swift_Transport_Esmtp_AuthHandler::afterEhlo(Swift_SmtpTransport)
328329330331332333334335336337338339340 }
}
$this->_capabilities = $this->_getCapabilities($response);
$this->_setHandlerParams();
foreach ($this->_getActiveHandlers() as $handler) {
$handler->afterEhlo($this);
}
}
/** Overridden to add Extension support */
protected function _doMailFromCommand($address)
{
3. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php at line 118 – Swift_Transport_EsmtpTransport::_doHeloCommand()
112113114115116117118119120121122123124 try {
$this->_buffer->initialize($this->_getBufferParams());
} catch (Swift_TransportException $e) {
$this->_throwException($e);
}
$this->_readGreeting();
$this->_doHeloCommand();
if ($evt) {
$this->_eventDispatcher->dispatchEvent($evt, 'transportStarted');
}
$this->_started = true;
4. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php at line 79 – Swift_Transport_AbstractSmtpTransport::start()
73747576777879808182838485 */
public function send(Swift_Mime_Message $message, &$failedRecipients = null)
{
$failedRecipients = (array) $failedRecipients;
if (!$this->_transport->isStarted()) {
$this->_transport->start();
}
$sent = 0;
try {
$sent = $this->_transport->send($message, $failedRecipients);
5. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2-swiftmailer/Mailer.php at line 146 – Swift_Mailer::send(Swift_Message)
140141142143144145146147148149150151152 $address = $message->getTo();
if (is_array($address)) {
$address = implode(', ', array_keys($address));
}
Yii::info('Sending email "' . $message->getSubject() . '" to "' . $address . '"', __METHOD__);
return $this->getSwiftMailer()->send($message->getSwiftMessage()) > 0;
}
/**
* Creates Swift mailer instance.
* @return \Swift_Mailer mailer instance.
*/
6. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/mail/BaseMailer.php at line 260 – yii\swiftmailer\Mailer::sendMessage(yii\swiftmailer\Message)
7. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/mail/BaseMessage.php at line 48 – yii\mail\BaseMailer::send(yii\swiftmailer\Message)
8. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/common/models/User.php at line 464 – yii\mail\BaseMessage::send()
458459460461462463464465466467468469470 'tournament' => $tournament
])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->params["appName"] . ' support'])
->setTo([$user->email => $user->name])
->setSubject(Yii::t("app", '{tournament_name}: User Account for {user_name}', [
"tournament_name" => $tournament->name,
"user_name" => $user->name]))
->send();
}
public static function languageOptions()
{
return Yii::$app->params['activeLanguages'];
}
9. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/common/models/User.php at line 402 – common\models\User::sendNewUserMail(common\models\User, '33112', common\models\Tournament)
396397398399400401402403404405406407408 Yii::error("Import Errors inSociety: " . print_r($inSociety->getErrors(), true), __METHOD__);
Yii::$app->session->addFlash("error", Yii::t("app", "Error saving InSociety Relation for {user_name}", ["user_name" => $userA->username]));
}
}
if ($send_mail) {
self::sendNewUserMail($userA, $password, $tournament);
}
return $userA;
} else {
Yii::error("Import Errors userA: " . print_r($userA->getErrors(), true), __METHOD__);
Yii::$app->session->addFlash("error", Yii::t("app", "Error Saving User {user_name}", ["user_name" => $userA->name]));
10. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/frontend/controllers/TeamController.php at line 300 – common\models\User::NewViaImport('First', 'Last', '[email protected]', '4030', ...)
294295296297298299300301302303304305306 }
//**** User A *****/
$userAID = null;
if (count($row[2]) == 1) { //NEW
if ($row[2][0] != "" && $row[3][0] != "" && $row[4][0] != "") {
$userA = User::NewViaImport($row[2][0], $row[3][0], $row[4][0], $societyID, !$model->is_test, $this->_tournament);
if ($userA)
$userAID = $userA->id;
unset($userA); //free memory
}
} else if (count($row[2]) == 2) {
$userAID = $row[2][1]["id"];
11. frontend\controllers\TeamController::actionImport()
12. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/InlineAction.php at line 55 – call_user_func_array([frontend\controllers\TeamController, 'actionImport'], [])
13. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Controller.php at line 154 – yii\base\InlineAction::runWithParams(['tournament_id' => 991])
14. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Module.php at line 454 – yii\base\Controller::runAction('import', ['tournament_id' => 991])
15. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/web/Application.php at line 84 – yii\base\Module::runAction('team/import', ['tournament_id' => 991])
16. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Application.php at line 375 – yii\web\Application::handleRequest(yii\web\Request)
17. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/frontend/web/index.php at line 18 – yii\base\Application::run()
12131415161718
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../common/config/main.php'), require(__DIR__ . '/../../common/config/main-local.php'), require(__DIR__ . '/../config/main.php'), require(__DIR__ . '/../config/main-local.php')
);
$application = new yii\web\Application($config);
$application->run();
$_GET = [
'tournament_id' => 991,
];
$_POST = [
'_csrf' => 'NGduUUE2V0JbKwQzdW9jd1oXWQcKbDJ7bAMfPRNBZDRxFT8jEGcZEA==',
'field' => [
1 => [
1 => '4030',
],
],
'csvFile' => 'a:1:{i:1;a:8:{i:0;a:1:{i:0;s:5:"Team1";}i:1;a:211:{i:0;s:6:"School";i:1;a:2:{s:2:"id";i:14;s:4:"name";s:37:"Raphael Recanati International School";}i:2;a:2:{s:2:"id";i:24;s:4:"name";s:21:"Reali School in Haifa";}i:3;a:2:{s:2:"id";i:201;s:4:"name";s:26:"Copenhagen Business School";}i:4;a:2:{s:2:"id";i:223;s:4:"name";s:33:"Higher School of Economics Moscow";}i:5;a:2:{s:2:"id";i:228;s:4:"name";s:31:"Iustinianus Primus - Law School";}i:6;a:2:{s:2:"id";i:240;s:4:"name";s:48:"London School of Economics and Political Science";}i:7;a:2:{s:2:"id";i:268;s:4:"name";s:53:"Sarajevo School of Science and Technology Debate Club";}i:8;a:2:{s:2:"id";i:269;s:4:"name";s:38:"School of Oriental and African Studies";}i:9;a:2:{s:2:"id";i:277;s:4:"name";s:37:"Stockholm School of Economics in Riga";}i:10;a:2:{s:2:"id";i:328;s:4:"name";s:26:"Warsaw School of Economics";}i:11;a:2:{s:2:"id";i:784;s:4:"name";s:31:"Athens Law School Debating Club";}i:12;a:2:{s:2:"id";i:790;s:4:"name";s:58:"National Law School of India Literary and Debating Society";}i:13;a:2:{s:2:"id";i:840;s:4:"name";s:34:"National High School Debate League";}i:14;a:2:{s:2:"id";i:956;s:4:"name";s:67:"Student Association at Stockholm School of Economics Debate Society";}i:15;a:2:{s:2:"id";i:1233;s:4:"name";s:21:"Kalinga School of Law";}i:16;a:2:{s:2:"id";i:1361;s:4:"name";s:43:"Symbiosis Law School, Pune Debating Society";}i:17;a:2:{s:2:"id";i:1611;s:4:"name";s:24:"The Tiffin Girls\' School";}i:18;a:2:{s:2:"id";i:1670;s:4:"name";s:15:"Anavryta School";}i:19;a:2:{s:2:"id";i:1674;s:4:"name";s:16:"Geitonas Schools";}i:20;a:2:{s:2:"id";i:1676;s:4:"name";s:17:"Kastritsi Schools";}i:21;a:2:{s:2:"id";i:1678;s:4:"name";s:16:"Moraitis Schools";}i:22;a:2:{s:2:"id";i:1816;s:4:"name";s:36:"American Farm School of Thessaloniki";}i:23;a:2:{s:2:"id";i:1829;s:4:"name";s:51:"Business and Information Technology School Iserlohn";}i:24;a:2:{s:2:"id";i:1847;s:4:"name";s:26:"Lahore School of Economics";}i:25;a:2:{s:2:"id";i:1947;s:4:"name";s:27:"White Oaks Secondary School";}i:26;a:2:{s:2:"id";i:1994;s:4:"name";s:45:"The King\'s School Canterbury Debating Society";}i:27;a:2:{s:2:"id";i:1997;s:4:"name";s:14:"Ionios Schools";}i:28;a:2:{s:2:"id";i:2014;s:4:"name";s:32:"Christopher Columbus High School";}i:29;a:2:{s:2:"id";i:2043;s:4:"name";s:22:"London Business School";}i:30;a:2:{s:2:"id";i:2076;s:4:"name";s:37:"Bucharest School of Political Science";}i:31;a:2:{s:2:"id";i:2093;s:4:"name";s:18:"IE Business School";}i:32;a:2:{s:2:"id";i:2100;s:4:"name";s:45:"International Learning School Debating Union ";}i:33;a:2:{s:2:"id";i:2115;s:4:"name";s:20:"The Woodlands School";}i:34;a:2:{s:2:"id";i:2229;s:4:"name";s:23:"St Paul\'s Girls\' School";}i:35;a:2:{s:2:"id";i:2237;s:4:"name";s:34:"International School of Amsterdam ";}i:36;a:2:{s:2:"id";i:2238;s:4:"name";s:33:"International School of Amsterdam";}i:37;a:2:{s:2:"id";i:2249;s:4:"name";s:28:"Arsakeia - Tpsitseia Schools";}i:38;a:2:{s:2:"id";i:2250;s:4:"name";s:31:"Rizareios Parochial High School";}i:39;a:2:{s:2:"id";i:2251;s:4:"name";s:30:"St. Catherine\'s British School";}i:40;a:2:{s:2:"id";i:2253;s:4:"name";s:45:"1st Experimental Junior High School of Athens";}i:41;a:2:{s:2:"id";i:2255;s:4:"name";s:26:"Arsakeia Tositseia Schools";}i:42;a:2:{s:2:"id";i:2319;s:4:"name";s:13:"Cheney School";}i:43;a:2:{s:2:"id";i:2324;s:4:"name";s:18:"Westminster School";}i:44;a:2:{s:2:"id";i:2348;s:4:"name";s:18:"Westminster School";}i:45;a:2:{s:2:"id";i:2457;s:4:"name";s:33:"Burnaby Mountain Secondary School";}i:46;a:2:{s:2:"id";i:2462;s:4:"name";s:38:"Sir Winston Churchill Secondary School";}i:47;a:2:{s:2:"id";i:2463;s:4:"name";s:22:"Combination of schools";}i:48;a:2:{s:2:"id";i:2581;s:4:"name";s:49:"Shamsul Hoque Khan School & College Debating Club";}i:49;a:2:{s:2:"id";i:2665;s:4:"name";s:19:"New Economic School";}i:50;a:2:{s:2:"id";i:2669;s:4:"name";s:55:"University of Toronto Schools Speech and Debate Society";}i:51;a:2:{s:2:"id";i:2751;s:4:"name";s:29:"Stockholm School of Economics";}i:52;a:2:{s:2:"id";i:2794;s:4:"name";s:19:"Mandoulides Schools";}i:53;a:2:{s:2:"id";i:2796;s:4:"name";s:31:"Rizareios Pariochal High School";}i:54;a:2:{s:2:"id";i:2996;s:4:"name";s:17:"Nazarbayev School";}i:55;a:2:{s:2:"id";i:3009;s:4:"name";s:42:"SolBridge International School of Business";}i:56;a:2:{s:2:"id";i:3103;s:4:"name";s:35:"Failed NAPFA (Anglican High School)";}i:57;a:2:{s:2:"id";i:3182;s:4:"name";s:33:"Haberdasher\'s Aske\'s Boys\' School";}i:58;a:2:{s:2:"id";i:3183;s:4:"name";s:20:"Latymer Upper School";}i:59;a:2:{s:2:"id";i:3192;s:4:"name";s:54:"London School of Economics and Political Science (LSE)";}i:60;a:2:{s:2:"id";i:3206;s:4:"name";s:33:"German Swiss International School";}i:61;a:2:{s:2:"id";i:3208;s:4:"name";s:28:"Chinese International School";}i:62;a:2:{s:2:"id";i:3210;s:4:"name";s:23:"Carmel Secondary School";}i:63;a:2:{s:2:"id";i:3211;s:4:"name";s:23:"PLK Choi Kai Yau School";}i:64;a:2:{s:2:"id";i:3212;s:4:"name";s:13:"Island School";}i:65;a:2:{s:2:"id";i:3213;s:4:"name";s:22:"Delia School of Canada";}i:66;a:2:{s:2:"id";i:3214;s:4:"name";s:22:"Diocesan Girls\' School";}i:67;a:2:{s:2:"id";i:3217;s:4:"name";s:19:"South Island School";}i:68;a:2:{s:2:"id";i:3218;s:4:"name";s:16:"Heep Yunn School";}i:69;a:2:{s:2:"id";i:3219;s:4:"name";s:21:"Diocesan Boys\' School";}i:70;a:2:{s:2:"id";i:3220;s:4:"name";s:20:"King George V School";}i:71;a:2:{s:2:"id";i:3225;s:4:"name";s:26:"Marymount Secondary School";}i:72;a:2:{s:2:"id";i:3226;s:4:"name";s:34:"Tuen Mun Catholic Secondary School";}i:73;a:2:{s:2:"id";i:3227;s:4:"name";s:25:"St. Paul\'s Convent School";}i:74;a:2:{s:2:"id";i:3228;s:4:"name";s:33:"St. Joseph\'s Anglo-Chinese School";}i:75;a:2:{s:2:"id";i:3230;s:4:"name";s:18:"West Island School";}i:76;a:2:{s:2:"id";i:3242;s:4:"name";s:18:"Putney High School";}i:77;a:2:{s:2:"id";i:3263;s:4:"name";s:21:"Pate\'s Grammar School";}i:78;a:2:{s:2:"id";i:3264;s:4:"name";s:28:"Ryde School with Upper Chine";}i:79;a:2:{s:2:"id";i:3266;s:4:"name";s:18:"Berkhamsted School";}i:80;a:2:{s:2:"id";i:3268;s:4:"name";s:13:"Reed\'s School";}i:81;a:2:{s:2:"id";i:3279;s:4:"name";s:33:"Xavier\'s School Gifted Youngsters";}i:82;a:2:{s:2:"id";i:3282;s:4:"name";s:42:"Hogwarts School of Witchcraft and Wizardry";}i:83;a:2:{s:2:"id";i:3318;s:4:"name";s:21:"Lahore Grammar School";}i:84;a:2:{s:2:"id";i:3336;s:4:"name";s:45:"Lahore Grammar School Johar Town Senior Girls";}i:85;a:2:{s:2:"id";i:3381;s:4:"name";s:15:"Whitgift School";}i:86;a:2:{s:2:"id";i:3384;s:4:"name";s:13:"Repton School";}i:87;a:2:{s:2:"id";i:3386;s:4:"name";s:38:"Sri KDU International School, Malaysia";}i:88;a:2:{s:2:"id";i:3389;s:4:"name";s:27:"Colonel By Secondary School";}i:89;a:2:{s:2:"id";i:3391;s:4:"name";s:28:"Ateneo De Manila High School";}i:90;a:2:{s:2:"id";i:3393;s:4:"name";s:21:"High School of Dundee";}i:91;a:2:{s:2:"id";i:3403;s:4:"name";s:21:"Kingsbury High School";}i:92;a:2:{s:2:"id";i:3404;s:4:"name";s:21:"Guildford High School";}i:93;a:2:{s:2:"id";i:3405;s:4:"name";s:29:"The King\'s School, Canterbury";}i:94;a:2:{s:2:"id";i:3406;s:4:"name";s:34:"The Grammar School at Leeds (GSAL)";}i:95;a:2:{s:2:"id";i:3407;s:4:"name";s:37:"The Haberdashers\' Aske\'s Boys\' School";}i:96;a:2:{s:2:"id";i:3411;s:4:"name";s:16:"Magdalene School";}i:97;a:2:{s:2:"id";i:3412;s:4:"name";s:21:"Wimbledon High School";}i:98;a:2:{s:2:"id";i:3413;s:4:"name";s:16:"St Paul\'s School";}i:99;a:2:{s:2:"id";i:3426;s:4:"name";s:27:"Antwerpen Management School";}i:100;a:2:{s:2:"id";i:3447;s:4:"name";s:15:"Wilson\'s School";}i:101;a:2:{s:2:"id";i:3448;s:4:"name";s:17:"St. Paul\'s School";}i:102;a:2:{s:2:"id";i:3533;s:4:"name";s:18:"The Latymer School";}i:103;a:2:{s:2:"id";i:3534;s:4:"name";s:21:"Oaks Park High School";}i:104;a:2:{s:2:"id";i:3535;s:4:"name";s:18:"King Alfred School";}i:105;a:2:{s:2:"id";i:3537;s:4:"name";s:17:"Woldingham School";}i:106;a:2:{s:2:"id";i:3538;s:4:"name";s:20:"Islamia Girls School";}i:107;a:2:{s:2:"id";i:3540;s:4:"name";s:15:"ST PAULS SCHOOL";}i:108;a:2:{s:2:"id";i:3541;s:4:"name";s:16:"Winchmore School";}i:109;a:2:{s:2:"id";i:3542;s:4:"name";s:17:"Winchmore Schools";}i:110;a:2:{s:2:"id";i:3543;s:4:"name";s:22:"Francis Holland School";}i:111;a:2:{s:2:"id";i:3546;s:4:"name";s:16:"Sevenoaks School";}i:112;a:2:{s:2:"id";i:3547;s:4:"name";s:23:"King\'s School Cantebury";}i:113;a:2:{s:2:"id";i:3548;s:4:"name";s:30:"North London Collegiate School";}i:114;a:2:{s:2:"id";i:3550;s:4:"name";s:22:"St Paul\'s Girls School";}i:115;a:2:{s:2:"id";i:3559;s:4:"name";s:60:"DCM (Debating Society Munich), Stockholm School of Economics";}i:116;a:2:{s:2:"id";i:3572;s:4:"name";s:47:"Solvay Brussels School - Economics & Management";}i:117;a:2:{s:2:"id";i:3574;s:4:"name";s:64:"Law-business high school Belgrade, Music high school "Stankovic"";}i:118;a:2:{s:2:"id";i:3576;s:4:"name";s:29:"First Belgrade Grammar School";}i:119;a:2:{s:2:"id";i:3588;s:4:"name";s:37:"Law and Business High School Belgrade";}i:120;a:2:{s:2:"id";i:3590;s:4:"name";s:37:"Rephael Recanati International School";}i:121;a:2:{s:2:"id";i:3604;s:4:"name";s:31:"King\'s College School Wimbledon";}i:122;a:2:{s:2:"id";i:3607;s:4:"name";s:35:"St Mary Redcliffe and Temple School";}i:123;a:2:{s:2:"id";i:3608;s:4:"name";s:25:"The Royal Hospital School";}i:124;a:2:{s:2:"id";i:3610;s:4:"name";s:34:"The Bishop\'s Stortford High School";}i:125;a:2:{s:2:"id";i:3613;s:4:"name";s:14:"Norwich School";}i:126;a:2:{s:2:"id";i:3615;s:4:"name";s:37:"Simon Langton Grammar School for Boys";}i:127;a:2:{s:2:"id";i:3616;s:4:"name";s:25:"Mearns Castle High School";}i:128;a:2:{s:2:"id";i:3619;s:4:"name";s:16:"Tonbridge School";}i:129;a:2:{s:2:"id";i:3622;s:4:"name";s:28:"Queens Park Community School";}i:130;a:2:{s:2:"id";i:3625;s:4:"name";s:31:"King Edward VI School (Suffolk)";}i:131;a:2:{s:2:"id";i:3626;s:4:"name";s:26:"Bishop Wordsworth\'s School";}i:132;a:2:{s:2:"id";i:3627;s:4:"name";s:36:"South Wilts Grammar School for Girls";}i:133;a:2:{s:2:"id";i:3628;s:4:"name";s:17:"Shrewsbury school";}i:134;a:2:{s:2:"id";i:3631;s:4:"name";s:16:"Cranbrook School";}i:135;a:2:{s:2:"id";i:3632;s:4:"name";s:29:"The Manchester Grammar School";}i:136;a:2:{s:2:"id";i:3633;s:4:"name";s:15:"Roundhay School";}i:137;a:2:{s:2:"id";i:3635;s:4:"name";s:19:"Robert Clack School";}i:138;a:2:{s:2:"id";i:3636;s:4:"name";s:21:"Sheffield High School";}i:139;a:2:{s:2:"id";i:3637;s:4:"name";s:15:"Chigwell School";}i:140;a:2:{s:2:"id";i:3639;s:4:"name";s:34:"The Grammar School at Leeds (GSLA)";}i:141;a:2:{s:2:"id";i:3640;s:4:"name";s:31:"City of London School for Girls";}i:142;a:2:{s:2:"id";i:3660;s:4:"name";s:19:"Bromley High School";}i:143;a:2:{s:2:"id";i:3665;s:4:"name";s:34:"Collegiate School Debating Society";}i:144;a:2:{s:2:"id";i:3670;s:4:"name";s:24:"Queen Elizabeth\'s School";}i:145;a:2:{s:2:"id";i:3672;s:4:"name";s:15:"Alleyn\'s School";}i:146;a:2:{s:2:"id";i:3673;s:4:"name";s:20:"Coombe Girls\' School";}i:147;a:2:{s:2:"id";i:3674;s:4:"name";s:14:"Ipswich School";}i:148;a:2:{s:2:"id";i:3675;s:4:"name";s:36:"Northumberland Park Community School";}i:149;a:2:{s:2:"id";i:3681;s:4:"name";s:20:"Ibstock Place School";}i:150;a:2:{s:2:"id";i:3682;s:4:"name";s:29:"Cardinal Pole Catholic School";}i:151;a:2:{s:2:"id";i:3686;s:4:"name";s:32:"Wolverhampton Girl\'s High School";}i:152;a:2:{s:2:"id";i:3705;s:4:"name";s:18:"The Gryphon School";}i:153;a:2:{s:2:"id";i:3706;s:4:"name";s:19:"Mary Erskine School";}i:154;a:2:{s:2:"id";i:3707;s:4:"name";s:14:"Loretto School";}i:155;a:2:{s:2:"id";i:3709;s:4:"name";s:22:"George Heriot\'s School";}i:156;a:2:{s:2:"id";i:3710;s:4:"name";s:16:"Uppingham School";}i:157;a:2:{s:2:"id";i:3711;s:4:"name";s:17:"Hill House School";}i:158;a:2:{s:2:"id";i:3712;s:4:"name";s:27:"Newcastle under Lyme School";}i:159;a:2:{s:2:"id";i:3713;s:4:"name";s:23:"Bradford Grammar School";}i:160;a:2:{s:2:"id";i:3714;s:4:"name";s:22:"Craigmount High School";}i:161;a:2:{s:2:"id";i:3715;s:4:"name";s:19:"St Columba\'s School";}i:162;a:2:{s:2:"id";i:3716;s:4:"name";s:27:"Cardinal Heenan High School";}i:163;a:2:{s:2:"id";i:3717;s:4:"name";s:15:"Solihull School";}i:164;a:2:{s:2:"id";i:3718;s:4:"name";s:35:"Bury St Edmunds County Upper School";}i:165;a:2:{s:2:"id";i:3719;s:4:"name";s:31:"Newcastle High School for Girls";}i:166;a:2:{s:2:"id";i:3720;s:4:"name";s:13:"Durham School";}i:167;a:2:{s:2:"id";i:3746;s:4:"name";s:16:"The Perse School";}i:168;a:2:{s:2:"id";i:3862;s:4:"name";s:21:"Melbourne High School";}i:169;a:2:{s:2:"id";i:3863;s:4:"name";s:35:"The MacRobertson Girls\' High School";}i:170;a:2:{s:2:"id";i:3865;s:4:"name";s:21:"St Catherine\'s School";}i:171;a:2:{s:2:"id";i:3875;s:4:"name";s:46:"S Rajaratnam School of International Studies A";}i:172;a:2:{s:2:"id";i:3937;s:4:"name";s:27:"nobel international school ";}i:173;a:2:{s:2:"id";i:3951;s:4:"name";s:48:"Tamil Nadu National Law School , Tiruchirappalli";}i:174;a:2:{s:2:"id";i:3963;s:4:"name";s:17:"York House School";}i:175;a:2:{s:2:"id";i:3982;s:4:"name";s:46:"High School (Queens College Boys\' High School)";}i:176;a:2:{s:2:"id";i:4030;s:4:"name";s:14:"another school";}i:177;a:2:{s:2:"id";i:4075;s:4:"name";s:11:"School 533;";}i:178;a:2:{s:2:"id";i:4077;s:4:"name";s:16:"HSE & School 42;";}i:179;a:2:{s:2:"id";i:4081;s:4:"name";s:10:"School 155";}i:180;a:2:{s:2:"id";i:4082;s:4:"name";s:14:"HSE & School42";}i:181;a:2:{s:2:"id";i:4083;s:4:"name";s:9:"School533";}i:182;a:2:{s:2:"id";i:4087;s:4:"name";s:14:"Colfe\'s School";}i:183;a:2:{s:2:"id";i:4144;s:4:"name";s:52:"English Debate Society of Poi Lam High School (Suwa)";}i:184;a:2:{s:2:"id";i:4154;s:4:"name";s:33:"Penang Chinese Girls High School ";}i:185;a:2:{s:2:"id";i:4160;s:4:"name";s:22:"Mainor Business School";}i:186;a:2:{s:2:"id";i:4200;s:4:"name";s:23:"Magdalen College School";}i:187;a:2:{s:2:"id";i:4202;s:4:"name";s:18:"St Edward\'s School";}i:188;a:2:{s:2:"id";i:4203;s:4:"name";s:17:"Tudor Hall School";}i:189;a:2:{s:2:"id";i:4242;s:4:"name";s:43:"Hong Kong Interschool Debating Organization";}i:190;a:2:{s:2:"id";i:4245;s:4:"name";s:11:"DGS\' School";}i:191;a:2:{s:2:"id";i:4249;s:4:"name";s:44:"Maryknoll Convent School (Secondary Section)";}i:192;a:2:{s:2:"id";i:4254;s:4:"name";s:32:"Po Leung Kuk Choi Kai Yau School";}i:193;a:2:{s:2:"id";i:4257;s:4:"name";s:20:"Diocesan Boys School";}i:194;a:2:{s:2:"id";i:4342;s:4:"name";s:21:"Methodist Boys School";}i:195;a:2:{s:2:"id";i:4360;s:4:"name";s:25:"RRIS international school";}i:196;a:2:{s:2:"id";i:4366;s:4:"name";s:27:"Woodford County High School";}i:197;a:2:{s:2:"id";i:4374;s:4:"name";s:20:"Brescia House School";}i:198;a:2:{s:2:"id";i:4385;s:4:"name";s:22:"Marling Grammar School";}i:199;a:2:{s:2:"id";i:4403;s:4:"name";s:35:"Tallinn Secondary School of Science";}i:200;a:2:{s:2:"id";i:4451;s:4:"name";s:35:"Catholic high school debating unit ";}i:201;a:2:{s:2:"id";i:4452;s:4:"name";s:20:"Catholic high school";}i:202;a:2:{s:2:"id";i:4505;s:4:"name";s:25:"CMR LAW SCHOOL, Bangalore";}i:203;a:2:{s:2:"id";i:4530;s:4:"name";s:36:"Taylors international school puchong";}i:204;a:2:{s:2:"id";i:4531;s:4:"name";s:36:"Taylors international school puchong";}i:205;a:2:{s:2:"id";i:4539;s:4:"name";s:42:"Federal Islamic Secondary School of Kajang";}i:206;a:2:{s:2:"id";i:4556;s:4:"name";s:25:"Asia Pacific Smart School";}i:207;a:2:{s:2:"id";i:4557;s:4:"name";s:19:"Hin Hua High School";}i:208;a:2:{s:2:"id";i:4559;s:4:"name";s:24:"Asi Pacific Smart School";}i:209;a:2:{s:2:"id";i:4572;s:4:"name";s:20:"Science Girls School";}i:210;a:2:{s:2:"id";i:4589;s:4:"name";s:35:"Shun Lee Catholic Secondary School ";}}i:2;a:1:{i:0;s:5:"First";}i:3;a:1:{i:0;s:4:"Last";}i:4;a:1:{i:0;s:12:"[email protected]";}i:5;a:1:{i:0;s:6:"Prenom";}i:6;a:1:{i:0;s:3:"Nom";}i:7;a:1:{i:0;s:12:"[email protected]";}}}',
'header' => 'a:8:{i:0;s:9:"Team Name";i:1;s:12:"Society Name";i:2;s:11:"A.Givenname";i:3;s:10:"A.Surename";i:4;s:7:"A.Email";i:5;s:11:"B.Givenname";i:6;s:10:"B.Surename";i:7;s:7:"B.Email";}',
'makeItSo' => 'true',
];
$_COOKIE = [
'_csrf' => 'ff8da169c534c13012c2ae32f649ef5450c3a26d9e1aa55603aca16b5ccc312aa:2:{i:0;s:5:"_csrf";i:1;s:32:"oLjb4Y45np7VKZe9XdqlRw3vErQrQQNR";}',
'PHPSESSID' => 'h46he1c9b8loim7p9enda2uo34',
'_identity' => 'ee1d7e8d8a5141c21642df68cf90007eb5ff5862826603bc44ad096104cbdbb5a:2:{i:0;s:9:"_identity";i:1;s:50:"[14078,"PXjhL7MzQgH_Ww0hwzPNX1QOX2n5GT-f",2592000]";}',
];
$_SESSION = [
'__flash' => [],
'__id' => 14078,
];
Yii Framework
2017-10-03, 13:10:40
Apache/2.2.15 (CentOS)
Yii Framework/2.0.8
Thanks in advance for any help, and all the word that's been put into Tabbie2!
On page Feedback->Feedback on Adjudicator, when attempting to filter by target adjudicator, system returns feedback that is for a different adjudicator. In attached example, I attempted to select feedback on Michael Coleman. The bottom item of feedback that begins "Cormac was very inclusive..." is returned, however on inspection of the exported feedback excel sheet, this piece of feedback was given by a wing, Eoghan Finn, on a chair Cormac Henehan. See the bottom line of the attached screenshot.
Potentially relevant info: We had activated and deactivated judges since the feedback was written, we also drew round 4 the night before. Maybe this affected the judge IDs?
For example, in this speaker tab:
http://www.tabbie.org/Yale-IV-2015/#speaker-tab
Clicking the highlighted link goes to a page that looks like this:
http://www.tabbie.org/Yale-IV-2015/stats/speaker-tab/sort/speaks
with the (correct) data in the table, but displayed in plain font, and with speaks in ascending (not descending) order.
Browser: Chrome 46.0.2490.71.
Hi!
I tried to request a new password using the form in the web: https://www.tabbie.org/site/request-password-reset
When I introduced my mail and pressed enter, a stack trace was all I got. Tried again 30 minutes later and I got the same. This is the stack trace:
Swift_TransportException
Failed to authenticate on SMTP server with username "[email protected]" using 2 possible authenticators
1. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php at line 181
foreach ($this->_getAuthenticatorsForAgent() as $authenticator) {
if (in_array(strtolower($authenticator->getAuthKeyword()),
array_map('strtolower', $this->_esmtpParams))) {
++$count;
if ($authenticator->authenticate($agent, $this->_username, $this->_password)) {
return;
}
}
}
throw new Swift_TransportException(
'Failed to authenticate on SMTP server with username "'.
$this->_username.'" using '.$count.' possible authenticators'
);
}
}
/**
* Not used.
*/
2. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php at line 334 – Swift_Transport_Esmtp_AuthHandler::afterEhlo(Swift_SmtpTransport)
}
}
$this->_capabilities = $this->_getCapabilities($response);
$this->_setHandlerParams();
foreach ($this->_getActiveHandlers() as $handler) {
$handler->afterEhlo($this);
}
}
/** Overridden to add Extension support */
protected function _doMailFromCommand($address)
{
3. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php at line 118 – Swift_Transport_EsmtpTransport::_doHeloCommand()
try {
$this->_buffer->initialize($this->_getBufferParams());
} catch (Swift_TransportException $e) {
$this->_throwException($e);
}
$this->_readGreeting();
$this->_doHeloCommand();
if ($evt) {
$this->_eventDispatcher->dispatchEvent($evt, 'transportStarted');
}
$this->_started = true;
4. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php at line 79 – Swift_Transport_AbstractSmtpTransport::start()
*/
public function send(Swift_Mime_Message $message, &$failedRecipients = null)
{
$failedRecipients = (array) $failedRecipients;
if (!$this->_transport->isStarted()) {
$this->_transport->start();
}
$sent = 0;
try {
$sent = $this->_transport->send($message, $failedRecipients);
5. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2-swiftmailer/Mailer.php at line 146 – Swift_Mailer::send(Swift_Message)
$address = $message->getTo();
if (is_array($address)) {
$address = implode(', ', array_keys($address));
}
Yii::info('Sending email "' . $message->getSubject() . '" to "' . $address . '"', __METHOD__);
return $this->getSwiftMailer()->send($message->getSwiftMessage()) > 0;
}
/**
* Creates Swift mailer instance.
* @return \Swift_Mailer mailer instance.
*/
6. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/mail/BaseMailer.php at line 260 – yii\swiftmailer\Mailer::sendMessage(yii\swiftmailer\Message)
7. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/mail/BaseMessage.php at line 48 – yii\mail\BaseMailer::send(yii\swiftmailer\Message)
8. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/frontend/models/PasswordResetRequestForm.php at line 55 – yii\mail\BaseMessage::send()
if ($user->save()) {
return \Yii::$app->mailer->compose('passwordResetToken', ['user' => $user])
->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->params["appName"] . ' robot'])
->setTo($this->email)
->setSubject(Yii::t("app", 'Password reset for {user}', ["user" => $user->getName()]))
->send();
} else {
$this->addError("user", $user->getErrors());
Yii::error("Password reset error: " . ObjectError::getMsg($user), __METHOD__);
}
} else {
$this->addError("email", Yii::t("app", "User not found with this Email"));
9. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/frontend/controllers/SiteController.php at line 217 – frontend\models\PasswordResetRequestForm::sendEmail()
]);
}
public function actionRequestPasswordReset() {
$model = new PasswordResetRequestForm();
if ($model->load(Yii::$app->request->post()) && $model->validate()) {
if ($model->sendEmail()) {
Yii::$app->getSession()
->setFlash('success', Yii::t("app", 'Check your email for further instructions.'));
return $this->goHome();
} else {
Yii::$app->getSession()
10. frontend\controllers\SiteController::actionRequestPasswordReset()
11. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/InlineAction.php at line 55 – call_user_func_array([frontend\controllers\SiteController, 'actionRequestPasswordReset'], [])
12. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Controller.php at line 154 – yii\base\InlineAction::runWithParams([])
13. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Module.php at line 454 – yii\base\Controller::runAction('request-password-reset', [])
14. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/web/Application.php at line 84 – yii\base\Module::runAction('site/request-password-reset', [])
15. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/vendor/yiisoft/yii2/base/Application.php at line 375 – yii\web\Application::handleRequest(yii\web\Request)
16. in /var/www/virtual/tabbie/tabbie2/tabbie2.git/frontend/web/index.php at line 18 – yii\base\Application::run()
$config = yii\helpers\ArrayHelper::merge(
require(__DIR__ . '/../../common/config/main.php'), require(__DIR__ . '/../../common/config/main-local.php'), require(__DIR__ . '/../config/main.php'), require(__DIR__ . '/../config/main-local.php')
);
$application = new yii\web\Application($config);
$application->run();
$_POST = [
'_csrf' => 'T0UwUlRVUjEdMlchOhsEYyh9UwIjYj1TKhZFOTMhHEIqcHMoGQIIVA==',
'PasswordResetRequestForm' => [
'email' => 'pab****************',
],
];
$_COOKIE = [
'_ga' => 'GA1.2.1428842224.1500460876',
'PHPSESSID' => 'c85jvv2mem3jugu8b61e6e66k1',
'_csrf' => '4ec6cfccf2e3c64515da09dbe7470c23a808535f6d5bc6a63b29e90399240ac9a:2:{i:0;s:5:"_csrf";i:1;s:32:"RwgsnNVRg8cPw7obeSukgtNse5CzMWZe";}',
'_gid' => 'GA1.2.940115312.1501535776',
'_gat' => '1',
];
$_SESSION = [
'__flash' => [],
];
Yii Framework
2017-07-31, 21:18:34
Apache/2.2.15 (CentOS)
Yii Framework/2.0.8
After uploading the CSV, I get the page
with all 20 or so teams and speaker names listed. But after clicking 'Make it so!', the following page only lists the first team:
The speaker names are also not set.
1 Import page: https://www.tabbie.org/[tournament-name]/team/import
2 Team list page: https://www.tabbie.org/icyd-cambridge-regional-/team/
Thanks!
Offline versions of Tabbie don't allow you to make a draw. Richard will find out why this is before Euros.
Error below happens if you try to swap adjudicators where one adjudicator is not currently assigned to a panel. One might expect this to crash (though I was hoping it would swap an inactive adjudicator for an active one), but flagging in case we'd like to make it fail more gracefully.
It currently shows a debug page, here's the offending line:
Trying to get property of non-object
])->orderBy(["panel_id" => SORT_DESC])->one();
$b_in_panel = AdjudicatorInPanel::find()->joinWith("panel")->where([
"adjudicator_id" => $b->id,
"panel.used" => 1,
])->orderBy(["panel_id" => SORT_DESC])->one();
$temp = $a_in_panel->panel_id;
$temp_pos = $a_in_panel->function;
$a_in_panel->panel_id = $b_in_panel->panel_id; // <------ CRASHES HERE
$a_in_panel->function = $b_in_panel->function;
$b_in_panel->panel_id = $temp;
$b_in_panel->function = $temp_pos;
if ($a_in_panel->validate() && $b_in_panel->validate()) {
if ($a_in_panel->save() && $b_in_panel->save())
Yii::$app->session->addFlash("success", Yii::t("app", "Adjudicator {n1} and {n2} switched", [
"n1" => $a->getName(),
"n2" => $b->getName(),
This doesn't work for any of the judges, chairs or debaters that want to access rounds and submit ballots.
The following is a list of typos visible to the user. The format is: missspelled = corrected [Notes]
Givenname = Given name
Surename = Surname
"Search for a societies" = "Search for a society"
This issue is intended to be kept open whenever I find something new.
When I make a clean install, I get the directory 'tabbie2.git/vendor/bower-asset'. I assume that this is put there by composer.phar, because it is not part of the repository.
In any case Tabbie only works if I do
cp ./tabbie2.git/vendor/bower-asset tabbie2.git/vendor/bower
This should be fixed to work out of the box.
Tabbie doesn't change the name of the team when the team is replaced by a swing team after the round ended.
Example: A team didn't show up to the round and was replaced by a swing and the swing wins the round. But then it doesn't let you specify which swing team was the one that replaced the team. And the orginal team that was replaced is still going to the room with the 3 points even though in the tab they don't have the points.
I cannot delete a created but not published round (https://www.tabbie.org/helsinki-open--/outround/544) using the Delete Round button.
Whenever i import a round, the draws arent updated and the adjudicators also disappear from the draws. Even if i export and import the same round
Add phone number + validation to user account
Exporting the DRAW structure into a JSON File so @czlee can process it.
Also allow the JSON structure to be inputted via REQUEST
Tabbie1 used to have a feature that prevented you from making a new draw, Tallinn have asked if this could be re-implemented.
It would also be useful if there could be a confirmation (with a pin?) for publishing the draw and showing the motion.
Apologies for the open ended feature request. I also don't have a dev environment working atm where I can replicate things so I'm adding this with 100% certainty that this already isn't the case and I've misunderstood something.
Anyway, the round information page is super useful for identifying your room and teams, however (from what I can tell) it does not list your panellists. At the point adjudicators often rely on this page (if they cannot easily view the main draw) not knowing who your panel is can be an issue in terms of knowing when to start a debate and identifying which panellists are trainees etc.
[Sun Jul 23 14:27:59 2017] [warn] [client 94.119.64.12] mod_fcgid: stderr: PHP Fatal error: Class 'frontend\controllers\Pdf' not found in /var/www/virtual/tabbie/tabbie2/tabbie2.git/frontend/controllers/OutroundController.php on line 188, referer: https://www.tabbie.org/imperial-iv--1/outround/1744
The current schema appears to be tied to a database name tabbie
. This makes it hard to run on servers with multiple databases, especially if there is already a database called tabbie
.
Apologies for the open ended feature request. I also don't have a dev environment working atm where I can replicate things so I'm adding this with 100% certainty that this already isn't the case and I've misunderstood something.
From having a number of iterations on Tabbycat’s eballot page we’ve tried to identify a number of UX/UI features that can help aid in minimising human error during the ballot entry process, particularly on mobile devices. Again I can’t bring up the exact tabbie interface right now so I’m going by memory on what are some options for improvement:
I could potentially look at some of these in a PR, but it’s not likely that would happen anytime soon. The javascript needed to add these though is quite simple and probably easily added to the existing form. If helpful I can point to some analogous functions used in the tabbycat ballot page. It could also be worth pursuing an shared library or plugin for ballot entry as there are not too many differences between 2 and 4 team formats.
Sometimes when moving a chair the db doesn't get updated properly and there is no chair set for a panel, which breaks the system.
Idea:
Check on every move, for the 2 panels (old and new)
If something like that is discovered -> set the highest ranked adj as chair
Making adjudicators inactive via a button in the adjudicator popup in the draw view
We wanted to know if the feedback the debaters give the chair and the wings give the chair affects their score because we can't see the options when we click on the judge.
I cannot edit "Swing teams" it doesn't let me check the option or change the team.
While setting it up, i get this error at
Tabbie2-master\tabbie2.git\frontend\views\site\index.php
On this page, which is accessible via my account:
The highlighted link goes to http://www.tabbie.org/Yale-IV-2015/team/, which on my account gives a 403.
For the Yale IV, my account is a participant (adjudicator) account, i.e. no tab director or adj core access.
I'm not sure whether the highlighted breadcrumb link should be removed or whether the access to this page should be permitted, but I presume one of the two should happen 😃
Round/view breaks if a debate without chair exists.
Make Debate::getChair() return the highest strength adjudicator in the panel and mark him chair if no chair is found.
Migration works fine but trying to create a new tournament from the UI yields
Unknown Property – yii\base\UnknownPropertyException
Getting unknown property: common\models\Tournament::tabAlgorithmClass
Currently BasicStructure.sql
says
CREATE TABLE IF NOT EXISTS `tournament` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`url_slug` VARCHAR(100) NOT NULL,
`convenor_user_id` INT(11) UNSIGNED NOT NULL,
`tabmaster_user_id` INT(11) UNSIGNED NOT NULL,
`name` VARCHAR(100) NOT NULL,
`start_date` DATETIME NOT NULL,
`end_date` DATETIME NOT NULL,
`logo` VARCHAR(255) NULL,
`time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX `fk_tournament_user1_idx` (`convenor_user_id` ASC),
INDEX `fk_tournament_user2_idx` (`tabmaster_user_id` ASC),
UNIQUE INDEX `slug_UNIQUE` (`url_slug` ASC),
CONSTRAINT `fk_tournament_user1`
FOREIGN KEY (`convenor_user_id`)
REFERENCES `tabbie`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_tournament_user2`
FOREIGN KEY (`tabmaster_user_id`)
REFERENCES `tabbie`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;
I'd add it to the schema but I don't know what type it's supposed to be =)
Show different color for ballots inputted by chair or by runner
Status:
White: open / running round
Yellow: Should be entered now (time based) 15 + 8*7 + 15
Red: Over time / problem
Yellow-Green: success by runner
Dark-Green: success by chair
undeliberate input, easier mobile accessability
Tabbie1 had an 'unassigned judge' area. Tallinn would like this to come back. I'll see how feasible this is.
Passwort reset fails for certain users.
Maybe Character encoding
On this (published) round: https://www.tabbie.org/imaginary-pineapple-lumps-invitational-/round/733
Switching adjudicators in general fails on the first attempt, and succeeds on the second attempt with the same pair to switch. Sometimes succeeds on first attempt or still fails on second attempt. I don't have any leads on a diagnosis.
If you can't reproduce the issue at all, let me know, this might not (yet) be a reliable enough bug report to action.
(That tournament is just a test tournament with a more creative name, so feel free to play around with it however you like.)
The link from the tabbie.org to the algorithms is broken - it is pointing to https://github.com/JakobReiter/tabbie2-algorithms which either doesn't exist as a project or isn't public.
There should be the possibility to delete a round. eg something went wrong or so
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.