add: Calendar List view and associated Help

add: Ical Page length
add: WWW::Mech tests for Auth and Redirect
This commit is contained in:
Doug Bell 2008-02-28 18:40:06 +00:00
parent fc524df15c
commit 4a65691dcc
8 changed files with 1083 additions and 259 deletions

View file

@ -2,15 +2,15 @@ package WebGUI::Asset::Wobject::Calendar;
use strict;
####################################################################
#----------------------------------------------------------------------------
# WebGUI is Copyright 2001-2008 Plain Black Corporation.
####################################################################
#----------------------------------------------------------------------------
# Please read the legal notices (docs/legal.txt) and the license
# (docs/license.txt) that came with this distribution before using
# this software.
####################################################################
#----------------------------------------------------------------------------
# http://www.plainblack.com info@plainblack.com
####################################################################
#----------------------------------------------------------------------------
use Tie::IxHash;
@ -26,21 +26,20 @@ use base 'WebGUI::Asset::Wobject';
use DateTime;
use JSON qw/to_json/;
=head1 Name
=head1 NAME
=head1 Description
=head1 DESCRIPTION
=head1 Synopsis
=head1 SYNOPSIS
=head1 Methods
=head1 METHODS
=cut
####################################################################
#----------------------------------------------------------------------------
sub definition {
my $class = shift;
@ -50,25 +49,27 @@ sub definition {
my $i18n = WebGUI::International->new($session, 'Asset_Calendar');
### Set up list options ###
tie (my %optionsDefaultView, 'Tie::IxHash',
tie my %optionsDefaultView, 'Tie::IxHash', (
month => $i18n->get("defaultView value month"),
week => $i18n->get("defaultView value week"),
day => $i18n->get("defaultView value day"),
list => $i18n->get('defaultView value list'),
);
tie (my %optionsDefaultDate, 'Tie::IxHash',
tie my %optionsDefaultDate, 'Tie::IxHash', (
current => $i18n->get("defaultDate value current"),
first => $i18n->get("defaultDate value first"),
last => $i18n->get("defaultDate value last"),
);
tie (my %optionsEventSort, 'Tie::IxHash',
tie my %optionsEventSort, 'Tie::IxHash', (
time => $i18n->get("sortEventsBy value time"),
sequencenumber => $i18n->get("sortEventsBy value sequencenumber"),
);
### Build properties hash ###
tie my %properties, 'Tie::IxHash';
%properties = (
tie my %properties, 'Tie::IxHash', (
##### DEFAULTS #####
defaultView => {
fieldType => "SelectBox",
@ -97,6 +98,7 @@ sub definition {
label => $i18n->get("groupIdEventEdit label"),
hoverHelp => $i18n->get("groupIdEventEdit description"),
},
groupIdSubscribed => {
fieldType => 'hidden',
},
@ -133,6 +135,16 @@ sub definition {
label => $i18n->get('templateIdDay label'),
},
# List
templateIdList => {
fieldType => "template",
defaultValue => '',
tab => "display",
namespace => "Calendar/List",
hoverHelp => $i18n->get('editForm templateIdList description'),
label => $i18n->get('editForm templateIdList label'),
},
# Event Details
templateIdEvent => {
fieldType => "template",
@ -195,6 +207,16 @@ sub definition {
label => $i18n->get('templateIdPrintDay label'),
},
# List
templateIdPrintList => {
fieldType => "template",
defaultValue => '',
tab => "display",
namespace => "Calendar/Print/List",
hoverHelp => $i18n->get('editForm templateIdPrintList description'),
label => $i18n->get('editForm templateIdPrintList label'),
},
# Event Details
templateIdPrintEvent => {
fieldType => "template",
@ -222,6 +244,24 @@ sub definition {
label => $i18n->get("sortEventsBy label"),
hoverHelp => $i18n->get("sortEventsBy description"),
},
listViewPageInterval => {
fieldType => "interval",
defaultValue => $session->datetime->intervalToSeconds( 3, 'months' ),
tab => "display",
label => $i18n->get('editForm listViewPageInterval label'),
hoverHelp => $i18n->get('editForm listViewPageInterval description'),
unitsAvailable => [ qw( days weeks months years ) ],
},
icalInterval => {
fieldType => "interval",
defaultValue => $session->datetime->intervalToSeconds( 3, 'months' ),
tab => "display",
label => $i18n->get('editForm icalInterval label'),
hoverHelp => $i18n->get('editForm icalInterval description'),
unitsAvailable => [ qw( days weeks months years ) ],
},
# This doesn't function currently
#subscriberNotifyOffset => {
@ -233,24 +273,19 @@ sub definition {
#},
);
push(@{$definition}, {
push @{$definition}, {
assetName => $i18n->get('assetName'),
icon => 'calendar.gif',
tableName => 'Calendar',
className => 'WebGUI::Asset::Wobject::Calendar',
properties => \%properties,
autoGenerateForms => 1,
});
};
return $class->SUPER::definition($session, $definition);
}
####################################################################
#----------------------------------------------------------------------------
=head2 addChild ( properties [, more ] )
@ -271,11 +306,69 @@ sub addChild {
return $self->SUPER::addChild($properties, @other);
}
#----------------------------------------------------------------------------
=head2 appendTemplateVarsDateTime( var, datetime [, prefix ] )
Append template vars from the given datetime. C<var> is a hash reference.
C<datetime> is a WebGUI::DateTime object. C<prefix> is an optional prefix for
the template variables.
=cut
####################################################################
sub appendTemplateVarsDateTime {
my $self = shift;
my $var = shift;
my $dt = shift;
my $prefix = shift || '';
# Simple fields
my %fields = (
# label => method
hour24 => 'hour',
hour => 'hour_12',
dayName => 'day_name',
dayAbbr => 'day_abbr',
dayOfMonth => 'day_of_month',
dayOfWeek => 'day_of_week',
monthName => 'month_name',
monthAbbr => 'month_abbr',
month => 'month',
year => 'year',
ymd => 'ymd',
mdy => 'mdy',
dmy => 'dmy',
hms => 'hms',
epoch => 'epoch',
);
for my $name ( keys %fields ) {
if ( $prefix ) {
$var->{ $prefix . ucfirst $name }
= $dt->can( $fields{ $name } )->( $dt );
}
else {
$var->{ $name } = $dt->can( $fields{ $name } )->( $dt );
}
}
# Special fields
if ( $prefix ) {
$var->{ $prefix . "Second" } = sprintf "%02d", $dt->second;
$var->{ $prefix . "Minute" } = sprintf "%02d", $dt->minute;
$var->{ $prefix . "M" } = ( $dt->hour < 12 ? "AM" : "PM" );
$var->{ $prefix . "Meridiem" } = $var->{ $prefix . "M" };
}
else {
$var->{ "second" } = sprintf "%02d", $dt->second;
$var->{ "minute" } = sprintf "%02d", $dt->minute;
$var->{ "meridiem" } = ( $dt->hour < 12 ? "AM" : "PM" );
}
return $var;
}
#----------------------------------------------------------------------------
=head2 canEdit
@ -303,10 +396,7 @@ sub canEdit {
return $self->SUPER::canEdit()
}
####################################################################
#----------------------------------------------------------------------------
=head2 canAddEvent
@ -332,10 +422,7 @@ sub canAddEvent {
);
}
####################################################################
#----------------------------------------------------------------------------
=head2 createSubscriptionGroup ( )
@ -361,11 +448,7 @@ sub createSubscriptionGroup {
return undef;
}
####################################################################
#----------------------------------------------------------------------------
=head2 duplicate ( )
@ -393,11 +476,7 @@ sub duplicate {
return $newCalendar;
}
####################################################################
#----------------------------------------------------------------------------
=head2 getEditForm
@ -557,11 +636,7 @@ ENDHTML
return $form;
}
####################################################################
#----------------------------------------------------------------------------
=head2 getEvent ( assetId )
@ -582,17 +657,18 @@ sub getEvent {
my $event = WebGUI::Asset->newByDynamicClass($self->session, $assetId);
unless ( $event ) {
$self->session->errorHandler->warn("Event '$assetId' doesn't exist!");
return undef;
}
$self->session->errorHandler->warn("WebGUI::Asset::Wobject::Calendar->getEvent :: Event '$assetId' not a child of calendar '".$self->getId."'"), return
unless $event->get("parentId") eq $self->getId;
return $event;
}
####################################################################
#----------------------------------------------------------------------------
=head2 getEventsIn ( startDate, endDate, options )
@ -638,6 +714,8 @@ sub getEventsIn {
my ($startDate,$startTime) = split / /, $start;
my ($endDate,$endTime) = split / /, $end;
#use Data::Dumper;
#$self->session->errorHandler->warn( Dumper [caller(1), caller(2), caller(3)] );
my $startTz = WebGUI::DateTime->new($self->session, mysql => $start, time_zone => $tz)
->set_time_zone("UTC")->toMysql;
my $endTz = WebGUI::DateTime->new($self->session, mysql => $end, time_zone => $tz)
@ -689,7 +767,7 @@ sub getEventsIn {
return @{$events};
}
####################################################################
#----------------------------------------------------------------------------
=head2 getEventVars ( event )
@ -710,11 +788,7 @@ sub getEventVars {
return %eventVar, %eventDates;
}
####################################################################
#----------------------------------------------------------------------------
=head2 getFeeds ( )
@ -734,11 +808,7 @@ sub getFeeds {
);
}
####################################################################
#----------------------------------------------------------------------------
=head2 getFirstEvent ( )
@ -760,14 +830,11 @@ sub getFirstEvent {
LIMIT 1
ENDSQL
return unless $assetId;
return $self->getEvent($assetId);
}
####################################################################
#----------------------------------------------------------------------------
=head2 getLastEvent ( )
@ -789,13 +856,27 @@ sub getLastEvent {
LIMIT 1
ENDSQL
return unless $assetId;
return $self->getEvent($assetId);
}
#----------------------------------------------------------------------------
=head2 getTemplateVars ( )
Get template variables common to all views of the Calendar.
####################################################################
=cut
sub getTemplateVars {
my $self = shift;
my $var = $self->get;
return $var;
}
#----------------------------------------------------------------------------
=head2 getSearchUrl ( )
@ -808,10 +889,7 @@ sub getSearchUrl {
return $self->getUrl('func=search');
}
####################################################################
#----------------------------------------------------------------------------
=head2 prepareView ( )
@ -835,7 +913,7 @@ sub prepareView {
$self->session->style->makePrintable(1);
}
#$self->session->errorHandler->warn("Prepare view ".$view." with template ".$self->get("templateId".$view));
$self->session->errorHandler->warn("Prepare view ".$view." with template ".$self->get("templateId".$view));
my $template = WebGUI::Asset::Template->new($self->session, $self->get("templateId".$view));
$template->prepare;
@ -843,12 +921,7 @@ sub prepareView {
$self->{_viewTemplate} = $template;
}
####################################################################
#----------------------------------------------------------------------------
=head2 processPropertiesFromFormPost ( )
@ -869,7 +942,8 @@ sub processPropertiesFromFormPost {
unless ($self->get("groupIdSubscribed")) {
$self->createSubscriptionGroup();
}
$self->session->errorHandler->info( "DEFAULT VIEW:" . $self->get('defaultView') );
### Get feeds from the form
# Workaround WebGUI::Session::Form->param bug that returns duplicate
@ -906,10 +980,12 @@ sub processPropertiesFromFormPost {
feedType => "ical",
});
}
return;
}
####################################################################
#----------------------------------------------------------------------------
=head2 purge ( )
@ -925,7 +1001,7 @@ sub purge {
$self->SUPER::purge;
}
####################################################################
#----------------------------------------------------------------------------
=head2 view ( )
@ -943,8 +1019,6 @@ sub view {
my $self = shift;
my $session = $self->session;
my $form = $session->form;
my $var;
## INTERRUPT: If user is only a Visitor and we have a cached version
# and is not expired, use it.
@ -955,7 +1029,7 @@ sub view {
$params->{start} = $form->param("start");
# Validate type passed, or recover from session scratchpad
if ($params->{type} =~ /^(?:month|week|day)$/) {
if ($params->{type} =~ /^(?:month|week|day|list)$/i) {
$session->scratch->set('cal_view_type', $params->{'type'});
}
else {
@ -985,13 +1059,16 @@ sub view {
}
# Get the template from the appropriate view* method
$var = lc $params->{type} eq "month" ? $self->viewMonth($params)
: lc $params->{type} eq "week" ? $self->viewWeek($params)
: lc $params->{type} eq "day" ? $self->viewDay($params)
# TODO: This should be abstracted
my $var = lc $params->{type} eq "month" ? $self->viewMonth( $params )
: lc $params->{type} eq "week" ? $self->viewWeek( $params )
: lc $params->{type} eq "day" ? $self->viewDay( $params )
: lc $params->{type} eq "list" ? $self->viewList( $params )
: return $self->errorHandler->error("Calendar invalid 'type=' url parameter")
;
##### Add any global variables
##### Process the template
# Add any global variables
# Admin
if ($self->session->var->isAdminOn) {
$var->{'admin'} = 1;
@ -1005,6 +1082,7 @@ sub view {
}
# URLs
$var->{ url } = $self->getUrl;
$var->{"urlDay"} = $self->getUrl("type=day;start=".$params->{start});
$var->{"urlWeek"} = $self->getUrl("type=week;start=".$params->{start});
$var->{"urlMonth"} = $self->getUrl("type=month;start=".$params->{start});
@ -1016,25 +1094,18 @@ sub view {
$params->{start},
);
# Parameters
$var->{"paramStart"} = $params->{start};
$var->{"paramType"} = $params->{type};
$var->{"extrasUrl"} = $self->session->url->extras();
##### Process the template
$var->{ paramStart } = $params->{ start };
$var->{ paramType } = $params->{ type };
# TODO: If user is only a Visitor and we've gotten this far, update the cache
# Return the processed template to be displayed for the user
return $self->processTemplate($var, undef, $self->{_viewTemplate});
}
####################################################################
#----------------------------------------------------------------------------
=head2 viewDay ( \%params )
@ -1057,7 +1128,7 @@ sub viewDay {
my $session = $self->session;
my $params = shift;
my $i18n = WebGUI::International->new($session,"Asset_Calendar");
my $var = {};
my $var = $self->getTemplateVars;
### Get all the events in this time period
# Get the range of the epoch of this day
@ -1120,12 +1191,85 @@ sub viewDay {
return $var;
}
#----------------------------------------------------------------------------
=head2 viewList ( \%params )
Shows the list view. Returns the template parameters as a hash reference.
%params keys:
=over 4
####################################################################
=item start
The start of the list page
=back
=cut
sub viewList {
my $self = shift;
my $params = shift;
my $session = $self->session;
my $i18n = WebGUI::International->new($session,"Asset_Calendar");
my $var = $self->getTemplateVars;
### Get the events
my $dtStart = WebGUI::DateTime->new( $session, $params->{start} );
my $dtEnd = $dtStart->clone->add( seconds => $self->get('listViewPageInterval') );
my @events
= $self->getEventsIn(
$dtStart->toDatabase,
$dtEnd->toDatabase,
);
### Build the event vars
my $dtLast = $dtStart; # The DateTime of the last event
for my $event (@events) {
my ( %eventVar, %eventDate )
= $self->getEventVars( $event );
# Add the change flags
my $dt = $event->getDateTimeStart;
if ( $dt->year > $dtLast->year ) {
$eventVar{ new_year } = 1;
}
if ( $dt->month > $dtLast->month ) {
$eventVar{ new_month } = 1;
}
if ( $dt->day > $dtLast->day ) {
$eventVar{ new_day } = 1;
}
push @{ $var->{events} }, { %eventVar, %eventDate };
$dtLast = $dt;
}
### Additional variables
# Date span
$self->appendTemplateVarsDateTime( $var, $dtStart, "start" );
$self->appendTemplateVarsDateTime( $var, $dtEnd, "end" );
# Previous and next pages
if ( $self->getFirstEvent && $self->getFirstEvent->getDateTimeStart < $dtStart ) {
my $dtPrevious
= $dtStart->clone->add( seconds => 0 - $self->get('listViewPageInterval') );
$var->{ url_previousPage }
= $self->getUrl( 'type=list;start=' . $dtPrevious->toDatabase );
}
if ( $self->getLastEvent && $self->getLastEvent->getDateTimeStart > $dtEnd ) {
$var->{ url_nextPage }
= $self->getUrl( 'type=list;start=' . $dtEnd->toDatabase );
}
return $var;
}
#----------------------------------------------------------------------------
=head2 viewMonth ( \%params )
@ -1148,7 +1292,7 @@ sub viewMonth {
my $session = $self->session;
my $params = shift;
my $i18n = WebGUI::International->new($session,"Asset_Calendar");
my $var = {};
my $var = $self->getTemplateVars;
my $tz = $session->user->profileField("timeZone");
my $today = WebGUI::DateTime->new($self->session, time)
->set_time_zone($tz)->toMysqlDate;
@ -1265,12 +1409,7 @@ sub viewMonth {
return $var;
}
####################################################################
#----------------------------------------------------------------------------
=head2 viewWeek ( \%params )
@ -1293,7 +1432,7 @@ sub viewWeek {
my $session = $self->session;
my $params = shift;
my $i18n = WebGUI::International->new($session,"Asset_Calendar");
my $var = {};
my $var = $self->getTemplateVars;
my $tz = $session->user->profileField("timeZone");
my $today = WebGUI::DateTime->new($self->session, time)->set_time_zone($tz)
->toMysqlDate;
@ -1571,11 +1710,7 @@ sub viewWeek {
return $var;
}
####################################################################
#----------------------------------------------------------------------------
=head2 unwrapIcal ( text )
@ -1594,11 +1729,7 @@ sub unwrapIcal
}
####################################################################
#----------------------------------------------------------------------------
=head2 wrapIcal ( text )
@ -1621,11 +1752,7 @@ sub wrapIcal {
return join "\r\n ",@text;
}
####################################################################
#----------------------------------------------------------------------------
=head2 www_edit ( )
@ -1647,12 +1774,7 @@ sub www_edit {
);
}
####################################################################
#----------------------------------------------------------------------------
=head2 www_ical
@ -1663,17 +1785,9 @@ Export an iCalendar feed of this Events Calendar's events.
sub www_ical {
my $self = shift;
my $session = $self->session;
my $user = $self->session->user;
my $form = $self->session->form;
#!!! Events from what time period should we show? Default perpage?
# By default show the events for a month
my $type = $form->param("type") || lc($self->get("defaultView")) || "month";
my $start = $form->param("start");
my $end = $form->param("end");
#!!! KLUDGE:
# An "adminId" may be passed as a parameter in order to facilitate
# calls between calendars on the same server getting administrator
@ -1696,53 +1810,31 @@ sub www_ical {
}
#/KLUDGE
my $dt_start;
unless ($start) {
#if ($self->get("defaultDate") eq "first")
#{
#!! TODO: Get the first event's date
# select startDate from Events
# join assetLineage
# order by startDate ASC, revisionDate DESC
# limit 1
#}
#elsif ($self->get("defaultDate") eq "last")
#{
#!! TODO: Get the last event's date
# select startDate from Events
# join assetLineage
# order by startDate DESC, revisionDate DESC
# limit 1
#}
#else
#{
$dt_start = WebGUI::DateTime->new($self->session, time)->set_time_zone($session->user->profileField("timeZone"));
#}
my $start = $form->param("start");
if ($start) {
$dt_start
= WebGUI::DateTime->new($session,
mysql => $start,
time_zone => $user->profileField("timeZone")
);
}
else {
$dt_start = WebGUI::DateTime->new($self->session, mysql => $start, time_zone => $session->user->profileField("timeZone"));
$dt_start = WebGUI::DateTime->new($self->session, time);
$dt_start->set_time_zone( $user->profileField("timeZone") );
}
my $dt_end;
unless ($end) {
#if ($type eq "month")
#{
$dt_end = $dt_start->clone->add(months => 1);
#}
#elsif ($type eq "week")
#{
# $dt_end = $dt_start->clone->add(weeks => 1);
#}
#elsif ($type eq "day")
#{
# $dt_end = $dt_start->clone->add(days => 1);
#}
my $end = $form->param("end");
if ($end) {
$dt_end
= WebGUI::DateTime->new($self->session,
mysql => $end,
time_zone => $user->profileField("timeZone")
);
}
else {
$dt_end = WebGUI::DateTime->new($self->session, mysql => $end, time_zone => $session->user->profileField("timeZone"));
$dt_end = $dt_start->clone->add( seconds => $self->get('icalInterval') );
}
@ -1820,11 +1912,7 @@ sub www_ical {
return $ical;
}
####################################################################
#----------------------------------------------------------------------------
=head2 www_importIcal
@ -1840,11 +1928,7 @@ sub www_importIcal {
return $_[0]->session->privilege->noAccess;
}
####################################################################
#----------------------------------------------------------------------------
=head2 www_search ( )
@ -1864,7 +1948,7 @@ sub www_search {
my $endDate = $form->process("enddate");
my $perpage = $form->param("perpage");
my $var = $self->get;
my $var = $self->getTemplateVars;
$var->{url} = $self->getUrl;
# If there is a search to perform
@ -1988,11 +2072,7 @@ sub www_search {
return "chunked";
}
####################################################################
#----------------------------------------------------------------------------
=head2 www_view ( )
@ -2021,18 +2101,6 @@ page.
=back
=head1 Templates
The templates provided by this Wobject and the parameters they contain
!!! TODO !!!
=head1 BUGS / RFE
In the calendar edit form on the Default View field on the display tab, put the

View file

@ -6,8 +6,6 @@ use warnings;
our $HELP = {
#### View Calendar Page
'view calendar template' => {
title => 'view calendar title',
body => 'view calendar body',
@ -38,13 +36,38 @@ our $HELP = {
related => []
},
#### Search Calendar Page
'calendar dateTime' => {
title => 'help calendar dateTime title',
body => 'help calendar dateTime body',
variables => [
{ 'name' => 'second', description => 'helpvar dateTime second', },
{ 'name' => 'minute', description => 'helpvar dateTime minute', },
{ 'name' => 'meridiem', description => 'helpvar dateTime meridiem', },
{ 'name' => 'month', description => 'helpvar dateTime month', },
{ 'name' => 'monthName', description => 'helpvar dateTime monthName', },
{ 'name' => 'monthAbbr', description => 'helpvar dateTime monthAbbr', },
{ 'name' => 'dayOfMonth', description => 'helpvar dateTime dayOfMonth', },
{ 'name' => 'dayName', description => 'helpvar dateTime dayName', },
{ 'name' => 'dayAbbr', description => 'helpvar dateTime dayAbbr', },
{ 'name' => 'year', description => 'helpvar dateTime year', },
{ 'name' => 'dayOfWeek', description => 'helpvar dateTime dayOfWeek', },
{ 'name' => 'ymd', description => 'helpvar dateTime ymd', },
{ 'name' => 'mdy', description => 'helpvar dateTime mdy', },
{ 'name' => 'dmy', description => 'helpvar dateTime dmy', },
{ 'name' => 'epoch', description => 'helpvar dateTime epoch', },
],
},
#### ICal Calendar Page
#### View Month Template
#### View Week Template
'event variables' => {
title => 'help event variables title',
body => 'help event variables body',
related => [
{
namespace => 'Asset_Event',
tag => 'event common variables',
},
],
},
'view week template' => {
title => 'view calendar week title',
@ -143,9 +166,60 @@ our $HELP = {
related => []
},
#### List view template
'view list template' => {
title => 'help view list title',
body => 'help view list body',
isa => [
{
namespace => "Asset_Calendar",
tag => "view calendar template",
},
{
namespace => "Asset_Calendar",
tag => "event variables",
},
],
related => [
{
namespace => "Asset_Calendar",
tag => 'calendar dateTime',
},
],
variables => [
{
name => 'newYear',
description => 'helpvar newYear',
},
{
name => 'newMonth',
description => 'helpvar newMonth',
},
{
name => 'newDay',
description => 'helpvar newDay',
},
{
name => 'url_previousPage',
description => 'helpvar url_previousPage',
},
{
name => 'url_nextPage',
description => 'helpvar url_nextPage',
},
{
name => 'start',
description => 'helpvar dateTime start',
},
{
name => 'end',
description => 'helpvar dateTime end',
},
],
},
};
#### Search Template
1;

View file

@ -8,18 +8,17 @@ our $I18N = {
# context => q{},
#},
'assetName' => {
message => q{Calendar},
lastUpdated => 1131394072,
},
#################### DATETIME LOCALE ####################
'locale' => {
message => q{en_US},
lastUpdated => 0,
context => q{The ISO locale name for month and day labels.},
},
#################### CALENDAR PROPERTIES FIELDS ####################
##### Subscriber Notify Offset #####
'subscriberNotifyOffset label' => {
message => q{Subscriber Notify Offset},
lastUpdated => 0,
@ -31,11 +30,6 @@ our $I18N = {
context => q{The Hover Help for the Subscriber Notify Offset field},
},
#################### CALENDAR DISPLAY FIELDS ####################
##### Default View #####
'defaultView label' => {
message => q{Default View},
lastUpdated => 0,
@ -61,9 +55,13 @@ our $I18N = {
lastUpdated => 0,
context => q{A value for the Default View field.},
},
'defaultView value list' => {
message => q{List},
lastUpdated => 0,
context => q{A value for the Default View field.},
},
##### Default Date #####
'defaultDate label' => {
message => q{Default Date},
lastUpdated => 0,
@ -91,7 +89,6 @@ our $I18N = {
},
##### Visitor Cache Timeout #####
'visitorCacheTimeout label' => {
message => q{Visitor Cache Timeout},
lastUpdated => 0,
@ -104,7 +101,6 @@ our $I18N = {
},
##### Default Daily Event Sort Order #####
'sortEventsBy label' => {
message => q{Daily Events Sort Order},
lastUpdated => 0,
@ -126,14 +122,32 @@ our $I18N = {
context => q{A value for the Daily Events Sort Order field.},
},
'editForm listViewPageInterval label' => {
message => "List View Page Interval",
lastUpdated => 0,
context => 'Label for the asset property',
},
'editForm listViewPageInterval description' => {
message => "Period of time displayed in a single page of the list view",
lastUpdated => 0,
context => 'Description of the asset property',
},
'editForm icalInterval label' => {
message => "ICalendar Feed Interval",
lastUpdated => 0,
context => 'Label for the asset property',
},
'editForm icalInterval description' => {
message => "Period of time displayed in the iCalendar feed",
lastUpdated => 0,
context => 'Description of the asset property',
},
#################### CALENDAR SECURITY FIELDS ####################
##### Group to add/edit events #####
'groupIdEventEdit label' => {
message => q{Who can add Events?},
lastUpdated => 0,
@ -148,9 +162,7 @@ our $I18N = {
#################### CALENDAR FEEDS FIELDS ####################
##### Feeds tab #####
'feeds' => {
message => q{Feeds},
lastUpdated => 0,
@ -159,11 +171,9 @@ our $I18N = {
#################### TEMPLATES ####################
##### Template - Month #####
'templateIdMonth label' => {
message => q{Month View Template},
lastUpdated => 0,
@ -175,7 +185,6 @@ our $I18N = {
context => q{Hover Help for the default month template.},
},
##### Template - Week #####
'templateIdWeek label' => {
message => q{Week View Template},
lastUpdated => 0,
@ -187,7 +196,6 @@ our $I18N = {
context => q{Hover Help for the default Week template.},
},
##### Template - Day #####
'templateIdDay label' => {
message => q{Day View Template},
lastUpdated => 0,
@ -198,8 +206,18 @@ our $I18N = {
lastUpdated => 0,
context => q{Hover Help for the default Day template.},
},
'editForm templateIdList label' => {
message => q{List View Template},
lastUpdated => 0,
context => q{The label for the default List template.},
},
'editForm templateIdList description' => {
message => q{This template shows the calendar in List form.},
lastUpdated => 0,
context => q{Hover Help for the default List template.},
},
##### Template - Event #####
'templateIdEvent label' => {
message => q{Event Details Template},
lastUpdated => 0,
@ -211,7 +229,6 @@ our $I18N = {
context => q{Hover Help for the default Event template.},
},
##### Template - EventEdit #####
'templateIdEventEdit label' => {
message => q{Event Edit Template},
lastUpdated => 0,
@ -223,7 +240,6 @@ our $I18N = {
context => q{Hover Help for the default Event Edit template.},
},
##### Template - Search #####
'templateIdSearch label' => {
message => q{Search View Template},
lastUpdated => 0,
@ -237,7 +253,6 @@ our $I18N = {
##### Template - Print Month #####
'templateIdPrintMonth label' => {
message => q{Print Month Template},
lastUpdated => 0,
@ -249,7 +264,6 @@ our $I18N = {
context => q{Hover Help for the default month template.},
},
##### Template - Print Week #####
'templateIdPrintWeek label' => {
message => q{Print Week Template},
lastUpdated => 0,
@ -261,7 +275,6 @@ our $I18N = {
context => q{Hover Help for the default Week template.},
},
##### Template - Print Day #####
'templateIdPrintDay label' => {
message => q{Print Day Template},
lastUpdated => 0,
@ -273,7 +286,17 @@ our $I18N = {
context => q{Hover Help for the default Day template.},
},
##### Template - Print Event #####
'editForm templateIdPrintList label' => {
message => q{Print List View Template},
lastUpdated => 0,
context => q{The label for the default Print List template.},
},
'editForm templateIdPrintList description' => {
message => q{This template print the calendar in List form.},
lastUpdated => 0,
context => q{Hover Help for the default Print List template.},
},
'templateIdPrintEvent label' => {
message => q{Print Event Details Template},
lastUpdated => 0,
@ -285,9 +308,6 @@ our $I18N = {
context => q{Hover Help for the default Event template.},
},
#################### WORKFLOW ACTIVITIES ####################
'workflow updateFeeds' => {
message => q{Update Calendar Feeds},
lastUpdated => 0,
@ -313,14 +333,11 @@ our $I18N = {
context => q{Description of what the CalendarGenerateRecurringEvents workflow activity does},
},
#################### HELP PAGES ####################
'searchButtonLabel' => {
message => q|Search|,
lastUpdated => 1170803504,
},
#################### HELP PAGES View Calendar ####################
'add event' => {
message => q|Add Event|,
lastUpdated => 1171043337,
@ -624,11 +641,184 @@ our $I18N = {
},
#################### ASSET NAME ####################
'assetName' => {
message => q{Calendar},
lastUpdated => 1131394072,
},
'help view list title' => {
message => 'Calendar List View',
lastUpdated => 0,
context => 'Title for help page',
},
'help view list body' => {
message => 'These variables are available to the Calendar List View',
lastUpdated => 0,
context => 'Body of help page',
},
'helpvar newYear' => {
message => 'This variable is true when the current event is in a different
year than the previous event.',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar newMonth' => {
message => 'This variable is true when the current event is in a different
month than the previous event.',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar newDay' => {
message => 'This variable is true when the current event is in a different
day than the previous event.',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar url_previousPage' => {
message => 'The URL to the previous page. If there is no previous page, this
variable will not exist.',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar url_nextPage' => {
message => 'The URL to the next page. If there is no previous page, this
variable will not exist.',
lastUpdated => 0,
context => 'Description of template variable',
},
'help calendar dateTime title' => {
message => 'Calendar Date/Time variables',
lastUpdated => 0,
context => 'Title for help page',
},
'help calendar dateTime body' => {
message => 'These variables are available for most date/time in the Calendar. <br/><br/>
NOTE: Sometimes these variables have a prefix, like "start" or "end".
In that case, the first letter of the variables below is capitalized, so
"monthName" with a prefix of "start" becomes "startMonthName".',
lastUpdated => 0,
context => 'Body for help page',
},
'helpvar dateTime second' => {
message => 'The seconds',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime minute' => {
message => 'The minutes',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime meridiem' => {
message => 'The meridiem (A.M. or P.M.)',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime month' => {
message => 'The month number (01)',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime monthName' => {
message => 'The month name ("January")',
lastUpdated => 0,
context => 'Description of template variable',
},,
'helpvar dateTime monthAbbr' => {
message => 'The abbreviated month name ("Jan")',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime dayOfMonth' => {
message => 'The number of the day of the month',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime dayName' => {
message => 'The day name (Sunday)',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime dayAbbr' => {
message => 'The abbreviated day name (Sun)',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime year' => {
message => 'The year',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime dayOfWeek' => {
message => 'The number of the day of the week (1 is Monday, 7 is Sunday)',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime ymd' => {
message => 'The year, month, and day in ISO format: YYYY-MM-DD',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime mdy' => {
message => 'The month, day, and year in US format: MM/DD/YYYY',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime dmy' => {
message => 'The day, month, and year in UK format: DD/MM/YYYY',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime epoch' => {
message => 'The epoch date (number of seconds since 1970-01-01 00:00:00). Suitable to be used in the Date macro.',
lastUpdated => 0,
context => 'Description of template variable',
},
'helpvar dateTime start' => {
message => 'A set of date/time variables with the prefix "start". See "Calendar Date/Time Variables" for more information.',
lastUpdated => 0,
context => 'Description of template variable.',
},
'helpvar dateTime end' => {
message => 'A set of date/time variables with the prefix "end". See "Calendar Date/Time Variables for more information.',
lastUpdated => 0,
context => 'Description of template variable',
},
'help event variables title' => {
message => "Calendar Event Variables",
lastUpdated => 0,
context => 'Title for help page',
},
'help event variables body' => {
message => q{When the Calendar is displaying an Event, it gets the entire set of Event template variables and changes the name slightly. <br/><br/>
The Event template variable "title" becomes "eventTitle". The Event template variable "startDate" becomes "eventStartDate" and so on.
},
lastUpdated => 0,
context => 'Body for help page',
},
};
1;