I'm modifying a macro that lists all the users on Confluence, but I'd like to be able to evaluate whether the user last logged in 6 months ago. I wanted to know how I could a) get the date 6 months ago 'today' and b) evaluate whether the last login date is farther than 6 months before it.
Thanks
Here's what you can use:
First you have set a variable for how long ago you want to test for in seconds. For example, 180 days in seconds is 15,552,000 seconds. So:
#set ($t1 = 15552000)
Then you have to get the current UNIX time.
#set ($t2 = $content.currentDate.time)
Then you need the time that you want to check. In this example, I am finding the date the user last logged in (note that these are arbitrary method and class names).
#set ($t3 = $loginManager.getLoginInfo($user).lastSuccessfulLoginDate.time)
Finally, you just need to do some maths.
#set ($t4 = $t2-$t3) #if ($t4 > $t1) <p>They haven't logged in over 6 months!</p> #else <p>Leave them be!</p> #end
I haven't tested this yet but it should work.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It does work but it has to be part of a larger #foreach loop. $loginManager needs to be defined, as does $user. For example, see https://answers.atlassian.com/questions/33385/macro-that-produces-a-list-of-users-last-login-date
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.