Merge branch 'master' into passive_analytics_without_flux

* master:
  Fixed Survey Take template
  Squashed commit of the following: (from survey-rfe branch)
  Fix a POD typo.
  correct inbox message from user preface
  Fix a typo in the Default gallery view template
  Documentation bug in buildArrayRefOfHashRefs
  changed screenshots in Matrix Listing view to popup
  matrix privileging fixes
  Fix an i18n typo in the Post user defined variables.
  Remove debugging code.
  approval workflow fix
  matrix upgrade and privileging fixes
  fixed: Template parser cannot be set
  forward porting gallery bug fixes
  preparing for 7.7.0 dev
  parser should be a selectbox, not a selectlist.
  labeling survey as beta
  fixeding my borkes to the changelog
  fixed #9852: Users can accept private messages from Visitor, but Visitor cannot send messages
This commit is contained in:
Patrick Donelan 2009-03-11 18:53:58 +11:00
commit 634706efc1
59 changed files with 3833 additions and 2403 deletions

View file

@ -328,7 +328,7 @@ sub www_removeFriend {
#-------------------------------------------------------------------
=head2 www_removeFriend ( )
=head2 www_removeFriendConfirm ( )
This is a confirmation page of whether or not the user wishes to remove the selected user from friend

View file

@ -58,6 +58,43 @@ sub addRevision {
return $newSelf;
}
#----------------------------------------------------------------------------
=head2 canAdd ( )
Override canAdd to ignore its permissions check. Permissions are handled
by the parent Matrix.
=cut
sub canAdd {
return 1;
}
#----------------------------------------------------------------------------
=head2 canEdit ( )
Returns true if the user can edit this asset. C<userId> is a WebGUI user ID.
Users can edit this Matrix listing if they are the owner, or if they can edit
the parent Matrix.
=cut
sub canEdit {
my $self = shift;
if ( $self->session->form->process("assetId") eq "new" ) {
return $self->getParent->canAddMatrixListing();
}
else {
return 1 if $self->session->user->userId eq $self->get("ownerUserId");
return $self->getParent->canEdit();
}
}
#-------------------------------------------------------------------
=head2 definition ( session, definition )
@ -327,7 +364,7 @@ sub getEditForm {
$form->raw(
'<tr><td COLSPAN=2>'.
WebGUI::Form::Button($session, {}).
WebGUI::Form::Submit($session, {}).
WebGUI::Form::Button($session, {
-value => $i18n->get('cancel', 'WebGUI'),
-extras => q|onclick="history.go(-1);" class="backwardButton"|
@ -580,6 +617,14 @@ sub view {
if ($emailSent){
$var->{emailSent} = 1;
}
unless($self->hasBeenCommitted){
my $workflowInstanceId = $db->quickScalar("select workflowInstanceId from assetVersionTag where tagId =?"
,[$self->get('tagId')]);
$var->{canApprove} = $self->getParent->canEdit;
$var->{approveOrDenyUrl} = $self->getUrl("op=manageRevisionsInTag;workflowInstanceId=".$workflowInstanceId
.";tagId=".$self->get('tagId'));
}
$var->{canEdit} = $self->canEdit;
$var->{editUrl} = $self->getUrl("func=edit");
$var->{controls} = $self->getToolbar;
@ -647,33 +692,10 @@ sub view {
my $storage = $file->getStorageLocation;
my @files;
@files = @{ $storage->getFiles } if (defined $storage);
$var->{screenshots} = qq|
<script type="text/javascript" src="/extras/ukplayer/swfobject.js"></script>
<script type="text/javascript">
swfobject.registerObject("myFlashContent","9.0.0","/extras/ukplayer/expressInstall.swf");
</script>
<div>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="400" height="300" id="myFlashContent">
<param name="movie" value="/extras/ukplayer/slideShow.swf" />
<param name="flashvars" value="config=?func=getScreenshotsConfig" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="/extras/ukplayer/slideShow.swf" width="400"
height="300">
<param name="flashvars" value="config=?func=getScreenshotsConfig" />
<!--<![endif]-->
<a href="http:/www.adobe.com/go/getflashplayer">
<img src="http:/www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe
Flash player" />
</a>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
|;
$var->{screenshotsUrl} = $self->getUrl('func=viewScreenshots');
$var->{screenshotThumbnail} = $storage->getUrl('thumb-'.$files[0]);
}
# Rating form
my %rating;
@ -835,12 +857,14 @@ Web facing method which is the default edit page
sub www_edit {
my $self = shift;
return $self->session->privilege->noAccess() unless $self->getParent->canAddMatrixListing();
my $i18n = WebGUI::International->new($self->session, "Asset_MatrixListing");
return $self->session->privilege->insufficient() unless $self->canEdit;
return $self->session->privilege->locked() unless $self->canEditIfLocked;
if($self->session->form->process('func') eq 'add'){
return $self->session->privilege->noAccess() unless $self->getParent->canAddMatrixListing();
}else{
return $self->session->privilege->insufficient() unless $self->canEdit;
return $self->session->privilege->locked() unless $self->canEditIfLocked;
}
my $var = $self->get;
my $matrix = $self->getParent;
@ -930,9 +954,7 @@ sub www_getScreenshots {
my $thumb = 'thumb-'.$file;
$xml .= "
<slide>
<width>400</width>
<height>300</height>
<title><![CDATA[<b>Slide</b> One]]></title>
<title></title>
<description><![CDATA[ Screenshots ]]></description>
<image_source>".$storage->getUrl($file)."</image_source>
<duration>5</duration>
@ -960,56 +982,14 @@ Returns the xml config file for the ukplayer that displays the screenshots.
=cut
sub www_getScreenshotsConfig {
my $self = shift;
my $self = shift;
my $var = $self->get;
return $self->session->privilege->noAccess() unless $self->canView;
$self->session->http->setMimeType('text/xml');
my $xml = qq|<?xml version="1.0" encoding="UTF-8"?>
<config>
<content_url>?func=getScreenshots</content_url>
<width>400</width><!-- this value is overwritten by the flashVars but the tag needs to be here (and it is
useful for offline testing) -->
<height>300</height><!-- this value is overwritten by the flashVars but the tag needs to be here (and it is
useful for offline testing) -->
<background_color>0xDDDDEE</background_color>
<default_duration>20</default_duration>
<default_slidewidth>100</default_slidewidth>
<default_slideheight>100</default_slideheight>
<font>Verdana</font>
<font_size>12</font_size>
<font_color>0xCCCCCC</font_color>
<text_border_color>0xCCCCCC</text_border_color>
<text_bg_color>0x000000</text_bg_color>
<text_autohide>true</text_autohide>
<controls_color>0xCCCCCC</controls_color>
<controls_border_color>0xCCCCCC</controls_border_color>
<controls_bg_color>0x000000</controls_bg_color>
<controls_autohide>false</controls_autohide>
<thumbnail_width>48</thumbnail_width>
<thumbnail_height>36</thumbnail_height>
<thumbnail_border_color>0x000000</thumbnail_border_color>
<menu_autohide>true</menu_autohide>
<menu_dead_zone_width>100</menu_dead_zone_width>
<menu_gaps>5</menu_gaps>
<mute_at_start>false</mute_at_start>
<autostart>true</autostart>
<autopause>false</autopause>
<loop>false</loop>
<error_message_content><![CDATA[XML not found: ]]></error_message_content>
<error_message_image><![CDATA[Image not found]]></error_message_image>
</config>
|;
return $xml;
return $self->processTemplate($var,$self->getParent->get("screenshotsConfigTemplateId"));
}
#-------------------------------------------------------------------
@ -1117,7 +1097,24 @@ sub www_view {
return $self->view;
}
#-------------------------------------------------------------------
=head2 www_viewScreenshots ( )
Returns this listing's screenshots in a ukplayer.
=cut
sub www_viewScreenshots {
my $self = shift;
my $var = $self->get;
$var->{configUrl} = 'config='.$self->getUrl("func=getScreenshotsConfig");
return $self->session->privilege->noAccess() unless $self->canView;
return $self->processTemplate($var,$self->getParent->get("screenshotsTemplateId"));
}
1;
#vim:ft=perl

View file

@ -88,7 +88,7 @@ sub definition {
},
parser => {
noFormPost => 1,
fieldType => 'selectList',
fieldType => 'selectBox',
defaultValue => [$session->config->get("defaultTemplateParser")],
},
namespace => {
@ -144,6 +144,7 @@ sub processPropertiesFromFormPost {
my %data;
my $needsUpdate = 0;
if ($self->getValue("parser") ne $self->session->form->process("parser","className") && ($self->session->form->process("parser","className") ne "")) {
$needsUpdate = 1;
if (isIn($self->session->form->process("parser","className"),@{$self->session->config->get("templateParsers")})) {
%data = ( parser => $self->session->form->process("parser","className") );
} else {

View file

@ -1104,6 +1104,7 @@ sub www_addAlbumService {
description => $form->get('synopsis','textarea'),
synopsis => $form->get('synopsis','textarea'),
othersCanAdd => $form->get('othersCanAdd','yesNo'),
ownerUserId => $session->user->userId,
});
$album->requestAutoCommit;

View file

@ -1019,6 +1019,7 @@ sub www_addFileService {
title => $form->get('title','text'),
description => $form->get('synopsis','textarea'),
synopsis => $form->get('synopsis','textarea'),
ownerUserId => $session->user->userId,
});
my $storage = $file->getStorageLocation;

View file

@ -30,10 +30,46 @@ Returns true if able to add MatrixListings.
sub canAddMatrixListing {
my $self = shift;
my $user = $self->session->user;
return 0 if $self->session->user->isVisitor;
# Users in the groupToAdd group can add listings
if ( $user->isInGroup( $self->get("groupToAdd") ) ) {
return 1;
}
# Users who can edit matrix can add listings
else {
return $self->canEdit;
}
return 1;
}
#----------------------------------------------------------------------------
=head2 canEdit ( [userId] )
Returns true if the user can edit this Matrix.
Also checks if a user is adding a Matrix Listing and allows them to if they are
part of the C<groupToAdd> group.
=cut
sub canEdit {
my $self = shift;
my $userId = shift || $self->session->user->userId;
my $form = $self->session->form;
if ( $form->get('func') eq "editSave" && $form->get('assetId') eq "new" && $form->get( 'class' )->isa(
'WebGUI::Asset::MatrixListing' ) ) {
return $self->canAddMatrixListing();
}
else {
if ($userId eq $self->get("ownerUserId")) {
return 1;
}
my $user = WebGUI::User->new($self->session, $userId);
return $user->isInGroup($self->get("groupIdEdit"));
}
}
#-------------------------------------------------------------------
@ -94,6 +130,22 @@ sub definition {
hoverHelp =>$i18n->get('edit listing template description'),
label =>$i18n->get('edit listing template label'),
},
screenshotsTemplateId=>{
defaultValue =>"matrixtmpl000000000006",
fieldType =>"template",
tab =>"display",
namespace =>"Matrix/Screenshots",
hoverHelp =>$i18n->get('screenshots template description'),
label =>$i18n->get('screenshots template label'),
},
screenshotsConfigTemplateId=>{
defaultValue =>"matrixtmpl000000000007",
fieldType =>"template",
tab =>"display",
namespace =>"Matrix/ScreenshotsConfig",
hoverHelp =>$i18n->get('screenshots config template description'),
label =>$i18n->get('screenshots config template label'),
},
defaultSort=>{
fieldType =>"selectBox",
tab =>"display",
@ -164,6 +216,13 @@ sub definition {
hoverHelp =>$i18n->get('max comparisons privileged description'),
label =>$i18n->get('max comparisons privileged label'),
},
groupToAdd=>{
fieldType =>"group",
tab =>"security",
defaultValue =>2,
hoverHelp =>$i18n->get('group to add description'),
label =>$i18n->get('group to add label'),
},
submissionApprovalWorkflowId=>{
fieldType =>"workflow",
tab =>"security",
@ -543,7 +602,8 @@ sub view {
}) };
foreach my $pendingListing (@pendingListings){
push (@{ $var->{pending_loop} }, {
url => $pendingListing->getUrl,
url => $pendingListing->getUrl
."?func=view;revision=".$pendingListing->get('revisionDate'),
name => $pendingListing->get('title'),
});
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -14,6 +14,10 @@ our $HELP = {
},
],
variables => [
{ 'name' => 'canEdit' },
{ 'name' => 'editUrl' },
{ 'name' => 'canApprove' },
{ 'name' => 'approveOrDenyUrl' },
{ 'name' => 'screenshots' },
{ 'name' => 'emailForm' },
{ 'name' => 'emailSent' },

View file

@ -220,12 +220,13 @@ sub buildHashRef {
=head2 buildArrayRefOfHashRefs ( sql )
Builds an array reference of hash references of data
from a series of rows. Useful for returning many rows at once.
Builds an array reference of hash references of data from a series of rows.
Useful for returning many rows at once. Each element of the returned array
reference is a hash of column names to column values.
=head3 sql
An SQL query. The query must select at least two columns of data, the first being the key for the hash, the second being the value. If the query selects more than two columns, then the last column will be the value and the remaining columns will be joined together by a colon ":" to form a complex key. If the query selects only one column, then the key and the value will be the same.
An SQL query.
=head3 params

View file

@ -120,6 +120,7 @@ sub acceptsPrivateMessages {
my $userId = shift;
return 0 if ($self->isVisitor); #Visitor can't get private messages
return 0 if ($userId eq "1"); # Visitor can't send private messages
return 0 if ($self->userId eq $userId); #Can't send private messages to yourself
my $pmSetting = $self->profileField('allowPrivateMessages');

View file

@ -0,0 +1,152 @@
package WebGUI::Workflow::Activity::ExpireIncompleteSurveyResponses;
=head1 LEGAL
-------------------------------------------------------------------
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
-------------------------------------------------------------------
=cut
use strict;
use base 'WebGUI::Workflow::Activity';
use WebGUI::Asset;
use WebGUI::DateTime;
use DateTime::Duration;
=head1 NAME
Package WebGUI::Workflow::Activity::ExpireIncompleteSurveyResponses
=head1 DESCRIPTION
This activity deletes the survey responses for which the allowed time has expired and emails the survey user.
=head1 SYNOPSIS
See WebGUI::Workflow::Activity for details on how to use any activity.
=head1 METHODS
These methods are available from this class:
=cut
#-------------------------------------------------------------------
=head2 definition ( session, definition )
See WebGUI::Workflow::Activity::defintion() for details.
=cut
sub definition {
my $class = shift;
my $session = shift;
my $definition = shift;
my $i18n = WebGUI::International->new($session, "Workflow_Activity_ExpireIncompleteSurveyResponses");
push(@{$definition}, {
name => $i18n->get("name"),
properties => {
deleteExpired=>{
fieldType=>"yesNo",
defaultValue=>0,
label=>$i18n->get("Delete expired survey responses"),
hoverHelp=>$i18n->get("delete expired")
},
emailUsers=>{
fieldType=>"yesNo",
defaultValue=>0,
label=>$i18n->get("Email users that responses were deleted"),
hoverHelp=>$i18n->get("email users")
},
emailTemplateId => {
fieldType => "template",
defaultValue => 'ExpireIncResptmpl00001',
namespace => "ExpireIncompleteSurveyResponses",
label => $i18n->get('Email template sent to user'),
hoverHelp => $i18n->get('email template'),
},
from => {
fieldType=>"text",
label=>$i18n->get("from"),
defaultValue=>$session->setting->get("companyEmail"),
hoverHelp=>$i18n->get("from mouse over"),
},
subject => {
fieldType=>"text",
label=>$i18n->get("subject", 'WebGUI'),
defaultValue=>"Expired Survey",
hoverHelp=>$i18n->get("subject mouse over"),
},
}
});
return $class->SUPER::definition($session,$definition);
}
#-------------------------------------------------------------------
=head2 execute ( [ object ] )
Finds all the expired Survey Responses on the system. If delete is selected, they are removed. Then if
email is selected, the users are emailed the template.
=cut
sub execute {
my $self = shift;
my $session = $self->session;
my $sql = "select r.Survey_responseId, r.username, r.userId, upd.email,upd.firstName,upd.lastName, r.startDate, s.timeLimit, ad.title, ad.url
from Survey s, Survey_response r, assetData ad, userProfileData upd
where r.isComplete = 0 and s.timeLimit > 0 and (unix_timestamp() - r.startDate) > (s.timeLimit * 60)
and r.assetId = s.assetId and s.revisionDate = (select max(revisionDate) from Survey where assetId = s.assetId)
and ad.assetId = s.assetId and ad.revisionDate = s.revisionDate and upd.userId = r.userId";
my $refs = $self->session->db->buildArrayRefOfHashRefs($sql);
for my $ref (@{$refs}) {
if($self->get("deleteExpired") == 1){
$self->session->db->write("delete from Survey_response where Survey_responseId = ?",[$ref->{Survey_responseId}]);
}else{#else sent to expired but not deleted
$self->session->db->write("update Survey_response set isComplete = 99 where Survey_responseId = ?",[$ref->{Survey_responseId}]);
}
if($self->get("emailUsers") == 1 && $ref->{email} =~ /\@/){
my $var = {
to => $ref->{email},
from => $self->get("from"),
firstName => $ref->{firstName},
lastName => $ref->{lastName},
surveyTitle => $ref->{title},
surveyUrl => $ref->{url},
responseId => $ref->{Survey_responseId},
deleted => $self->get("deleteExpired"),
companyName => $self->session->setting->get("companyName"),
};
my $template = WebGUI::Asset->newByDynamicClass($self->session,$self->get('emailTemplateId'));
my $message = $template->processTemplate($var, $self->get("emailTemplateId"));
WebGUI::Macro::process($self->session,\$message);
my $mail = WebGUI::Mail::Send->create($self->session,{
to => $ref->{email},
subject => $self->get("subject"),
from => $self->get('from'),
});
$mail->addHtml($message);
$mail->addFooter;
$mail->queue;
}
}
return $self->COMPLETE;
}
1;

View file

@ -342,8 +342,10 @@ sub setMessageCompleted {
# Set all messages to completed
for my $messageId ( split /,/, $instance->getScratch("messageId") ) {
my $message = $inbox->getMessage( $messageId );
$message->setCompleted;
if($messageId){
my $message = $inbox->getMessage( $messageId );
$message->setCompleted;
}
}
$instance->deleteScratch( "messageId" );

View file

@ -372,6 +372,11 @@ listing,|,
lastUpdated => 0,
},
'group to add description' => {
message => q|Select the group that is allowed to add listings to this matrix.|,
lastUpdated => 0,
},
'ratings duration description' => {
message => q|Select the interval after which old ratings are cleaned out.|,
lastUpdated => 0,
@ -476,6 +481,16 @@ listing,|,
message => q|Select a template to be used to show the listing edit screen.|,
lastUpdated => 0,
},
'screenshots template description' => {
message => q|Select a template to be used to show a listing's screenshots.|,
lastUpdated => 0,
},
'screenshots config template description' => {
message => q|Select a template for a listing's screenshots configuration.|,
lastUpdated => 0,
},
'categories label' => {
message => q|Categories|,
@ -487,6 +502,11 @@ listing,|,
lastUpdated => 0,
},
'group to add label' => {
message => q|Group To Add|,
lastUpdated => 0,
},
'ratings duration label' => {
message => q|Ratings Duration|,
lastUpdated => 0,
@ -602,6 +622,16 @@ listing,|,
lastUpdated => 0,
},
'screenshots template label' => {
message => q|Listing Screenshots Template|,
lastUpdated => 0,
},
'screenshots config template label' => {
message => q|Listing Screenshots Config Template|,
lastUpdated => 0,
},
'edit listing template label' => {
message => q|Edit Listing Template|,
lastUpdated => 0,
@ -750,6 +780,12 @@ selectBox.</p>|
message => q|Hide/show stickied|,
},
'approve or deny label' => {
lastUpdated => 0,
message => q|Approve/Deny|,
context => q|Label for the approve or deny link on the matrix listing detail screen.|,
},
'matrix asset template variables title' => {
lastUpdated => 0,
message => q|Matrix Asset Template Variables|,

View file

@ -44,6 +44,11 @@ fields below.|,
lastUpdated => 0,
},
'edit label' => {
message => q|Edit|,
lastUpdated => 0,
},
'version description' => {
message => q|Enter the version/edition/model number for the product.|,
lastUpdated => 0,
@ -221,6 +226,30 @@ it would be best to make sure the names are the same.|,
context => q|Description of the form tmpl_var for the template help.|,
},
'canEdit' => {
message => q|A boolean indicating whether the user can edit this listing.|,
lastUpdated => 0,
context => q|Description of the screenshots tmpl_var for the template help.|,
},
'editUrl' => {
message => q|The url to this listing's edit screen.|,
lastUpdated => 0,
context => q|Description of the screenshots tmpl_var for the template help.|,
},
'canApprove' => {
message => q|A boolean indicating whether the user can approve or deny this listing.|,
lastUpdated => 0,
context => q|Description of the screenshots tmpl_var for the template help.|,
},
'approveOrDenyUrl' => {
message => q|The url to this listing's approve or deny screen.|,
lastUpdated => 0,
context => q|Description of the screenshots tmpl_var for the template help.|,
},
'screenshots' => {
message => q|This listings screenshots displayed using the ukplayer.|,
lastUpdated => 0,

View file

@ -487,8 +487,8 @@ editing an existing Post, and a thread containing the Post exists.|,
},
'userDefined3' => {
message => q|The value contained in the first user defined variable.|,
lastUpdated => 1150167057,
message => q|The value contained in the third user defined variable.|,
lastUpdated => 1236354498,
},
'userDefined4' => {

View file

@ -4,8 +4,8 @@ use strict;
our $I18N = {
'assetName' => {
message => q|Survey|,
lastUpdated => 1224686319
message => q|Survey (beta)|,
lastUpdated => 1236187015
},
'edit survey' => {
message => q|Edit Survey|,
@ -31,6 +31,10 @@ our $I18N = {
message => q|View Grade Book|,
lastUpdated => 1224686319
},
'delete responses' => {
message => q|Delete Responses|,
lastUpdated => 0
},
'continue button' => {
message => q|Continue|,
lastUpdated => 1224686319
@ -83,7 +87,7 @@ our $I18N = {
},
'section name' => {
message => q|Section name:|,
message => q|Section title:|,
lastUpdated => 1224686319
},
'section name description' => {
@ -101,7 +105,7 @@ our $I18N = {
lastUpdated => 0
},
'section custom variable name' => {
message => q|Section custom variable name:|,
message => q|Section variable name:|,
lastUpdated => 1224686319
},
'section custom variable name description' => {
@ -110,7 +114,7 @@ our $I18N = {
lastUpdated => 0
},
'section branch goto variable name' => {
message => q|Section branch goto variable name:|,
message => q|Jump to:|,
lastUpdated => 1224686319
},
'section branch goto variable name description' => {
@ -222,6 +226,10 @@ our $I18N = {
message => q|Question type:|,
lastUpdated => 1224686319
},
'randomized words' => {
message => q|Randomized words:|,
lastUpdated => 1224686319
},
'question type description' => {
message => q|Select this question's field type.|,
context => q|Description of the 'question type' field, used as hoverhelp in the edit question dialog.|,
@ -256,21 +264,21 @@ our $I18N = {
context => q|Description of the 'allow comment' field, used as hoverhelp in the edit question dialog.|,
lastUpdated => 0
},
'cols' => {
message => q|Cols:|,
'comment cols' => {
message => q|Comment Cols:|,
lastUpdated => 1224686319
},
'cols description' => {
message => q|The number of columns of the textarea input.|,
message => q|The number of columns used for the comment TextArea input field.|,
context => q|Description of the 'cols' field, used as hoverhelp in the edit question dialog.|,
lastUpdated => 0
},
'rows' => {
message => q|Rows:|,
'comment rows' => {
message => q|Comment Rows:|,
lastUpdated => 1224686319
},
'rows description' => {
message => q|The number of rows of the textarea input.|,
message => q|The number of rows shown for the comment TextArea input field.|,
context => q|Description of the 'rows' field, used as hoverhelp in the edit question dialog.|,
lastUpdated => 0
},
@ -325,11 +333,11 @@ our $I18N = {
lastUpdated => 0
},
'recorded answer' => {
message => q|Recorded answer:|,
message => q|Answer title:|,
lastUpdated => 1224686319
},
'recorded answer description' => {
message => q|The answer that will be recorded in the database. The recorded answer will be displayed in a multiple choice question's buttons, only if the question's 'Show text in button' property is set to yes. Otherwise the multiple choice buttons will be empty. |,
message => q|Text to display inside multiple-choice answer buttons (only if 'Show text in button' is enabled for this question).|,
context => q|Description of the 'recorded answer' field, used as hoverhelp in the edit answer dialog.|,
lastUpdated => 0
},
@ -337,13 +345,22 @@ our $I18N = {
message => q|Jump to:|,
lastUpdated => 1224686319
},
'jump expression' => {
message => q|Jump expression:|,
lastUpdated => 1229318805
},
'jump to description' => {
message => q|The section or question with this variable name will be the next to be displayed after this answer.|,
context => q|Description of the 'jump to' field, used as hoverhelp in the edit answer dialog.|,
lastUpdated => 0
},
'jump expression description' => {
message => q|An expression used to control complex branching based user responses to previous questions. A branch expression is made up of a list of rules, one per line, along with a branch target for each rule. |,
context => q|Description of the 'jump expression' field, used as hoverhelp in the edit answer dialog.|,
lastUpdated => 0
},
'text answer' => {
message => q|Text answer|,
message => q|TextArea|,
lastUpdated => 1224686319
},
'is this the correct answer' => {
@ -363,30 +380,30 @@ our $I18N = {
message => q|No|,
lastUpdated => 1224686319
},
'min' => {
message => q|Min|,
'min label' => {
message => q|Slider Min|,
lastUpdated => 1224686319
},
'min description' => {
message => q|Set the min value of this answer for slider type questions.|,
message => q|The minimum value of this answer for slider type questions.|,
context => q|Description of the 'min' field, used as hoverhelp in the edit answer dialog.|,
lastUpdated => 0
},
'max label' => {
message => q|Max|,
message => q|Slider Max|,
lastUpdated => 1224686319
},
'max description' => {
message => q|Set the max value of this answer for slider type questions.|,
message => q|The maximum value of this answer for slider type questions.|,
context => q|Description of the 'max' field, used as hoverhelp in the edit answer dialog.|,
lastUpdated => 0
},
'step label' => {
message => q|Step|,
message => q|Slider Step|,
lastUpdated => 1224686319
},
'step description' => {
message => q|Set the step value of this answer for slider type questions.|,
message => q|The step value of this answer for slider type questions.|,
context => q|Description of the 'step' field, used as hoverhelp in the edit answer dialog.|,
lastUpdated => 0
},
@ -395,7 +412,7 @@ our $I18N = {
lastUpdated => 1224686319
},
'verbatim description' => {
message => q|Set to yes to add an extra text input to the answer, where the user can enter a single line of text.|,
message => q|Set to yes to add an extra text input to the answer, where the user can enter a single line of text. Typically used to permit a free-text 'other' response.|,
context => q|Description of the 'verbatim' field, used as hoverhelp in the edit answer dialog.|,
lastUpdated => 0
},
@ -404,7 +421,7 @@ our $I18N = {
lastUpdated => 1224686319
},
'answer value description' => {
message => q|Enter a value for this answer.|,
message => q|Assign a numeric scores to this answers. Used in question scoring and jump expressions.|,
context => q|Description of the 'answer value' field, used as hoverhelp in the edit answer dialog.|,
lastUpdated => 0
},
@ -429,7 +446,35 @@ our $I18N = {
message => q|The template to display the main page of the survey.|,
lastUpdated => 0,
},
'do after timelimit label' => {
message => q|Do After Time Limit:|,
lastUpdated => 1224686319,
context => q|label for the 'do after timelimit' field on the Properties tab of the Survey's edit screen.|,
},
'do after timelimit hoverHelp' => {
message => q|Select what happens after the time limit for finishing the survey has expired.|,
lastUpdated => 1231193335,
context => q|description of the 'do after timelimit' field on the Properties tab of the Survey's edit
screen|,
},
'exit url label' =>{
message => q|Exit URL|,
lastUpdated => 0,
context => q|Label for the 'exit url' option of the 'do after timelimit' field on the Properties tab of the
Survey's edit screen|,
},
'restart survey label' =>{
message => q|Restart Survey|,
lastUpdated => 0,
context => q|Label for the 'restart survey' option of the 'do after timelimit' field on the Properties tab of the
Survey's edit screen|,
},
'restart message' =>{
message => q|The survey was restarted because the time limit for completing the survey was reached.|,
lastUpdated => 0,
context => q|The message shown to the user taking the survey when the survey is restarted after reaching
the time limit for completing the survey. This message is in the 'take survey' template.|,
},
'Show user their progress' => {
message => q|Show user their progress?|,
lastUpdated => 0,
@ -489,6 +534,36 @@ our $I18N = {
message => q|When the user finishes the surevey, they will be sent to this URL. Leave blank if no special forwarding is required. The gateway setting from the config file will be automatically added to the URL for you.|,
lastUpdated => 1233714385,
},
'Overview Report Template' => {
message => q|Overview Report Template|,
lastUpdated => 0,
},
'Overview Report Template help' => {
message => q|The template used to display the Overview Report.|,
lastUpdated => 0,
},
'Grabebook Report Template' => {
message => q|Grabebook Report Template|,
lastUpdated => 0,
},
'Grabebook Report Template help' => {
message => q|The template used to display the Gradebook Report|,
lastUpdated => 0,
},
'Survey Edit Template' => {
message => q|Survey Edit Template|,
lastUpdated => 0,
},
'Survey Edit Template help' => {
message => q|The template used to display the Survey Edit screen.|,
lastUpdated => 0,
},
'Max user responses' => {
message => q|Max user responses|,
@ -523,17 +598,6 @@ our $I18N = {
lastUpdated => 0
},
'Response Template' => {
message => q|Response Template|,
context => q|The template for displaying responses to the survey.|,
lastUpdated => 0
},
'Response Template help' => {
message => q|The template for displaying responses to the survey.|,
lastUpdated => 0
},
'Edit Survey Template' => {
message => q|Edit Survey Template|,
context => q|The template for displaying the screen for editing the survey.|,
@ -552,7 +616,7 @@ our $I18N = {
},
'Take Survey Template help' => {
message => q|The template for displaying the screen where a user takes the survey.|,
message => q|The template used to control the initial Take Survey screen, from which responses are dynamically loaded into.|,
lastUpdated => 0
},
@ -563,7 +627,7 @@ our $I18N = {
},
'Questions Template help' => {
message => q|The template for rendering questions in the survey.|,
message => q|The template used to display individual questions, which are dynamically loaded into the Take Survey page.|,
lastUpdated => 0
},
@ -574,7 +638,7 @@ our $I18N = {
},
'Section Edit Template help' => {
message => q|The template for adding or editing sections.|,
message => q|The template used to display the Section Edit dialog on the Edit Survey page.|,
lastUpdated => 0
},
@ -585,7 +649,7 @@ our $I18N = {
},
'Question Edit Template help' => {
message => q|The template for adding or editing questions.|,
message => q|The template used to display the Question Edit dialog on the Edit Survey page.|,
lastUpdated => 0
},
@ -596,7 +660,7 @@ our $I18N = {
},
'Answer Edit Template help' => {
message => q|The template for adding or editing answers.|,
message => q|The template used to display the Answer Edit dialog on the Edit Survey page.|,
lastUpdated => 0
},
@ -859,12 +923,6 @@ directly inside the answer_loop for other types of questions.|,
lastUpdated => 0,
},
'templateId' => {
message => q|The ID of the template to show the Survey.|,
context => q|Description of a template variable for a template Help page.|,
lastUpdated => 1168639537,
},
'groupToTakeSurvey' => {
message => q|The ID of the group that is allowed to take the Survey.|,
context => q|Description of a template variable for a template Help page.|,
@ -883,24 +941,6 @@ directly inside the answer_loop for other types of questions.|,
lastUpdated => 1168643566,
},
'overviewTemplateId' => {
message => q|The ID of the template used to show the overview screen.|,
context => q|Description of a template variable for a template Help page.|,
lastUpdated => 1168643669,
},
'gradebookTemplateId' => {
message => q|The ID of the template used to show the gradebook screen.|,
context => q|Description of a template variable for a template Help page.|,
lastUpdated => 1168643669,
},
'responseTemplateId' => {
message => q|The ID of the template used to show the Survey Response screen.|,
context => q|Description of a template variable for a template Help page.|,
lastUpdated => 1168643669,
},
'survey questions template title' => {
message => q|Survey Questions Template|,
context => q|The title of a template Help page.|,
@ -1227,18 +1267,6 @@ section/answer.|,
lastUpdated => 0,
},
'min' => {
message => q|The min value of this answer for slider type questions.|,
context => q|Description of a template variable for a template Help page.|,
lastUpdated => 0,
},
'max' => {
message => q|The max value of this answer for slider type questions..|,
context => q|Description of a template variable for a template Help page.|,
lastUpdated => 0,
},
'step' => {
message => q|The step value of this answer for slider type questions..|,
context => q|Description of a template variable for a template Help page.|,
@ -1252,13 +1280,13 @@ section/answer.|,
},
'textCols' => {
message => q|The number of columns for textarea answers.|,
message => q|The number of columns for TextArea questions.|,
context => q|Description of a template variable for a template Help page.|,
lastUpdated => 0,
},
'textRows' => {
message => q|The number of rows for textarea answers.|,
message => q|The number of rows for TextArea questions.|,
context => q|Description of a template variable for a template Help page.|,
lastUpdated => 0,
},

View file

@ -4,7 +4,7 @@ use strict;
our $I18N = {
'from user preface' => {
message => q|You were sent a message from |,
message => q|You were sent a message from %s|,
lastUpdated => 0
},
};

View file

@ -0,0 +1,67 @@
package WebGUI::i18n::English::Workflow_Activity_ExpireIncompleteSurveyResponses;
use strict;
our $I18N = {
'name' => {
message => q|ExpireIncompleteSurveyResponses|,
lastUpdated => 0,
},
'Delete expired survey responses' => {
message => q|Delete expired survey responses|,
context => q|the hover help for the delete responses field|,
lastUpdated => 0,
},
'delete expired' => {
message => q|When ran, every survey response which is expired will be completely removed from the database.|,
context => q|the hover help for the delete responses field|,
lastUpdated => 0,
},
'Email users that responses were deleted' => {
message => q|Email users that responses were deleted|,
context => q|the hover help for the email users field|,
lastUpdated => 0,
},
'email users' => {
message => q|When a survey response is deleted, should the user be informed of this via email?|,
context => q|the hover help for the email users field|,
lastUpdated => 0,
},
'email template' => {
message => q|When an email is sent updating the user that their response has been deleted, this is the text that is sent to them.|,
context => q|the hover help for the email template field|,
lastUpdated => 0,
},
'from' => {
message => q|Email from field|,
context => q||,
lastUpdated => 0,
},
'from mouse over' => {
message => q|This is the from field that will show up in the sent email.|,
context => q||,
lastUpdated => 0,
},
'subject' => {
message => q|Email subject field|,
context => q||,
lastUpdated => 0,
},
'subject mouse over' => {
message => q|This is the subject field that will show up in the sent email.|,
context => q||,
lastUpdated => 0,
},
'Email template sent to user' => {
message => q|The template for the email|,
context => q||,
lastUpdated => 0,
},
'email template' => {
message => q|This is the email template that will be sent to the user|,
context => q||,
lastUpdated => 0,
},
};
1;