Hi,

To reproduce create add a lat/lon field to a node. Edit the node and set the values to something other than their default. Create a new user role that doesn't have permissions to edit the geo field. Edit the node as the user without permissions to edit the field and save the node. The geo field value is now set to null.

I'm not an expert on CCK but the problem seems to lie in the "geo_field" function in "geo_field.module". Specifically it appears to be appear in the call to "geo_content_is_empty" during the presave operation. When a user has permissions to edit the geo field the $items variable structure is $items['geo'], when the user doesn't have permissions the structure is completely different e.g. $items[0]['gis type'] so the call to "geo_content_is_empty" fails. I've attached a screen shot showing what I'm trying to explain!

Hope this helps,

CommentFileSizeAuthor
debug_structure.jpg26.61 KBidontknowtheanswer

Comments

idontknowtheanswer’s picture

Anyone agree/disagree with this? We're still having problems with this...

gagarine’s picture

gagarine’s picture

Do you have try with the two patches summited on #667034: node_save does not save geo fields?

idontknowtheanswer’s picture

Thanks. I'll give that a go.

gagarine’s picture

Status: Active » Closed (duplicate)