diff --git a/mozilla/webtools/remora/app/controllers/addons_controller.php b/mozilla/webtools/remora/app/controllers/addons_controller.php index f6f1913150f..daad1aaeddc 100644 --- a/mozilla/webtools/remora/app/controllers/addons_controller.php +++ b/mozilla/webtools/remora/app/controllers/addons_controller.php @@ -4,8 +4,9 @@ require_once('Archive/Zip.php'); class AddonsController extends AppController { var $name = 'Addons'; - var $uses = array('Addon', 'Platform', 'Application', 'Appversion', 'Tag'); + var $uses = array('Addon', 'Platform', 'Application', 'Appversion', 'Tag', 'User'); var $components = array('Amo', 'Rdf', 'Versioncompare'); + var $helpers = array('Html', 'Javascript', 'Ajax'); var $scaffold; /** * @@ -210,19 +211,20 @@ class AddonsController extends AppController } + $info['name'] = (!empty($existing['Addon']['name'])) ? $existing['Addon']['name'] : $manifestData['name']['en-US']; + $info['description'] = (!empty($existing['Addon']['description'])) ? $existing['Addon']['description'] : $manifestData['description']['en-US']; + $info['homepage'] = (!empty($existing['Addon']['homepage'])) ? $existing['Addon']['homepage'] : $manifestData['homepageURL']; + $info['addontype_id'] = (!empty($existing['Addon']['addontype_id'])) ? $existing['Addon']['addontype_id'] : $this->data['Addon']['addontype_id']; + $info['version'] = $manifestData['version']; + $info['summary'] = $existing['Addon']['summary']; + //Get tags based on addontype - $tagsQry = $this->Tag->findAll(array('addontype_id' => $this->data['Addon']['addontype_id']), + $tagsQry = $this->Tag->findAll(array('addontype_id' => $info['addontype_id']), null, null, null, null, -1); foreach ($tagsQry as $k => $v) { $tags[$v['Tag']['id']] = $v['Tag']['name']; } - $info['name'] = (!empty($existing['Addon']['name'])) ? $existing['Addon']['name'] : $manifestData['name']['en-US']; - $info['description'] = (!empty($existing['Addon']['description'])) ? $existing['Addon']['description'] : $manifestData['description']['en-US']; - $info['homepage'] = (!empty($existing['Addon']['homepage'])) ? $existing['Addon']['homepage'] : $manifestData['homepageURL']; - $info['version'] = $manifestData['version']; - $info['summary'] = $existing['Addon']['summary']; - if (count($existing['Tag']) > 0) { foreach ($existing['Tag'] as $tag) { $info['selectedTags'][$tag['id']] = $tag['name']; @@ -287,6 +289,24 @@ class AddonsController extends AppController } + /** + * AJAX action for looking up an author by email + * @param string $email + */ + function authorLookup($email) { + if ($authors = $this->User->findAllByEmail($email)) { + $author = $authors[0]['User']['firstname'].' '.$authors[0]['User']['lastname']; + $author .= ' ['.$authors[0]['User']['email'].']'; + } + else { + $author = false; + } + + $this->set('author', $author); + $this->set('email', $email); + $this->render('author_lookup', 'ajax'); + } + } ?> diff --git a/mozilla/webtools/remora/app/views/addons/add_step2.thtml b/mozilla/webtools/remora/app/views/addons/add_step2.thtml index 91f6e4c84df..0367d15c9b6 100644 --- a/mozilla/webtools/remora/app/views/addons/add_step2.thtml +++ b/mozilla/webtools/remora/app/views/addons/add_step2.thtml @@ -17,8 +17,12 @@ echo '