Gerritjan Koekkoek wrote:

> Hi,
>
> The condition is:
> After user has registered he/she only belongs to XWikiAllGroup (right?)
>   

Right, by default. You should want to consider these two parameters in 
xwiki.cfg (as stated in its preamble, commented parameters show the 
default value)

#-# List of groups that a new user should be added to by default after 
registering. Comma-separated list of group document
#-# names.
# xwiki.users.initialGroups=XWiki.XWikiAllGroup

#-# Should all users be considered members of XWiki.XWikiAllGroup, even 
if they don't have an associated object in the
#-# group's document?
# xwiki.authentication.group.allgroupimplicit=0

> If this condition is true; we would like to ask the user to 'tell us more 
> about yourself' by re-directing to the profile
>   

But redirecting to her/his profile doesn't enforce more information to 
be entered. Please, how are you planning to get that? Users can just 
arrive to their profiles and to enter nothing.

> Updating the userprofile with extra data; with this  data we can then add the 
> user to appropriate group(s)
>
> I understand : the $query will give all groups in the wiki except 
> XWikiAllGroup
>   

Yes, the query retrieves all documents with an instance of class 
XWiki.XWikiGroups (obj.className='XWiki.XWikiGroups') but 
XWiki.XWikiGroupTemplate and XWiki.XWikiAllGroup

> In the foreach you add 1 to the counter for each group the user is extra in?
>   

Yes

> So if the counter > 0 the user belongs to extra group so should NOT be 
> redirected
>   
OK! I got the condition the other way round!

> if the counter still == 0 then the redirect should happen? 
>   

OK. I understand now.
> The login.vm seems indeed to be the place to be, 
> I prefer to copy the vm into my skin, so I will override the login.vm on the 
> disk
>
>
>
> Op 24 okt 2010, om 22:47 heeft [Ricardo Rodriguez] eBioTIC. het volgende 
> geschreven:
>
> Hi,
>
> Gerritjan Koekkoek wrote:
>   
>> Hi,
>>
>> The script works fine;
>> One modification required (#if($counter > 0) ==> #if($counter == 0)
>>
>>     
>
> I'm afraid I don't understand the condition yet! :-( Do you want that 
> any user belonging to any group but XWikiAllGroup is redirected to 
> his/her profile? Or should be only XWikAllGroup members whom must be 
> redirected to his/her profile page?
>
> Just trying to understand why do you need == instead o >. Thanks!
>   
>> But this only works when user login is on homepage, in our use cases there 
>> are also other pages where a guest can decide to login
>> Is there a vm script that is always triggered when user does login?
>>
>>
>>     
> OK! I've not taken this into account! login.vm in your /templates folder 
> seems to be the right place to tweak.
>
>   
>> Gerritjan
>>
>> Op 24 okt 2010, om 01:52 heeft [Ricardo Rodriguez] eBioTIC. het volgende 
>> geschreven:
>>
>> Hi,
>>
>> Gerritjan Koekkoek wrote:
>>
>>     
>>> Hi,
>>>
>>> We would like to, conditionally,  redirect users who log in to their 
>>> profile page. (in our case; XWiki.<username>)
>>> The condition is: User is not in ANY OTHER GROUP then XWikiAllGroup.
>>>
>>> How can I do this most elegantly, modifying as little as possible of the 
>>> standard pages that come with a distribution of XWIKI
>>>
>>>
>>>
>>>
>>>       
>> This is not elegant, but I think it works:
>>
>> #set($counter = 0)
>> #set($user = $xwiki.getUser())
>> #set($userContext = $context.user)
>>
>> #set($query = ", BaseObject as obj, StringProperty as prop where 
>> doc.fullName = obj.name and obj.className='XWiki.XWikiGroups' and 
>> doc.fullName <> 'XWiki.XWikiGroupTemplate' and doc.fullName <> 
>> 'XWiki.XWikiAllGroup' order by doc.fullName asc")
>>
>> #set($results=$xwiki.searchDocuments($query))
>> <p/>
>> #foreach($item in $results)
>> #if($user.isUserInGroup($item))
>>   #set($counter = $counter+1)
>> #end
>> #end
>>
>> #if($counter > 0) 
>> $response.sendRedirect($xwiki.getURL($userContext))
>> #end
>>
>> You could copy and paste in your WebHome or create an ad hoc document 
>> and use #includeInContext('YourSpace.YourDocument') to include it in 
>> your WebHome.
>>
>> HTH,
>>
>> Ricardo
>>
>>
>>     
> Greetings!
>
>   
Cheer!

Ricardo

-- 
Ricardo Rodríguez
CTO
eBioTIC.
Life Sciences, Data Modeling and Information Management Systems

_______________________________________________
users mailing list
users@xwiki.org
http://lists.xwiki.org/mailman/listinfo/users

Reply via email to