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!

1 Answer 1

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.

4
  • Good catch - you should definitely file a bug report: support.ellislab.com/bugs Commented Jan 27, 2015 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
    Commented Jan 28, 2015 at 0:04
  • Hi, I've reported it as a bug now, thanks. @NellyM Glad it helped, gave me headaches...
    – caweidmann
    Commented Jan 28, 2015 at 11:54
  • Nice fix Corhero -- Ellislab this should be updated by now in the March 2015 EE292 release! Commercial product afterall. Commented Mar 16, 2015 at 16:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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