Trouble adding a discourse-subscriptions plan

I"m trying to create a new plan on my development environment. Clicking “add new plan” does this:

TypeError: Cannot read property 'discourse_subscriptions_currency' of undefined
    at Class.model (javascripts/discourse/routes/admin-plugins-discourse-subscriptions-products-show-plans-show:22)
    at Class.deserialize (route.js:1040)
    at UnresolvedRouteInfoByParam.getModel (router_js.js:895)
    at router_js.js:691
    at invokeCallback (rsvp.js:493)
    at publish (rsvp.js:476)
    at rsvp.js:19
    at invoke (backburner.js:338)
    at Queue.flush (backburner.js:229)
    at DeferredActionQueues.flush (backburner.js:426)

and also

Error while processing route: Cannot read property 'discourse_subscriptions_currency' of undefined TypeError: Cannot read property 'discourse_subscriptions_currency' of undefined
    at Class.model (javascripts/discourse/routes/admin-plugins-discourse-subscriptions-products-show-plans-show:22:44)

I can’t tell if this is some issue with my setup or . . . something else. This works in the console started with the same ENV settings (of stripe keys and such):

> SiteSetting.discourse_subscriptions_currency
=> "USD"

I"m able to create and update products, but I’m not able to create a plan.


I think this is why:


Ah yes! This is due to the switch to Ember CLI on developer instances – shouldn’t affect production sites for now.

I have a PR that should drop in the next couple of days that refactors this and adds a new feature, too.


Might this also make it impossible to see new plans? I’ve added plans but they aren’t showing up.

(I’m trying to add a hook to GroupUser that watches the group and then pulls the most-recent subscription ID and adds it to my plugin’s model…)

EDIT: Meanwhile, my PR just got accepted. . .


I blame @CvX :wink: I’ll make sure in my work that I sweep the codebase for more instances of the Discourse constant so we’re ready for the future.


Aha. Found the other place and that was what was making it not present plans for sale; I thought I was going crazy. There’s another instance in s-show.js.es6, but you’ll find it the same way I did.

Oh, and also a Discourse.User.current().username.toLowerCase(), which I guess should be this.current_user.username.toLowerCase()?

1 Like

This should now be fixed with the merging of this:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.