Merge branch 'master' of github.com:plainblack/webgui

This commit is contained in:
JT Smith 2009-11-03 15:46:18 -06:00
commit bc488aec96
14 changed files with 246 additions and 122 deletions

View file

@ -1,4 +1,5 @@
7.8.3 7.8.3
- fixed: RSS feeds generated with incorrect link for channel
- Fixed an error being thrown by the CalendarUpdateFeeds workflow activity. - Fixed an error being thrown by the CalendarUpdateFeeds workflow activity.
- The auto add to group and auto delete from group operations that are used with the GroupAdd and GroupDelete macros were fixed to make the user log in if they aren't already. - The auto add to group and auto delete from group operations that are used with the GroupAdd and GroupDelete macros were fixed to make the user log in if they aren't already.
- fixed #11074: Links to CS posts not working - fixed #11074: Links to CS posts not working
@ -31,6 +32,12 @@
- fixed #10984: Edit Survey Screen isn't right in demo - fixed #10984: Edit Survey Screen isn't right in demo
- added: getTopKeywords method to Keywords API - added: getTopKeywords method to Keywords API
- added: print remaining tickets feature to EMS - added: print remaining tickets feature to EMS
- fixed #11188: Incoherence in Navigation edit form
- fixed #11189: Controls variable missing in image asset in AssetProxy
- fixed #11190: event tmpl_var in help but not available
- fixed #11194: Event Asset Recurrence form is not i18n'ed
- fixed #11192: newByLineage tries to instantiate asset even if no assetId found
- fixed #11195: Shop, sometimes free checkout does not work
7.8.2 7.8.2
- Added scheduled vendor payout workflow activity. (Special thanks to Martin @ Oqapi) - Added scheduled vendor payout workflow activity. (Special thanks to Martin @ Oqapi)

View file

@ -1096,7 +1096,7 @@ sub getEditForm {
} }
} }
# send back the rendered form # send back the object
return $tabform; return $tabform;
} }

View file

