use Data::ICal;
use Data::ICal::Entry::Todo;
use Data::ICal::Entry::Event;
-use Date::ICal;
$RT::ICalTicketType ||= "Data::ICal::Entry::Todo";
$RT::ICalReminderType ||= "Data::ICal::Entry::Event";
return unless defined $Reminder->RefersTo->First;
my $Ticket = $Reminder->RefersTo->First->TargetObj;
+ my $now = RT::Date->new( $session{'CurrentUser'} ); $now->SetToNow;
my %event = (
summary => $Reminder->Subject ? $Reminder->Subject : '',
url => "${RT::WebURL}/Ticket/Display.html?id=" . $Ticket->id,
- uid => Date::ICal->new( epoch => time() )->ical() . "-" . $Reminder->Id . "@" . $uid,
+ uid => $now->iCal . "-" . $Reminder->Id . "@" . $uid,
categories => $Ticket->QueueObj->Name,
- dtstart => Date::ICal->new( epoch => $Reminder->DueObj->Unix )->ical,
+ dtstart => $Reminder->DueObj->iCal,
);
my $event = $RT::ICalReminderType->new();
sub add_todo {
my ($Ticket, $uid) = @_;
+ my $now = RT::Date->new( $session{'CurrentUser'} ); $now->SetToNow;
my %vtodo = (
summary => $Ticket->Subject ? $Ticket->Subject : '',
- dtstart => Date::ICal->new( epoch => $Ticket->CreatedObj->Unix )->ical,
+ dtstart => $Ticket->CreatedObj->iCal,
url => "${RT::WebURL}/Ticket/Display.html?id=" . $Ticket->id,
- uid => Date::ICal->new( epoch => time() )->ical() . "-" . $Ticket->Id . "@" . $uid,
+ uid => $now->iCal . "-" . $Ticket->Id . "@" . $uid,
categories => $Ticket->QueueObj->Name,
);
- $vtodo{due} = Date::ICal->new( epoch => $Ticket->DueObj->Unix )->ical,
+ $vtodo{due} = $Ticket->DueObj->iCal,
if $Ticket->DueObj;
if ($Ticket->OwnerObj->Id != $RT::Nobody->Id and $Ticket->OwnerObj->EmailAddress) {
</&>
<%INIT>
-use Digest::SHA 'sha1_base64';
+use Digest::SHA;
use RT::SavedSearches;
my $title = loc("Calendar Prefs");
}
if (defined $ChangeURL) {
- my @args = $object->SetAttribute(Name => 'ICalURL', Content => sha1_base64(time));
+ my @args = $object->SetAttribute(Name => 'ICalURL', Content => Digest::SHA::sha1_base64(time));
} elsif (defined $ResetURL) {
my @args = $object->DeleteAttribute('ICalURL');
}