1

I have a channel form that allows members of a certain member group (Authors) to create one entry and to edit it. Then, members of a different member group (Coordinators) should be able to edit those entries, using a similar Channel Form in a separate template.

For some reason, members of Coordinators can't edit entries by Authors' members via Channel Forms. Viewing the template's source, nothing that is inside the {exp:channel:form} tag is rendered. They can edit those entries using the CP, though.

I've double checked Coordinator's permissions. They have access to the channel. I enabled "Include Members in PUBLISH page multi-author list?" for both groups, and all the channel entries privileges (can view/edit entries authored by others, etc) for Coordinators.

This is the form:

{exp:channel:form 
     class="entry" 
     channel="requirements" 
     datepicker="no" 
     entry_id="{segment_3}" 
     return="requirements/teams"}

        <h3>Team: {title}</h3>
        <input type="hidden" name="title" value="{title}">
        {!-- other fields here --}
        <label for="comments">Comments or specific requests:</label>
                <textarea cols="50" rows="4" id="comments" name="comments">{comments}</textarea>
        <p><input type="submit" class="button" value="Submit"></p>

{/exp:channel:form}

Super Admin can edit those entries, that's why I suspect is a member privilege error.

What am I missing? Thank you!

5

I've also been struggling with this exact same situation for quite a while, it seems to be an EE bug.

Here's what I did to resolve it. Your markup is fine, your member settings are also fine. The only member setting that is vital to this operation is the "Can edit entries authored by others" under "Channel Posting Privileges" in the Member Group settings.

Open the channel entries api library file:

system/expressionengine/libraries/api/Api_channel_entries.php
line 1043

Compare it should read something like below:

if ($data['author_id'] != ee()->session->userdata('member_id') && ee()->session->userdata('group_id') != 1)

It should be:

if ($data['author_id'] != ee()->session->userdata('member_id') && ee()->session->userdata('group_id') != 1 && ee()->session->userdata('can_edit_other_entries') != 'y')

EE is forgetting to check our "Can edit entries authored by others" in that conditional and that is why it's not saving our update.

| improve this answer | |
  • Good catch - you should definitely file a bug report: support.ellislab.com/bugs – Derek Hogue Jan 27 '15 at 13:32
  • It took a while (maybe because of cache?) but it worked! @Corhero, thank you so much! You really helped me out here! – Nelly M Jan 28 '15 at 0:04
  • Hi, I've reported it as a bug now, thanks. @NellyM Glad it helped, gave me headaches... – Cornelius Jan 28 '15 at 11:54
  • Nice fix Corhero -- Ellislab this should be updated by now in the March 2015 EE292 release! Commercial product afterall. – Boston Howie Mar 16 '15 at 16:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.