@ -2063,6 +2063,13 @@ sub www_edit {
size => 22, size => 22,
}); });
# synopsis
$var->{"formSynopsis"}
= WebGUI::Form::textarea($session, {
name => "synopsis",
value => $form->process("synopsis") || $self->get("synopsis"),
});
# Group to View # Group to View
$var->{"formGroupIdView"} $var->{"formGroupIdView"}
= WebGUI::Form::Group($session, { = WebGUI::Form::Group($session, {
@ -2202,22 +2209,23 @@ sub www_edit {
: $self->isAllDay : $self->isAllDay
; ;
my $i18n = WebGUI::International->new($session, 'Asset_Event');
$var->{"formTime"} $var->{"formTime"}
= q|<input id="allday_yes" type="radio" name="allday" value="yes" | = q|<input id="allday_yes" type="radio" name="allday" value="yes" |
. ($allday ? 'checked="checked"' : '') . ($allday ? 'checked="checked"' : '')
. q| /> . q| />
<label for="allday_yes">No specific time (All day event)</label> <label for="allday_yes">|. $i18n->get('No specific time'). q|</label>
<br/> <br/>
<input id="allday_no" type="radio" name="allday" value="" | <input id="allday_no" type="radio" name="allday" value="" |
. (!$allday ? 'checked="checked"' : '') . (!$allday ? 'checked="checked"' : '')
. q| /> . q| />
<label for="allday_no">Specific start/end time</label> <label for="allday_no">|. $i18n->get('Specific start/end time'). q|</label>
<br /> <br />
<div id="times">| <div id="times">|
. q|Start: |.$var->{"formStartTime"} . $i18n->get('start') . q|: | . $var->{"formStartTime"} . q|<br/>|
. q|<br/>End: |.$var->{"formEndTime"} . $i18n->get('end') . q|: | . $var->{"formEndTime"} . q|<br/>|
. q|<br/>Time Zone: |.$var->{formTimeZone} . $i18n->get('timezone', 'DateTime'). q|: | . $var->{formTimeZone} . q|</div>|
. q|</div>|; ;
###### related links ###### related links
my $relatedLinks = $self->getRelatedLinks(); my $relatedLinks = $self->getRelatedLinks();
@ -2234,8 +2242,8 @@ sub www_edit {
value => $form->process("rel_group_id_".$_->{eventlinkId}) || $_->{groupIdView} || $self->getParent->get("groupIdView"), value => $form->process("rel_group_id_".$_->{eventlinkId}) || $_->{groupIdView} || $self->getParent->get("groupIdView"),
defaultValue => $self->getParent->get("groupIdView"), defaultValue => $self->getParent->get("groupIdView"),
}); });
$_->{seq_num_name} = "rel_seq_".$_->{eventlinkId}; $_->{seq_num_name} = "rel_seq_".$_->{eventlinkId};
$_->{seq_num_id} = "rel_seq_id_".$_->{eventlinkId}; $_->{seq_num_id} = "rel_seq_id_".$_->{eventlinkId};
$_->{seq_num_value} = $seqNum++; $_->{seq_num_value} = $seqNum++;
} }
$var->{"relatedLinks"} = $relatedLinks; $var->{"relatedLinks"} = $relatedLinks;
@ -2258,90 +2266,88 @@ sub www_edit {
= q| = q|
<div id="recurPattern"> <div id="recurPattern">
<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()" />
<label for="recurType_none">None</label></p> <label for="recurType_none">|. $i18n->get(881,'WebGUI'). q|</label></p>
<p><input type="radio" name="recurType" id="recurType_daily" value="daily" onclick="toggleRecur()" |.($recur{recurType} =~ /^(daily|weekday)$/ ? q|checked="checked"| : q||).q|/> <p><input type="radio" name="recurType" id="recurType_daily" value="daily" onclick="toggleRecur()" |.($recur{recurType} =~ /^(daily|weekday)$/ ? q|checked="checked"| : q||).q|/>
<label for="recurType_daily">Daily</label></p> <label for="recurType_daily">|. $i18n->get('Daily'). q|</label></p>
<div style="margin-left: 4em;" id="recurPattern_daily"> <div style="margin-left: 4em;" id="recurPattern_daily">
Every <input type="text" name="recurDay" size="3" value="|.$recur{every}.q|" /><br/> |. $i18n->get('Every'). q| <input type="text" name="recurDay" size="3" value="|.$recur{every}.q|" /><br/>
<input type="radio" name="recurSubType" id="recurSubType_daily" value="daily" |.($recur{recurType} eq "daily" ? q|checked="checked"| : q||).q|/> <input type="radio" name="recurSubType" id="recurSubType_daily" value="daily" |.($recur{recurType} eq "daily" ? q|checked="checked"| : q||).q|/>
<label for="recurSubType_daily">Day(s)</label><br /> <label for="recurSubType_daily">|. $i18n->get(700, 'WebGUI'). q|</label><br />
<input type="radio" name="recurSubType" id="recurSubType_weekday" value="weekday" |.($recur{recurType} eq "weekday" ? q|checked="checked"| : q||).q|/> <input type="radio" name="recurSubType" id="recurSubType_weekday" value="weekday" |.($recur{recurType} eq "weekday" ? q|checked="checked"| : q||).q|/>
<label for="recurSubType_weekday">Weekday(s)</label> <label for="recurSubType_weekday">|. $i18n->get('Weekday(s)'). q|</label>
</div> </div>
<p><input type="radio" name="recurType" id="recurType_weekly" value="weekly" onclick="toggleRecur()" |.($recur{recurType} eq "weekly" ? q|checked="checked"| : q||).q|/> <p><input type="radio" name="recurType" id="recurType_weekly" value="weekly" onclick="toggleRecur()" |.($recur{recurType} eq "weekly" ? q|checked="checked"| : q||).q|/>
<label for="recurType_weekly">Weekly</label></p> <label for="recurType_weekly">|. $i18n->get('Weekly'). q|</label></p>
<div style="margin-left: 4em;" id="recurPattern_weekly"> <div style="margin-left: 4em;" id="recurPattern_weekly">
Every <input type="text" name="recurWeek" size="3" value="|.$recur{every}.q|" /> week(s) on<br/> |. sprintf($i18n->get('Every N weeks on'), q|<input type="text" name="recurWeek" size="3" value="|.$recur{every}.q|" />|). q|<br/>
<input type="checkbox" name="recurWeekDay" value="u" id="recurWeekDay_U" |.(grep(/u/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/> <input type="checkbox" name="recurWeekDay" value="u" id="recurWeekDay_U" |.(grep(/u/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/>
<label for="recurWeekDay_U">Sunday</label><br/> <label for="recurWeekDay_U">|. $i18n->get('sunday', 'DateTime'). q|</label><br/>
<input type="checkbox" name="recurWeekDay" value="m" id="recurWeekDay_M" |.(grep(/m/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/> <input type="checkbox" name="recurWeekDay" value="m" id="recurWeekDay_M" |.(grep(/m/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/>
<label for="recurWeekDay_M">Monday</label><br/> <label for="recurWeekDay_M">|. $i18n->get('monday', 'DateTime'). q|</label><br/>
<input type="checkbox" name="recurWeekDay" value="t" id="recurWeekDay_T" |.(grep(/t/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/> <input type="checkbox" name="recurWeekDay" value="t" id="recurWeekDay_T" |.(grep(/t/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/>
<label for="recurWeekDay_T">Tuesday</label><br/> <label for="recurWeekDay_T">|. $i18n->get('tuesday', 'DateTime'). q|</label><br/>
<input type="checkbox" name="recurWeekDay" value="w" id="recurWeekDay_W" |.(grep(/w/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/> <input type="checkbox" name="recurWeekDay" value="w" id="recurWeekDay_W" |.(grep(/w/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/>
<label for="recurWeekDay_W">Wednesday</label><br/> <label for="recurWeekDay_W">|. $i18n->get('wednesday', 'DateTime'). q|</label><br/>
<input type="checkbox" name="recurWeekDay" value="r" id="recurWeekDay_R" |.(grep(/r/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/> <input type="checkbox" name="recurWeekDay" value="r" id="recurWeekDay_R" |.(grep(/r/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/>
<label for="recurWeekDay_R">Thursday</label><br/> <label for="recurWeekDay_R">|. $i18n->get('thursday', 'DateTime'). q|</label><br/>
<input type="checkbox" name="recurWeekDay" value="f" id="recurWeekDay_F" |.(grep(/f/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/> <input type="checkbox" name="recurWeekDay" value="f" id="recurWeekDay_F" |.(grep(/f/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/>
<label for="recurWeekDay_F">Friday</label><br/> <label for="recurWeekDay_F">|. $i18n->get('friday', 'DateTime'). q|</label><br/>
<input type="checkbox" name="recurWeekDay" value="s" id="recurWeekDay_S" |.(grep(/s/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/> <input type="checkbox" name="recurWeekDay" value="s" id="recurWeekDay_S" |.(grep(/s/,@{$recur{dayNames}}) ? 'checked="checked"' : '' ).q|/>
<label for="recurWeekDay_S">Saturday</label><br/> <label for="recurWeekDay_S">|. $i18n->get('saturday', 'DateTime'). q|</label><br/>
</div> </div>
<p><input type="radio" name="recurType" id="recurType_monthly" value="monthly" onclick="toggleRecur()" |.($recur{recurType} =~ /^month/ ? q|checked="checked"| : q||).q|/> <p><input type="radio" name="recurType" id="recurType_monthly" value="monthly" onclick="toggleRecur()" |.($recur{recurType} =~ /^month/ ? q|checked="checked"| : q||).q|/>
<label for="recurType_monthly">Monthly</label></p> <label for="recurType_monthly">|. $i18n->get('Monthly'). q|</label></p>
<div style="margin-left: 4em;" id="recurPattern_monthly"> <div style="margin-left: 4em;" id="recurPattern_monthly">
<p>Every <input type="text" name="recurMonth" size="3" value="|.$recur{every}.q|" /> month(s) on</p> <p>|. sprintf($i18n->get('Every N months on'), q|<input type="text" name="recurMonth" size="3" value="|.$recur{every}.q|" />|). q|</p>
<p><input type="radio" name="recurSubType" id="recurSubType_monthDay" value="monthDay" |.($recur{recurType} eq "monthDay" ? q|checked="checked"| : q||).q|/> <p><input type="radio" name="recurSubType" id="recurSubType_monthDay" value="monthDay" |.($recur{recurType} eq "monthDay" ? q|checked="checked"| : q||).q|/>
<label for="recurSubType_monthDay">day </label> <label for="recurSubType_monthDay">|. $i18n->get('day'). q| </label>
<input type="text" name="recurMonthDay" size="3" value="|.$recur{dayNumber}.q|"></p> <input type="text" name="recurMonthDay" size="3" value="|.$recur{dayNumber}.q|"></p>
<p> <p>
<input style="vertical-align: top;" type="radio" name="recurSubType" id="recurSubType_monthWeek" value="monthWeek" |.($recur{recurType} eq "monthWeek" ? q|checked="checked"| : q||).q|/> <input style="vertical-align: top;" type="radio" name="recurSubType" id="recurSubType_monthWeek" value="monthWeek" |.($recur{recurType} eq "monthWeek" ? q|checked="checked"| : q||).q|/>
<select style="vertical-align: top;" name="recurMonthWeekNumber"> <select style="vertical-align: top;" name="recurMonthWeekNumber">
<option |.(grep(/first/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>first</option> <option value="first" |.(grep(/first/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('first'). q|</option>
<option |.(grep(/second/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>second</option> <option value="second" |.(grep(/second/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('second'). q|</option>
<option |.(grep(/third/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>third</option> <option value="third" |.(grep(/third/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('third'). q|</option>
<option |.(grep(/fourth/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>fourth</option> <option value="fourth" |.(grep(/fourth/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('fourth'). q|</option>
<option |.(grep(/fifth/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>last</option> <option value="fifth" |.(grep(/fifth/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('last'). q|</option>
</select> week on </select> |. $i18n->get('week on'). q|
<select style="vertical-align: top;" name="recurMonthWeekDay"> <select style="vertical-align: top;" name="recurMonthWeekDay">
<option value="u" |.(grep(/u/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Sunday</option> <option value="u" |.(grep(/u/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('sunday', 'DateTime'). q|</option>
<option value="m" |.(grep(/m/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Monday</option> <option value="m" |.(grep(/m/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('monday', 'DateTime'). q|</option>
<option value="t" |.(grep(/t/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Tuesday</option> <option value="t" |.(grep(/t/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('tuesday', 'DateTime'). q|</option>
<option value="w" |.(grep(/w/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Wednesday</option> <option value="w" |.(grep(/w/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('wednesday', 'DateTime'). q|</option>
<option value="r" |.(grep(/r/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Thursday</option> <option value="r" |.(grep(/r/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('thursday', 'DateTime'). q|</option>
<option value="f" |.(grep(/f/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Friday</option> <option value="f" |.(grep(/f/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('friday', 'DateTime'). q|</option>
<option value="s" |.(grep(/s/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Saturday</option> <option value="s" |.(grep(/s/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('saturday', 'DateTime'). q|</option>
</select> </select>
</p> </p>
</div> </div>
<p><input type="radio" name="recurType" id="recurType_yearly" value="yearly" onclick="toggleRecur()" |.($recur{recurType} =~ /^year/ ? q|checked="checked"| : q||).q|/> <p><input type="radio" name="recurType" id="recurType_yearly" value="yearly" onclick="toggleRecur()" |.($recur{recurType} =~ /^year/ ? q|checked="checked"| : q||).q|/>
<label for="recurType_yearly">Yearly</label></p> <label for="recurType_yearly">|. $i18n->get('Yearly'). q|</label></p>
<div style="margin-left: 4em;" id="recurPattern_yearly"> <div style="margin-left: 4em;" id="recurPattern_yearly">
<p>Every <input type="text" name="recurYear" size="3" value="|.$recur{every}.q|" /> years(s) on</p> <p>|. sprintf($i18n->get('Every N years on'),q|<input type="text" name="recurYear" size="3" value="|.$recur{every}.q|" />|). q|</p>
<p> <p>
<input type="radio" name="recurSubType" id="recurSubType_yearDay" value="yearDay" |.($recur{recurType} eq "yearDay" ? q|checked="checked"| : q||).q|/> <input type="radio" name="recurSubType" id="recurSubType_yearDay" value="yearDay" |.($recur{recurType} eq "yearDay" ? q|checked="checked"| : q||).q|/>
<select name="recurYearDayMonth"> <select name="recurYearDayMonth">
<option value="jan" |.(grep(/jan/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>January</option> <option value="jan" |.(grep(/jan/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('january','DateTime'). q|</option>
<option value="feb" |.(grep(/feb/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>February</option> <option value="feb" |.(grep(/feb/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('february','DateTime'). q|</option>
<option value="mar" |.(grep(/mar/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>March</option> <option value="mar" |.(grep(/mar/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('march','DateTime'). q|</option>
<option value="apr" |.(grep(/apr/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>April</option> <option value="apr" |.(grep(/apr/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('april','DateTime'). q|</option>
<option value="may" |.(grep(/may/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>May</option> <option value="may" |.(grep(/may/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('may','DateTime'). q|</option>
<option value="jun" |.(grep(/jun/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>June</option> <option value="jun" |.(grep(/jun/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('june','DateTime'). q|</option>
<option value="jul" |.(grep(/jul/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>July</option> <option value="jul" |.(grep(/jul/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('july','DateTime'). q|</option>
<option value="aug" |.(grep(/aug/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>August</option> <option value="aug" |.(grep(/aug/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('august','DateTime'). q|</option>
<option value="sep" |.(grep(/sep/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>September</option> <option value="sep" |.(grep(/sep/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('september','DateTime'). q|</option>
<option value="oct" |.(grep(/oct/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>October</option> <option value="oct" |.(grep(/oct/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('october','DateTime'). q|</option>
<option value="nov" |.(grep(/nov/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>November</option> <option value="nov" |.(grep(/nov/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('november','DateTime'). q|</option>
<option value="dec" |.(grep(/dec/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>December</option> <option value="dec" |.(grep(/dec/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('december','DateTime'). q|</option>
</select> </select>
<input type="text" name="recurYearDay" size="3" value="|.$recur{dayNumber}.q|"/> <input type="text" name="recurYearDay" size="3" value="|.$recur{dayNumber}.q|"/>
</p> </p>
@ -2349,34 +2355,34 @@ sub www_edit {
<p> <p>
<input style="vertical-align: top;" type="radio" name="recurSubType" id="recurSubType_yearWeek" value="yearWeek" |.($recur{recurType} eq "yearWeek" ? q|checked="checked"| : q||).q|/> <input style="vertical-align: top;" type="radio" name="recurSubType" id="recurSubType_yearWeek" value="yearWeek" |.($recur{recurType} eq "yearWeek" ? q|checked="checked"| : q||).q|/>
<select style="vertical-align: top;" name="recurYearWeekNumber"> <select style="vertical-align: top;" name="recurYearWeekNumber">
<option |.(grep(/first/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>first</option> <option value="first" |.(grep(/first/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('first'). q|</option>
<option |.(grep(/second/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>second</option> <option value="second" |.(grep(/second/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('second'). q|</option>
<option |.(grep(/third/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>third</option> <option value="third" |.(grep(/third/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('third'). q|</option>
<option |.(grep(/fourth/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>fourth</option> <option value="fourth" |.(grep(/fourth/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('fourth'). q|</option>
<option |.(grep(/fifth/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>last</option> <option value="fifth" |.(grep(/fifth/, @{$recur{weeks}}) ? 'selected="selected"' : '').q|>|. $i18n->get('last'). q|</option>
</select> </select>
<select style="vertical-align: top;" name="recurYearWeekDay"> <select style="vertical-align: top;" name="recurYearWeekDay">
<option value="u" |.(grep(/u/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Sunday</option> <option value="u" |.(grep(/u/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('sunday', 'DateTime'). q|</option>
<option value="m" |.(grep(/m/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Monday</option> <option value="m" |.(grep(/m/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('monday', 'DateTime'). q|</option>
<option value="t" |.(grep(/t/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Tuesday</option> <option value="t" |.(grep(/t/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('tuesday', 'DateTime'). q|</option>
<option value="w" |.(grep(/w/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Wednesday</option> <option value="w" |.(grep(/w/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('wednesday', 'DateTime'). q|</option>
<option value="r" |.(grep(/r/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Thursday</option> <option value="r" |.(grep(/r/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('thursday', 'DateTime'). q|</option>
<option value="f" |.(grep(/f/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Friday</option> <option value="f" |.(grep(/f/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('friday', 'DateTime'). q|</option>
<option value="s" |.(grep(/s/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>Saturday</option> <option value="s" |.(grep(/s/,@{$recur{dayNames}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('saturday', 'DateTime'). q|</option>
</select> of </select> |. $i18n->get('of'). q|
<select name="recurYearWeekMonth"> <select name="recurYearWeekMonth">
<option value="jan" |.(grep(/jan/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>January</option> <option value="jan" |.(grep(/jan/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('january','DateTime'). q|</option>
<option value="feb" |.(grep(/feb/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>February</option> <option value="feb" |.(grep(/feb/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('february','DateTime'). q|</option>
<option value="mar" |.(grep(/mar/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>March</option> <option value="mar" |.(grep(/mar/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('march','DateTime'). q|</option>
<option value="apr" |.(grep(/apr/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>April</option> <option value="apr" |.(grep(/apr/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('april','DateTime'). q|</option>
<option value="may" |.(grep(/may/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>May</option> <option value="may" |.(grep(/may/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('may','DateTime'). q|</option>
<option value="jun" |.(grep(/jun/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>June</option> <option value="jun" |.(grep(/jun/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('june','DateTime'). q|</option>
<option value="jul" |.(grep(/jul/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>July</option> <option value="jul" |.(grep(/jul/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('july','DateTime'). q|</option>
<option value="aug" |.(grep(/aug/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>August</option> <option value="aug" |.(grep(/aug/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('august','DateTime'). q|</option>
<option value="sep" |.(grep(/sep/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>September</option> <option value="sep" |.(grep(/sep/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('september','DateTime'). q|</option>
<option value="oct" |.(grep(/oct/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>October</option> <option value="oct" |.(grep(/oct/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('october','DateTime'). q|</option>
<option value="nov" |.(grep(/nov/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>November</option> <option value="nov" |.(grep(/nov/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('november','DateTime'). q|</option>
<option value="dec" |.(grep(/dec/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>December</option> <option value="dec" |.(grep(/dec/,@{$recur{months}}) ? 'selected="selected"' : '' ).q|>|. $i18n->get('december','DateTime'). q|</option>
</select> </select>
</p> </p>
</div> </div>
@ -2396,18 +2402,18 @@ sub www_edit {
$var->{"formRecurEnd"} $var->{"formRecurEnd"}
= q| = q|
<div><input type="radio" name="recurEndType" id="recurEndType_none" value="none" |.(!$recur{endDate} && !$recur{endAfter} ? 'checked="checked"' : '').q|/> <div><input type="radio" name="recurEndType" id="recurEndType_none" value="none" |.(!$recur{endDate} && !$recur{endAfter} ? 'checked="checked"' : '').q|/>
<label for="recurEndType_none">No end</label><br /> <label for="recurEndType_none">|. $i18n->get('No end'). q|</label><br />
<input type="radio" name="recurEndType" id="recurEndType_date" value="date" |.($recur{endDate} ? 'checked="checked"' : '' ).q| /> <input type="radio" name="recurEndType" id="recurEndType_date" value="date" |.($recur{endDate} ? 'checked="checked"' : '' ).q| />
<label for="recurEndType_date">By date </label>| <label for="recurEndType_date">|. $i18n->get('By date'). q| </label>|
. WebGUI::Form::date($session,{ name => "recurEndDate", value => $recur{endDate}, defaultValue => $recur{endDate} }) . WebGUI::Form::date($session,{ name => "recurEndDate", value => $recur{endDate}, defaultValue => $recur{endDate} })
. q| . q|
<br /> <br />
<input type="radio" name="recurEndType" id="recurEndType_after" value="after" |.($recur{endAfter} ? 'checked="checked"' : '' ).q| /> <input type="radio" name="recurEndType" id="recurEndType_after" value="after" |.($recur{endAfter} ? 'checked="checked"' : '' ).q| />
<label for="recurEndType_after">After </label> <label for="recurEndType_after">|. $i18n->get('After'). q| </label>
<input type="text" size="3" name="recurEndAfter" value="|.$recur{endAfter}.q|" /> <input type="text" size="3" name="recurEndAfter" value="|.$recur{endAfter}.q|" />
occurences. |. $i18n->get('occurences'). q|.
</div> </div>
|; |;
@ -2423,14 +2429,14 @@ sub www_edit {
$var->{"formSave"} $var->{"formSave"}
= WebGUI::Form::submit($session, { = WebGUI::Form::submit($session, {
name => "save", name => "save",
value => "save", value => $i18n->get('62', 'WebGUI'),
}); });
# Cancel button # Cancel button
$var->{"formCancel"} $var->{"formCancel"}
= WebGUI::Form::button($session, { = WebGUI::Form::button($session, {
name => "cancel", name => "cancel",
value => "cancel", value => $i18n->get('cancel', 'WebGUI'),
extras => 'onClick="window.history.go(-1)"', extras => 'onClick="window.history.go(-1)"',
}); });

View file

@ -1296,11 +1296,8 @@ sub viewList {
### Get the events ### Get the events
my $dtStart = WebGUI::DateTime->new( $session, $params->{start} ); my $dtStart = WebGUI::DateTime->new( $session, $params->{start} );
$dtStart->set_time_zone($tz); $dtStart->set_time_zone($tz);
$dtStart->truncate( to => 'day' );
my $dtEnd = $dtStart->clone->add( seconds => $self->get('listViewPageInterval') ); my $dtEnd = $dtStart->clone->add( seconds => $self->get('listViewPageInterval') );
warn 'truncated: '.$dtStart->toDatabase;
warn 'end date: '.$dtEnd->toDatabase;
my @events my @events
= $self->getEventsIn( = $self->getEventsIn(
$dtStart->toDatabase, $dtStart->toDatabase,
@ -1910,8 +1907,6 @@ sub www_ical {
$dt_start->set_time_zone( $session->datetime->getTimeZone ); $dt_start->set_time_zone( $session->datetime->getTimeZone );
} }
$session->log->warn("start1: ". $dt_start->toMysql);
my $dt_end; my $dt_end;
my $end = $form->param("end"); my $end = $form->param("end");
if ($end) { if ($end) {
@ -1925,10 +1920,6 @@ sub www_ical {
$dt_end = $dt_start->clone->add( seconds => $self->get('icalInterval') ); $dt_end = $dt_start->clone->add( seconds => $self->get('icalInterval') );
} }
$session->log->warn("start2: ". $dt_start->toMysql);
$session->log->warn("end2: ". $dt_end->toMysql);
# Get all the events we're going to display # Get all the events we're going to display
my @events = $self->getEventsIn($dt_start->toMysql,$dt_end->toMysql); my @events = $self->getEventsIn($dt_start->toMysql,$dt_end->toMysql);
@ -1938,11 +1929,8 @@ sub www_ical {
. qq{VERSION:2.0\r\n}; . qq{VERSION:2.0\r\n};
# VEVENT: # VEVENT:
$session->log->warn("before event processing");
EVENT: for my $event (@events) { EVENT: for my $event (@events) {
$session->log->warn("have event: ");
next EVENT unless $event->canView(); next EVENT unless $event->canView();
$session->log->warn($event->getTitle);
$ical .= qq{BEGIN:VEVENT\r\n}; $ical .= qq{BEGIN:VEVENT\r\n};
### UID ### UID

View file

@ -281,20 +281,6 @@ sub getEditForm {
".($ancestorsChecked ? "" : "toggleAncestorEndPoint();")." ".($ancestorsChecked ? "" : "toggleAncestorEndPoint();")."
//]]> //]]>
</script>"); </script>");
my $previewButton;# = qq{
# <INPUT TYPE="button" VALUE="Preview" NAME="preview"
# OnClick="
# window.open('', 'navPreview', 'toolbar=no,status=no,location=no,scrollbars=yes,resizable=yes');
# this.form.func.value='preview';
# this.form.target = 'navPreview';
# this.form.submit()">};
my $saveButton = ' <input type="button" class="forwardButton" value="'.$i18n->get(62,'WebGUI').'" onclick="
this.value=\''.$i18n->get(452,'WebGUI').'\';
this.form.func.value=\'editSave\';
this.form.target=\'_self\';
this.form.submit();
" />';
$tabform->{_submit} = $previewButton." ".$saveButton;
return $tabform; return $tabform;
} }

View file

@ -483,7 +483,7 @@ sub getFeed {
$feed->description( $self->get('feedDescription') || $self->get('synopsis') ); $feed->description( $self->get('feedDescription') || $self->get('synopsis') );
$feed->pubDate( $self->getContentLastModified ); $feed->pubDate( $self->getContentLastModified );
$feed->copyright( $self->get('feedCopyright') ); $feed->copyright( $self->get('feedCopyright') );
$feed->link( $self->getUrl ); $feed->link( $self->session->url->getSiteURL . $self->getUrl );
# $feed->language( $lang ); # $feed->language( $lang );
if ($self->get('feedImage')) { if ($self->get('feedImage')) {
my $storage = WebGUI::Storage->get($self->session, $self->get('feedImage')); my $storage = WebGUI::Storage->get($self->session, $self->get('feedImage'));

View file

@ -821,6 +821,11 @@ sub newByLineage {
$class = $assetLineage->{$lineage}{class}; $class = $assetLineage->{$lineage}{class};
unless ($id && $class) { unless ($id && $class) {
($id,$class) = $session->db->quickArray("select assetId, className from asset where lineage=?",[$lineage]); ($id,$class) = $session->db->quickArray("select assetId, className from asset where lineage=?",[$lineage]);
if (!$id || !$class) {
$session->errorHandler->error("Couldn't instantiate asset from lineage: ".$lineage. ": class name or assetId missing");
return undef;
}
return undef if !$id || !$class;
$assetLineage->{$lineage}{id} = $id; $assetLineage->{$lineage}{id} = $id;
$assetLineage->{$lineage}{class} = $class; $assetLineage->{$lineage}{class} = $class;
$session->stow->set("assetLineage",$assetLineage); $session->stow->set("assetLineage",$assetLineage);

View file

@ -21,6 +21,7 @@ our $HELP = {
'required' => 1, 'required' => 1,
}, },
{ 'name' => 'formMenuTitle', }, { 'name' => 'formMenuTitle', },
{ 'name' => 'formSynopsis', },
{ 'name' => 'formLocation', }, { 'name' => 'formLocation', },
{ 'name' => 'formDescription', }, { 'name' => 'formDescription', },
{ 'name' => 'formGroupToView', }, { 'name' => 'formGroupToView', },

View file

@ -27,9 +27,9 @@ Macro for displaying the output of an Asset in another location.
=head3 url | assetId =head3 url | assetId
My specify either the asset url or the asset id. If no Asset with that URL or id can be found, an internationalized error message will be returned instead. Specify either the asset url or the asset id. If no Asset with that URL or id can be found, an internationalized error message will be returned instead.
No editing controls (toolbar) will be displayed in the Asset output, even if Admin is turned on. Editing controls (toolbar) may or may not be displayed in the Asset output, even if Admin is turned on.
The Not Found Page may not be Asset Proxied. The Not Found Page may not be Asset Proxied.

View file

@ -409,7 +409,7 @@ sub www_selectPaymentGateway {
# Complete Transaction if it's a $0 transaction. # Complete Transaction if it's a $0 transaction.
my $total = $cart->calculateTotal; my $total = $cart->calculateTotal;
if (($total + $cart->calculateShopCreditDeduction($total)) == 0) { if (sprintf('%.2f', $total + $cart->calculateShopCreditDeduction($total)) eq '0.00') {
my $transaction = WebGUI::Shop::Transaction->create($session, {cart => $cart}); my $transaction = WebGUI::Shop::Transaction->create($session, {cart => $cart});
$transaction->completePurchase('zero', 'success', 'success'); $transaction->completePurchase('zero', 'success', 'success');
$cart->onCompletePurchase; $cart->onCompletePurchase;

View file

@ -35,6 +35,11 @@ our $I18N = {
lastUpdated => 1171067211, lastUpdated => 1171067211,
}, },
'formSynopsis' => {
message => q|HTML form for entering or editing the Event Synopsis.|,
lastUpdated => 1171067211,
},
'formLocation' => { 'formLocation' => {
message => q|HTML form for entering or editing the Event Location.|, message => q|HTML form for entering or editing the Event Location.|,
lastUpdated => 1171067211, lastUpdated => 1171067211,
@ -695,6 +700,127 @@ be useful, others may not.|,
lastUpdated => 1204668000, lastUpdated => 1204668000,
}, },
'No specific time' => {
message => q{No specific time (all day event)},
lastUpdated => 1257188155,
},
'Specific start/end time' => {
message => q{Specific start/end time},
lastUpdated => 1257188155,
},
'day' => {
message => q{day},
lastUpdated => 1257188155,
},
'Daily' => {
message => q{Daily},
lastUpdated => 1257188155,
context => q{An event that occurs every day},
},
'Weekday(s)' => {
message => q{Weekday(s)},
lastUpdated => 1257188155,
context => q{May occur on one or more weekdays (Monday through Friday)},
},
'Weekly' => {
message => q{Weekly},
lastUpdated => 1257188155,
},
'Monthly' => {
message => q{Monthly},
lastUpdated => 1257188155,
},
'Yearly' => {
message => q{Yearly},
lastUpdated => 1257188155,
},
'first' => {
message => q{first},
lastUpdated => 1257188155,
},
'second' => {
message => q{second},
lastUpdated => 1257188155,
},
'third' => {
message => q{third},
lastUpdated => 1257188155,
},
'fourth' => {
message => q{fourth},
lastUpdated => 1257188155,
},
'last' => {
message => q{last},
lastUpdated => 1257188155,
},
'of' => {
message => 'of',
lastUpdated => 0,
},
'No end' => {
message => 'No end',
lastUpdated => 0,
},
'By date' => {
message => 'By date',
lastUpdated => 0,
},
'After' => {
message => 'After',
lastUpdated => 0,
},
'occurences' => {
message => 'occurences',
lastUpdated => 0,
},
'Every' => {
message => 'Every',
lastUpdated => 0,
},
'Every N weeks on' => {
message => 'Every %s week(s) on',
lastUpdated => 0,
context => '%s is filled with an HTML Form control',
},
'Every N months on' => {
message => 'Every %s month(s) on',
lastUpdated => 0,
context => '%s is filled with an HTML Form control',
},
'Every N years on' => {
message => 'Every %s year(s) on',
lastUpdated => 0,
context => '%s is filled with an HTML Form control',
},
'week on' => {
message => 'week on',
lastUpdated => 0,
context => 'follows a select list with ordinals, first, second, etc. To form the phrase, First week on, Second week on',
},
}; };
1; 1;

View file

@ -17,7 +17,7 @@ use WebGUI::Session;
use WebGUI::User; use WebGUI::User;
use WebGUI::Asset; use WebGUI::Asset;
use Test::More tests => 90; # increment this value for each test you create use Test::More tests => 92; # increment this value for each test you create
use Test::Deep; use Test::Deep;
# Test the methods in WebGUI::AssetLineage # Test the methods in WebGUI::AssetLineage
@ -388,16 +388,19 @@ my $snippet4 = WebGUI::Asset->newByLineage($session, $snippets[4]->get('lineage'
is ($snippet4->getId, $snippets[4]->getId, 'newByLineage returns correct Asset'); is ($snippet4->getId, $snippets[4]->getId, 'newByLineage returns correct Asset');
$snippet4 = WebGUI::Asset->newByLineage($session, $snippets[4]->get('lineage')); $snippet4 = WebGUI::Asset->newByLineage($session, $snippets[4]->get('lineage'));
is ($snippet4->getId, $snippets[4]->getId, 'newByLineage: cached lookup'); is ($snippet4->getId, $snippets[4]->getId, '... cached lookup');
my $cachedLineage = $session->stow->get('assetLineage'); my $cachedLineage = $session->stow->get('assetLineage');
delete $cachedLineage->{$snippet4->get('lineage')}->{id}; delete $cachedLineage->{$snippet4->get('lineage')}->{id};
my $snippet4 = WebGUI::Asset->newByLineage($session, $snippets[4]->get('lineage')); my $snippet4 = WebGUI::Asset->newByLineage($session, $snippets[4]->get('lineage'));
is ($snippet4->getId, $snippets[4]->getId, 'newByLineage: failing id cache forces lookup'); is ($snippet4->getId, $snippets[4]->getId, '... failing id cache forces lookup');
delete $cachedLineage->{$snippet4->get('lineage')}->{class}; delete $cachedLineage->{$snippet4->get('lineage')}->{class};
my $snippet4 = WebGUI::Asset->newByLineage($session, $snippets[4]->get('lineage')); my $snippet4 = WebGUI::Asset->newByLineage($session, $snippets[4]->get('lineage'));
is ($snippet4->getId, $snippets[4]->getId, 'newByLineage: failing class cache forces lookup'); is ($snippet4->getId, $snippets[4]->getId, '... failing class cache forces lookup');
is(WebGUI::Asset->newByLineage($session, 'notALineage'), undef, '... returns undef');
ok(!exists $session->stow->get('assetLineage')->{assetLineage}, '... no entry for the bad lineage in stow');
#################################################### ####################################################
# #

View file

@ -222,6 +222,7 @@ $templateMock->mock('process', sub { $templateVars = $_[1]; } );
'isPackage' => ignore(), 'isPackage' => ignore(),
'usePackedHeadTags' => ignore(), 'usePackedHeadTags' => ignore(),
'encryptPage' => ignore(), 'encryptPage' => ignore(),
'eventMetaData' => ignore(),
'tagId' => ignore(), 'tagId' => ignore(),
'seatsAvailable' => '5', 'seatsAvailable' => '5',
'revisedBy' => ignore(), 'revisedBy' => ignore(),
@ -263,6 +264,7 @@ $templateMock->mock('process', sub { $templateVars = $_[1]; } );
'usePackedHeadTags' => ignore(), 'usePackedHeadTags' => ignore(),
'encryptPage' => ignore(), 'encryptPage' => ignore(),
'tagId' => ignore(), 'tagId' => ignore(),
'eventMetaData' => ignore(),
'seatsAvailable' => '3', 'seatsAvailable' => '3',
'revisedBy' => ignore(), 'revisedBy' => ignore(),
'isExportable' => ignore(), 'isExportable' => ignore(),

View file

@ -103,7 +103,7 @@ cmp_deeply(
methods( methods(
title => 'Dummy Title', title => 'Dummy Title',
description => 'Dummy Synopsis', ##Not description description => 'Dummy Synopsis', ##Not description
link => '/home/shawshank', link => $session->url->getSiteURL . '/home/shawshank',
copyright => undef, copyright => undef,
), ),
'... title, description, link inherit from asset by default, copyright unset' '... title, description, link inherit from asset by default, copyright unset'
@ -139,7 +139,7 @@ cmp_deeply(
methods( methods(
title => 'Rita Hayworth and the Shawshank Redemption', title => 'Rita Hayworth and the Shawshank Redemption',
description => 'A good movie, providing loads of testing collateral', description => 'A good movie, providing loads of testing collateral',
link => '/home/shawshank', link => $session->url->getSiteURL . '/home/shawshank',
copyright => 'copyright 2009 Plain Black Corporation', copyright => 'copyright 2009 Plain Black Corporation',
), ),
'... feed settings override asset defaults, copyright' '... feed settings override asset defaults, copyright'