dpi / courier

Courier is a Drupal module providing a framework to send messages to entities.
https://drupal.org/project/courier
GNU General Public License v2.0
8 stars 3 forks source link

Message Form on messages page doesn't appear. #41

Open gustavorf9 opened 7 years ago

gustavorf9 commented 7 years ago

There is one different parameter I found in template.collection.list.js file in the line #16 there is something like this line of code var template_entity_type = $(this).attr('entity_type'); In this line it is searching one parameter "entity_type" But in the message page configuration on the event the parameter's name is just "type" So the message form doesn't appear if you change the parameter type instead entity_type, it works.

dpi commented 7 years ago

Cannot reproduce any problems with the Template Collection List element in both RNG events and Couirer system.

Which page are you viewing this?

kenneth-bolivar-castro commented 7 years ago

Hey @dpi, While we are trying to edit an email inside "Messages" tab (Path: /node/{NID}/event/messages), messages

The "Email" link looks like this: <a href="/courier/collection/2/template/courier_email?destination=/node/6/event/messages" type="courier_email" class="item active">Email</a>

We can notice anchor's "href" attribute is pointing to "/courier/collection/2/template/courier_email" which is good, however when we click there, it's trying to go to: "courier/collection/2/template/undefined?_wrapper_format=drupal_ajax" but last parameter is not defined: "undefined".

After debugged we found that "template.collection.list.js" at https://github.com/dpi/courier/blob/8.x-1.x/js/template.collection.list.js#L16 is trying to retrieve "entity_type" attribute: var template_entity_type = $(this).attr('entity_type');

But it doesn't exist, however "type" is available: type="courier_email", therefore we switched to: var template_entity_type = $(this).attr('type');

dpi commented 7 years ago

Can you switch your theme to Bartik and see if you still have this problem?

I see the attribute being assigned here: https://github.com/dpi/courier/blob/8.x-1.x/src/Element/TemplateCollectionList.php#L148 I'm not entirely sure what is happening.

gustavorf9 commented 7 years ago

I switched the theme to Bartik and the parameter is still as "type" on the html. <a href="/courier/collection/5/template/courier_email?destination=/node/6/event/messages" type="courier_email" class="item active blue">Email</a>

"type="courier_email"

var template_entity_type = $(this).attr('entity_type'); This line is looking for entity_type not type.

screen shot 2016-11-01 at 10 36 23 am