[CONF] Use velocity to find the date 6 months ago?

Steve Goldberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
January 15, 2013

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

2 answers

1 accepted

0 votes
Answer accepted
Steve Goldberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 9, 2013

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.

0 votes
Fred Bunting August 10, 2013

I'm guessing you didn't try it. Didn't work for me.

Steve Goldberg
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 11, 2013

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

Suggest an answer

Log in or Sign up to answer