In setting up a site, I turned off "access content" for anonymous users (i.e. you must login to see content). This is not an uncommon setting either, for private sites.
Imagine my surprise when it suddenly became impossible for new users to create a new account at all, since I was requiring a CCK_address field as part of registration (using bio in this case). The Activeselect attempts to get the States list for the select box, based on the selected country, and fails with an 403 error, leaving the form impossible to complete.
Since 'access content' was forbidden to anonymous users, the following menu item is forbidden to them:
function cck_address_menu($may_cache) {
...
if ($may_cache) {
$items[] = array(
'path' => 'cck_address/activeselect',
'title' => t('Activeselect CCK Address'),
'callback' => 'drupal_get_form',
'callback arguments' => array('cck_address_activeselect'),
'access' => user_access('access content'),
'type' => MENU_CALLBACK,
);
...
}
...
} // function cck_address_menu()
The permission really isn't needed in the first place, as the form/menu doesn't expose any real site content, only CCK database entries, which shouldn't be an issue.
I recommend removing the line: 'access' => user_access('access content'), entirely.
If for some odd reason, CCK Address's database needs to have "content protection" (prefilled addresses?), then add a new permission to the perm hook (ie "access cck addresses", and use that instead.
If you're still looking for a co-maintainer, I'd be glad to step up. For those who don't need geocoded addresses like the location/gmap/etc module provides, this is a great simpler answer for clean "one step" address entry using CCK.
Comments
Comment #1
sethcohn commentedactually, looks like you need to have the access property defined, or else ActiveSelect fails to work correctly, so replace it with:
Comment #2
NewZeal commentedSuggestion added to latest code to be committed soon.
Comment #3
NewZeal commented