fix: New Calendar/Event not handling gateway properly.
This commit is contained in:
parent
385fb92479
commit
ca21c7d5da
3 changed files with 33 additions and 63 deletions
|
|
@ -13,6 +13,7 @@
|
||||||
Added tests for File and Image assets to verify that this happens correctly.
|
Added tests for File and Image assets to verify that this happens correctly.
|
||||||
- fix - Unable to add EventsCalendar
|
- fix - Unable to add EventsCalendar
|
||||||
- fix - Some functions in InOutBoard not internationalized
|
- fix - Some functions in InOutBoard not internationalized
|
||||||
|
- fix: Calendar/Event not handling gateway properly.
|
||||||
|
|
||||||
|
|
||||||
7.3.0
|
7.3.0
|
||||||
|
|
|
||||||
|
|
@ -1262,13 +1262,10 @@ sub getTemplateVars
|
||||||
|
|
||||||
# Make some friendly URLs
|
# Make some friendly URLs
|
||||||
$dtStart->truncate(to=>"day");
|
$dtStart->truncate(to=>"day");
|
||||||
$var{"urlDay"} = "/".$self->getParent->get("url")."?type=day;start="
|
$var{"urlDay"} = $self->getParent->getUrl("type=day;start=".$dtStart->toMysql);
|
||||||
. $dtStart->toMysql;
|
$var{"urlWeek"} = $self->getParent->getUrl("type=week;start=".$dtStart->toMysql);
|
||||||
$var{"urlWeek"} = "/".$self->getParent->get("url")."?type=week;start="
|
$var{"urlMonth"} = $self->getParent->getUrl("type=month;start=".$dtStart->toMysql);
|
||||||
. $dtStart->toMysql;
|
$var{"urlParent"} = $self->getParent->getUrl;
|
||||||
$var{"urlMonth"} = "/".$self->getParent->get("url")."?type=month;start="
|
|
||||||
. $dtStart->toMysql;
|
|
||||||
$var{"urlParent"} = "/".$self->getParent->get("url");
|
|
||||||
|
|
||||||
|
|
||||||
# Related links
|
# Related links
|
||||||
|
|
@ -1416,18 +1413,11 @@ sub processPropertiesFromFormPost
|
||||||
# Set storable to canonical so that we can compare data structures
|
# Set storable to canonical so that we can compare data structures
|
||||||
$Storable::canonical = 1;
|
$Storable::canonical = 1;
|
||||||
|
|
||||||
#use Data::Dumper;
|
|
||||||
#$session->errorHandler->warn("OLD (".$self->get("recurId")."): ".Dumper \%recurrence_old);
|
|
||||||
#$session->errorHandler->warn("NEW: ".Dumper \%recurrence_new);
|
|
||||||
|
|
||||||
# Pattern keys
|
# Pattern keys
|
||||||
if (nfreeze(\%recurrence_new) ne nfreeze(\%recurrence_old))
|
if (nfreeze(\%recurrence_new) ne nfreeze(\%recurrence_old))
|
||||||
{
|
{
|
||||||
# Delete all old events and create new ones
|
# Delete all old events and create new ones
|
||||||
my $old_id = $self->get("recurId");
|
my $old_id = $self->get("recurId");
|
||||||
|
|
||||||
#use Data::Dumper;
|
|
||||||
#$self->session->errorHandler->warn("Form recurrence: ".Dumper \%recurrence_new);
|
|
||||||
|
|
||||||
return ["There's something wrong with your recurrence pattern."]
|
return ["There's something wrong with your recurrence pattern."]
|
||||||
unless $self->generateRecurringEvents(\%recurrence_new);
|
unless $self->generateRecurringEvents(\%recurrence_new);
|
||||||
|
|
@ -1453,9 +1443,7 @@ sub processPropertiesFromFormPost
|
||||||
# No change
|
# No change
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
# Just update related events
|
# Just update related events
|
||||||
#$self->session->errorHandler->warn("No changes to recurrence.");
|
|
||||||
|
|
||||||
my $properties = $self->get;
|
my $properties = $self->get;
|
||||||
delete $properties->{startDate};
|
delete $properties->{startDate};
|
||||||
delete $properties->{endDate};
|
delete $properties->{endDate};
|
||||||
|
|
@ -1561,9 +1549,6 @@ sub setRecurrence
|
||||||
endDate => $end,
|
endDate => $end,
|
||||||
};
|
};
|
||||||
|
|
||||||
#use Data::Dumper;
|
|
||||||
#$self->session->errorHandler->warn("Setting recurrence: ".Dumper $data);
|
|
||||||
|
|
||||||
## Set to the database
|
## Set to the database
|
||||||
## Return the new recurId
|
## Return the new recurId
|
||||||
return $self->session->db->setRow("Event_recur","recurId",$data);
|
return $self->session->db->setRow("Event_recur","recurId",$data);
|
||||||
|
|
@ -1619,11 +1604,11 @@ sub view
|
||||||
|
|
||||||
# Next and previous events
|
# Next and previous events
|
||||||
my $next = $self->getEventNext;
|
my $next = $self->getEventNext;
|
||||||
$var->{"nextUrl"} = "/".$next->get("url")
|
$var->{"nextUrl"} = $next->getUrl
|
||||||
if ($next);
|
if ($next);
|
||||||
|
|
||||||
my $prev = $self->getEventPrev;
|
my $prev = $self->getEventPrev;
|
||||||
$var->{"prevUrl"} = "/".$prev->get("url")
|
$var->{"prevUrl"} = $prev->getUrl
|
||||||
if ($prev);
|
if ($prev);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1791,9 +1776,6 @@ sub www_edit
|
||||||
my %recur = $self->getRecurrenceFromForm || $self->getRecurrence;
|
my %recur = $self->getRecurrenceFromForm || $self->getRecurrence;
|
||||||
$recur{every} ||= 1;
|
$recur{every} ||= 1;
|
||||||
|
|
||||||
#use Data::Dumper;
|
|
||||||
#$self->session->errorHandler->warn("Assigning recurrence: ".Dumper \%recur);
|
|
||||||
|
|
||||||
$var->{"formRecurPattern"} =
|
$var->{"formRecurPattern"} =
|
||||||
q|
|
q|
|
||||||
<p><input type="radio" name="recurType" id="recurType_none" value="none" onclick="toggleRecur()" />
|
<p><input type="radio" name="recurType" id="recurType_none" value="none" onclick="toggleRecur()" />
|
||||||
|
|
@ -1984,7 +1966,7 @@ sub www_edit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
toggleTimes();
|
toggleTimes(); // TODO: Insert into onLoad handler via YUI
|
||||||
|
|
||||||
|
|
||||||
function toggleRecur()
|
function toggleRecur()
|
||||||
|
|
@ -2011,7 +1993,7 @@ sub www_edit
|
||||||
document.getElementById("recurPattern_yearly").style.display = "block";
|
document.getElementById("recurPattern_yearly").style.display = "block";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
toggleRecur();
|
toggleRecur(); // TODO: Insert into onLoad handler via YUI
|
||||||
</script>
|
</script>
|
||||||
ENDJS
|
ENDJS
|
||||||
|
|
||||||
|
|
@ -2081,9 +2063,8 @@ sub www_view {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
=head1 Todo
|
|
||||||
|
|
||||||
Pages for Next Event >> and Prev Event << on the Event Details page
|
=head1 Todo
|
||||||
|
|
||||||
Pages for Next Occurence >> and Prev Occurrence << on the Event Details page
|
Pages for Next Occurence >> and Prev Occurrence << on the Event Details page
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -326,7 +326,7 @@ sub canAddEvent
|
||||||
return (
|
return (
|
||||||
(
|
(
|
||||||
$self->get("status") eq "approved" ||
|
$self->get("status") eq "approved" ||
|
||||||
$self->getTagCount > 1 # checks to make sure that the cs has been committed at least once
|
$self->getTagCount > 1 # checks to make sure that the calendar has been committed at least once
|
||||||
) && (
|
) && (
|
||||||
$self->session->user->isInGroup($self->get("groupIdEventEdit"))
|
$self->session->user->isInGroup($self->get("groupIdEventEdit"))
|
||||||
|| $self->SUPER::canEdit
|
|| $self->SUPER::canEdit
|
||||||
|
|
@ -643,9 +643,8 @@ sub getEventsIn
|
||||||
whereClause => $where,
|
whereClause => $where,
|
||||||
});
|
});
|
||||||
|
|
||||||
# ? Perhaps use Stow to cache events ?
|
#? Perhaps use Stow to cache Events ?#
|
||||||
#$self->session->errorHandler->warn("Got ".scalar @{$events}." events in ($start -- $end || $startTz -- $endTz)");
|
|
||||||
#$self->session->errorHandler->warn("Ref: ".ref $events->[0]);
|
|
||||||
return @{$events};
|
return @{$events};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -737,7 +736,6 @@ sub prepareView
|
||||||
my $view = ucfirst lc $self->session->form->param("type")
|
my $view = ucfirst lc $self->session->form->param("type")
|
||||||
|| ucfirst $self->get("defaultView")
|
|| ucfirst $self->get("defaultView")
|
||||||
|| "Month";
|
|| "Month";
|
||||||
#$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));
|
my $template = WebGUI::Asset::Template->new($self->session, $self->get("templateId".$view));
|
||||||
$template->prepare;
|
$template->prepare;
|
||||||
|
|
@ -776,7 +774,8 @@ sub processPropertiesFromFormPost
|
||||||
|
|
||||||
|
|
||||||
### Get feeds from the form
|
### Get feeds from the form
|
||||||
# Workaround WebGUI::Session::Form->param bug
|
# Workaround WebGUI::Session::Form->param bug that returns duplicate
|
||||||
|
# names.
|
||||||
my %feeds;
|
my %feeds;
|
||||||
$feeds{$_}++
|
$feeds{$_}++
|
||||||
for map { s/^feeds-//; $_; } grep /^feeds-/,($form->param());
|
for map { s/^feeds-//; $_; } grep /^feeds-/,($form->param());
|
||||||
|
|
@ -899,12 +898,11 @@ sub view
|
||||||
}
|
}
|
||||||
|
|
||||||
# URLs
|
# URLs
|
||||||
$var->{"urlDay"} = "/".$session->url->append($self->get("url")
|
$var->{"urlDay"} = $self->getUrl("type=day;start=".$params->{start});
|
||||||
, "type=day;start=".$params->{start});
|
$var->{"urlWeek"} = $self->getUrl("type=week;start=".$params->{start});
|
||||||
$var->{"urlWeek"} = "/".$session->url->append($self->get("url")
|
$var->{"urlMonth"} = $self->getUrl("type=month;start=".$params->{start});
|
||||||
, "type=week;start=".$params->{start});
|
$var->{"urlAdd"} = $self->getUrl("func=add;class=WebGUI::Asset::Event");
|
||||||
$var->{"urlMonth"} = "/".$session->url->append($self->get("url")
|
$var->{"urlSearch"} = $self->getUrl("func=search");
|
||||||
, "type=month;start=".$params->{start});
|
|
||||||
|
|
||||||
# Parameters
|
# Parameters
|
||||||
$var->{"paramStart"} = $params->{start};
|
$var->{"paramStart"} = $params->{start};
|
||||||
|
|
@ -916,8 +914,6 @@ sub view
|
||||||
# If user is only a Visitor and we've gotten this far, update the cache
|
# 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 the processed template to be displayed for the user
|
||||||
#use Data::Dumper; $session->errorHandler->warn(Dumper $var);
|
|
||||||
|
|
||||||
return $self->processTemplate($var, undef, $self->{_viewTemplate});
|
return $self->processTemplate($var, undef, $self->{_viewTemplate});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -995,11 +991,9 @@ sub viewDay
|
||||||
|
|
||||||
# Make the navigation bars
|
# Make the navigation bars
|
||||||
$var->{"pageNextStart"} = $dt->clone->add(days=>1)->toMysql;
|
$var->{"pageNextStart"} = $dt->clone->add(days=>1)->toMysql;
|
||||||
$var->{"pageNextUrl"} = "/".$self->get("url")."?type=day;start="
|
$var->{"pageNextUrl"} = $self->getUrl("type=day;start=".$var->{"pageNextStart"});
|
||||||
. $var->{"pageNextStart"};
|
|
||||||
$var->{"pagePrevStart"} = $dt->clone->subtract(days=>1)->toMysql;
|
$var->{"pagePrevStart"} = $dt->clone->subtract(days=>1)->toMysql;
|
||||||
$var->{"pagePrevUrl"} = "/".$self->get("url")."?type=day;start="
|
$var->{"pagePrevUrl"} = $self->getUrl("type=day;start=".$var->{"pagePrevStart"});
|
||||||
. $var->{"pagePrevStart"};
|
|
||||||
# Some friendly dates
|
# Some friendly dates
|
||||||
$var->{"dayName"} = $dt->day_name;
|
$var->{"dayName"} = $dt->day_name;
|
||||||
$var->{"dayAbbr"} = $dt->day_abbr;
|
$var->{"dayAbbr"} = $dt->day_abbr;
|
||||||
|
|
@ -1084,10 +1078,7 @@ sub viewMonth
|
||||||
# Add the day in the appropriate position
|
# Add the day in the appropriate position
|
||||||
$var->{weeks}->[$week]->{days}->[$position] = {
|
$var->{weeks}->[$week]->{days}->[$position] = {
|
||||||
"dayMonth" => $dt_day->day_of_month,
|
"dayMonth" => $dt_day->day_of_month,
|
||||||
"dayUrl" => "/"
|
"dayUrl" => $self->getUrl("type=day;start=".$dt_day->toMysql),
|
||||||
. $self->get("url")
|
|
||||||
. "?type=day;start="
|
|
||||||
. $dt_day->toMysql,
|
|
||||||
"dayCurrent" => ($today eq $dt_day->toMysqlDate ? 1 : 0 ),
|
"dayCurrent" => ($today eq $dt_day->toMysqlDate ? 1 : 0 ),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -1133,10 +1124,7 @@ sub viewMonth
|
||||||
"monthName" => $dt_month->month_name,
|
"monthName" => $dt_month->month_name,
|
||||||
"monthAbbr" => $dt_month->month_abbr,
|
"monthAbbr" => $dt_month->month_abbr,
|
||||||
"monthEpoch" => $dt_month->epoch,
|
"monthEpoch" => $dt_month->epoch,
|
||||||
"monthUrl" => "/"
|
"monthUrl" => $self->getUrl("type=month;start=".$dt_month->toMysql),
|
||||||
. $self->get("url")
|
|
||||||
. "?type=month;start="
|
|
||||||
. $dt_month->toMysql,
|
|
||||||
"monthCurrent" => ($dt_month->month eq $dt->month ? 1 : 0),
|
"monthCurrent" => ($dt_month->month eq $dt->month ? 1 : 0),
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
@ -1157,11 +1145,11 @@ sub viewMonth
|
||||||
|
|
||||||
|
|
||||||
$var->{"pageNextYear"} = $dt->year + 1;
|
$var->{"pageNextYear"} = $dt->year + 1;
|
||||||
$var->{"pageNextUrl"} = "/".$self->get("url")."?type=month;start="
|
$var->{"pageNextUrl"} = $self->getUrl("type=month;start="
|
||||||
. $dt->clone->add(years=>1)->toMysql;
|
. $dt->clone->add(years=>1)->toMysql);
|
||||||
$var->{"pagePrevYear"} = $dt->year - 1;
|
$var->{"pagePrevYear"} = $dt->year - 1;
|
||||||
$var->{"pagePrevUrl"} = "/".$self->get("url")."?type=month;start="
|
$var->{"pagePrevUrl"} = $self->getUrl("type=month;start="
|
||||||
. $dt->clone->subtract(years=>1)->toMysql;
|
. $dt->clone->subtract(years=>1)->toMysql);
|
||||||
$var->{"monthName"} = $dt->month_name;
|
$var->{"monthName"} = $dt->month_name;
|
||||||
$var->{"monthAbbr"} = $dt->month_abbr;
|
$var->{"monthAbbr"} = $dt->month_abbr;
|
||||||
$var->{"year"} = $dt->year;
|
$var->{"year"} = $dt->year;
|
||||||
|
|
@ -1274,10 +1262,10 @@ sub viewWeek
|
||||||
}
|
}
|
||||||
|
|
||||||
# Make the navigation bars
|
# Make the navigation bars
|
||||||
$var->{"pageNextUrl"} = "/".$self->get("url")."?type=week;start="
|
$var->{"pageNextUrl"} = $self->getUrl("type=week;start="
|
||||||
. $dt->clone->add(weeks=>1)->toMysql;
|
. $dt->clone->add(weeks=>1)->toMysql);
|
||||||
$var->{"pagePrevUrl"} = "/".$self->get("url")."?type=week;start="
|
$var->{"pagePrevUrl"} = $self->getUrl("type=week;start="
|
||||||
. $dt->clone->subtract(weeks=>1)->toMysql;
|
. $dt->clone->subtract(weeks=>1)->toMysql);
|
||||||
|
|
||||||
$var->{"startMonthName"} = $dt->month_name;
|
$var->{"startMonthName"} = $dt->month_name;
|
||||||
$var->{"startMonthAbbr"} = $dt->month_abbr;
|
$var->{"startMonthAbbr"} = $dt->month_abbr;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue