diff --git a/classes/announcement/AnnouncementDAO.inc.php b/classes/announcement/AnnouncementDAO.inc.php index dfc9d189713..01d2e9d7e26 100644 --- a/classes/announcement/AnnouncementDAO.inc.php +++ b/classes/announcement/AnnouncementDAO.inc.php @@ -104,7 +104,7 @@ function getByAssocId($assocType, $assocId) { ->orderByDesc('date_posted') ->get(); foreach ($result as $row) { - yield $this->_fromRow((array) $row); + yield $row->announcement_id => $this->_fromRow((array) $row); } } @@ -120,7 +120,7 @@ function getByTypeId($typeId) { $rangeInfo ); foreach ($result as $row) { - yield $this->_fromRow((array) $row); + yield $row->announcement_id => $this->_fromRow((array) $row); } } diff --git a/classes/announcement/AnnouncementTypeDAO.inc.php b/classes/announcement/AnnouncementTypeDAO.inc.php index df9443e4d20..4ebedfd053a 100644 --- a/classes/announcement/AnnouncementTypeDAO.inc.php +++ b/classes/announcement/AnnouncementTypeDAO.inc.php @@ -167,7 +167,7 @@ function getByAssoc($assocType, $assocId) { [(int) $assocType, (int) $assocId] ); foreach ($result as $row) { - yield $this->_fromRow((array) $row); + yield $row->type_id => $this->_fromRow((array) $row); } } diff --git a/classes/components/forms/announcement/PKPAnnouncementForm.inc.php b/classes/components/forms/announcement/PKPAnnouncementForm.inc.php index 66593c6f396..b5743429e89 100644 --- a/classes/components/forms/announcement/PKPAnnouncementForm.inc.php +++ b/classes/components/forms/announcement/PKPAnnouncementForm.inc.php @@ -64,7 +64,7 @@ public function __construct($action, $locales, $announcementContext) { $announcementTypeDao = \DAORegistry::getDAO('AnnouncementTypeDAO'); $announcementTypes = $announcementTypeDao->getByAssoc(\Application::get()->getContextAssocType(), $announcementContext->getId()); $announcementOptions = []; - while ($announcementType = $announcementTypes->next()) { + foreach ($announcementTypes as $announcementType) { $announcementOptions[] = [ 'value' => (int) $announcementType->getId(), 'label' => $announcementType->getLocalizedTypeName(), diff --git a/classes/migration/upgrade/PKPv3_3_0UpgradeMigration.inc.php b/classes/migration/upgrade/PKPv3_3_0UpgradeMigration.inc.php index 6576ba58895..04c24ad4fcc 100755 --- a/classes/migration/upgrade/PKPv3_3_0UpgradeMigration.inc.php +++ b/classes/migration/upgrade/PKPv3_3_0UpgradeMigration.inc.php @@ -55,6 +55,10 @@ public function up() { // pkp/pkp-lib#5865 Change announcement expiry format in database $table->date('date_expire')->change(); }); + Capsule::schema()->table('announcement_settings', function (Blueprint $table) { + // pkp/pkp-lib#6748 Change announcement setting type to permit nulls + $table->string('setting_type', 6)->nullable()->change(); + }); // Transitional: The stage_id column may have already been added by the ADODB schema toolset if (!Capsule::schema()->hasColumn('email_templates_default', 'stage_id')) {