Commit 7d51cda2 authored by Brion Vibber's avatar Brion Vibber

Yammer import (work run via background queues) now can be started from the...

Yammer import (work run via background queues) now can be started from the admin panel! :DDDD Still requires that the app be registered on your network manually first.
parent c2de0a74
......@@ -48,7 +48,7 @@ class YammerImportPlugin extends Plugin
*/
function onEndInitializeQueueManager(QueueManager $qm)
{
$qm->connect('importym', 'ImportYmQueueHandler');
$qm->connect('yammer', 'YammerQueueHandler');
return true;
}
......@@ -122,6 +122,7 @@ class YammerImportPlugin extends Plugin
case 'yammerauthinitform':
case 'yammerauthverifyform':
case 'yammerprogressform':
case 'yammerqueuehandler':
require_once "$base/lib/$lower.php";
return false;
case 'yammeradminpanelaction':
......
......@@ -76,6 +76,10 @@ class YammeradminpanelAction extends AdminPanelAction
return $this->showAjaxForm($form);
} else if ($this->verify_token) {
$this->runner->saveAuthToken($this->verify_token);
// Haho! Now we can make THE FUN HAPPEN
$this->runner->startBackgroundImport();
$form = new YammerProgressForm($this, $this->runner);
return $this->showAjaxForm($form);
} else {
......
......@@ -64,7 +64,20 @@ class YammerAuthVerifyForm extends Form
function formData()
{
$this->out->input('verify_token', _m('Verification code:'), '', _m("Click through and paste the code it gives you below..."));
$this->out->elementStart('p');
$this->out->text(_m('Follow this link to confirm authorization at Yammer; you will be prompted to log in if necessary:'));
$this->out->elementEnd('p');
$this->out->elementStart('blockquote');
$this->out->element('a',
array('href' => $this->runner->getAuthUrl(),
'target' => '_blank'),
_m('Open Yammer authentication window'));
$this->out->elementEnd('blockquote');
$this->out->element('p', array(), _m('Copy the verification code you are given into the form below:'));
$this->out->input('verify_token', _m('Verification code:'));
// iframe would be nice to avoid leaving -- since they don't seem to have callback url O_O
/*
......@@ -72,10 +85,6 @@ class YammerAuthVerifyForm extends Form
'src' => $this->runner->getAuthUrl()));
*/
// yeah, it ignores the callback_url
$this->out->element('a',
array('href' => $this->runner->getAuthUrl(),
'target' => '_blank'),
'clicky click');
}
/**
......
......@@ -41,8 +41,7 @@ class YammerQueueHandler extends QueueHandler
if ($runner->iterate()) {
if ($runner->hasWork()) {
// More to do? Shove us back on the queue...
$qm = QueueManager::get();
$qm->enqueue('YammerImport', 'yammer');
$runner->startBackgroundImport();
}
return true;
} else {
......
......@@ -386,4 +386,13 @@ class YammerRunner
return $map->count();
}
/**
* Start running import work in the background queues...
*/
public function startBackgroundImport()
{
$qm = QueueManager::get();
$qm->enqueue('YammerImport', 'yammer');
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment