Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error if a feed exists for a deleted calendar #1583

Open
danbrellis opened this issue Feb 1, 2025 · 1 comment
Open

Error if a feed exists for a deleted calendar #1583

danbrellis opened this issue Feb 1, 2025 · 1 comment
Assignees
Labels

Comments

@danbrellis
Copy link

Description

If a feed for a calendar was created but the calendar has since deleted, when you try to go into the Feed Me section of the control panel you get the following error (in dev mode):

Solspace\Calendar\Variables\CalendarVariable::calendar(): Return value must be of type ?Solspace\Calendar\Models\CalendarModel, false returned
in /var/www/vendor/solspace/craft-calendar/packages/plugin/src/Variables/CalendarVariable.php at line 171

Full stack trace below.

Steps to reproduce

  1. Have both Feed Me and Solspace Calendar plugin installed.
  2. Create a calendar.
  3. Create a feed for that calendar and save it.
  4. Delete the calendar.
  5. Open the Feed Me section in the control panel.

Additional info

  • Craft version: 5.5.10
  • PHP version: 8.3.10
  • Database driver & version: MySQL 8.0.32
  • Plugins & versions: Calendar Pro 5.0.13 and Feed Me 6.6.1

Full Stack Trace:

TypeError: Solspace\Calendar\Variables\CalendarVariable::calendar(): Return value must be of type ?Solspace\Calendar\Models\CalendarModel, false returned in /var/www/vendor/solspace/craft-calendar/packages/plugin/src/Variables/CalendarVariable.php:171
Stack trace:
#0 /var/www/vendor/twig/twig/src/Extension/CoreExtension.php(1802): Solspace\Calendar\Variables\CalendarVariable->calendar(Array)
#1 /var/www/vendor/craftcms/cms/src/helpers/Template.php(148): Twig\Extension\CoreExtension::getAttribute(Object(craft\web\twig\Environment), Object(Twig\Source), Object(Solspace\Calendar\Variables\CalendarVariable), 'calendar', Array, 'method', false, false, false, 2)
#2 /var/www/storage/runtime/compiled_templates/fd/fdaa71670ff52cf83b5244cfd5dacad8.php(45): craft\helpers\Template::attribute(Object(craft\web\twig\Environment), Object(Twig\Source), Object(Solspace\Calendar\Variables\CalendarVariable), 'calendar', Array, 'method', false, false, false, 2)
#3 /var/www/vendor/twig/twig/src/Template.php(393): __TwigTemplate_792a12425a69ce38d49449954b925fb7->doDisplay(Array, Array)
#4 /var/www/storage/runtime/compiled_templates/72/72d4bc3b27cc2504e8a9b746815b51f9.php(239): Twig\Template->yield(Array)
#5 /var/www/vendor/twig/twig/src/Template.php(437): __TwigTemplate_1e8351c1f423a68f0aa39ef5647fe705->block_content(Array, Array)
#6 /var/www/storage/runtime/compiled_templates/fa/fadeeada67adf4a0f492c58798a8a106.php(672): Twig\Template->yieldBlock('content', Array, Array)
#7 /var/www/vendor/twig/twig/src/Template.php(437): __TwigTemplate_979a18f65c9d1df4c4f7ef0f8d544792->block_main(Array, Array)
#8 /var/www/storage/runtime/compiled_templates/fa/fadeeada67adf4a0f492c58798a8a106.php(399): Twig\Template->yieldBlock('main', Array, Array)
#9 /var/www/vendor/twig/twig/src/Template.php(437): __TwigTemplate_979a18f65c9d1df4c4f7ef0f8d544792->block_body(Array, Array)
#10 /var/www/storage/runtime/compiled_templates/7a/7a9acd625e273e47aa9a78cdae5639c8.php(105): Twig\Template->yieldBlock('body', Array, Array)
#11 /var/www/vendor/twig/twig/src/Template.php(393): __TwigTemplate_c3037fcdac5a7458ae77727ddd7192ff->doDisplay(Array, Array)
#12 /var/www/storage/runtime/compiled_templates/0c/0cf9889ed8508c2c599ed4b37c66f123.php(61): Twig\Template->yield(Array, Array)
#13 /var/www/vendor/twig/twig/src/Template.php(393): __TwigTemplate_c361cbd1c616988b9572d34987f5e50e->doDisplay(Array, Array)
#14 /var/www/storage/runtime/compiled_templates/fa/fadeeada67adf4a0f492c58798a8a106.php(175): Twig\Template->yield(Array, Array)
#15 /var/www/vendor/twig/twig/src/Template.php(393): __TwigTemplate_979a18f65c9d1df4c4f7ef0f8d544792->doDisplay(Array, Array)
#16 /var/www/storage/runtime/compiled_templates/04/04547292faa8ffcc45a7203c76c72a73.php(62): Twig\Template->yield(Array, Array)
#17 /var/www/vendor/twig/twig/src/Template.php(393): __TwigTemplate_8aefde63dc8e917d0286728106ed0f45->doDisplay(Array, Array)
#18 /var/www/storage/runtime/compiled_templates/72/72d4bc3b27cc2504e8a9b746815b51f9.php(74): Twig\Template->yield(Array, Array)
#19 /var/www/vendor/twig/twig/src/Template.php(393): __TwigTemplate_1e8351c1f423a68f0aa39ef5647fe705->doDisplay(Array, Array)
#20 /var/www/vendor/twig/twig/src/Template.php(349): Twig\Template->yield(Array, Array)
#21 /var/www/vendor/twig/twig/src/Template.php(364): Twig\Template->display(Array)
#22 /var/www/vendor/twig/twig/src/TemplateWrapper.php(35): Twig\Template->render(Array)
#23 /var/www/vendor/twig/twig/src/Environment.php(306): Twig\TemplateWrapper->render(Array)
#24 /var/www/vendor/craftcms/cms/src/web/View.php(544): Twig\Environment->render('feed-me/feeds/i...', Array)
#25 /var/www/vendor/craftcms/cms/src/web/View.php(597): craft\web\View->renderTemplate('feed-me/feeds/i...', Array)
#26 /var/www/vendor/craftcms/cms/src/web/TemplateResponseFormatter.php(57): craft\web\View->renderPageTemplate('feed-me/feeds/i...', Array, 'cp')
#27 /var/www/vendor/yiisoft/yii2/web/Response.php(1109): craft\web\TemplateResponseFormatter->format(Object(craft\web\Response))
#28 /var/www/vendor/craftcms/cms/src/web/Response.php(341): yii\web\Response->prepare()
#29 /var/www/vendor/yiisoft/yii2/web/Response.php(340): craft\web\Response->prepare()
#30 /var/www/vendor/yiisoft/yii2/base/Application.php(390): yii\web\Response->send()
#31 /var/www/web/index.php(12): yii\base\Application->run()
#32 {main}
@danbrellis danbrellis added the bug label Feb 1, 2025
@i-just i-just self-assigned this Feb 5, 2025
@i-just
Copy link
Contributor

i-just commented Feb 5, 2025

Hi, thanks for getting in touch! This should ideally be fixed by Solspace. Can you please raise this with Solspace in their Calendar plugin repo?

The error occurs because the calendar() method in the CalendarVariable is typed to return null or CalendarModel, but using a reset() on an empty array will return false.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants