- Added new registration search and management interface to the EMS.
- Added badge printing support to the EMS.
This commit is contained in:
parent
33a841ba32
commit
66e4b82f8a
8 changed files with 233 additions and 65 deletions
|
|
@ -16,6 +16,10 @@
|
|||
- rfe: Admin bar doesn't resize with the browser
|
||||
- fix: Left Admin Bar overlap problem
|
||||
- Color coded most buttons, green for proceed and red for go back.
|
||||
- Encrypt page now forces SSL and can check for the SSLPROXY pass through
|
||||
variable in addition to the HTTPS variable.
|
||||
- Encrypt page no longer shows up unless SSL mode is enabled in the config
|
||||
file.
|
||||
- fix: A bug where it was possible to delete a system page if it were made
|
||||
the child of a non-system page that you had edit rights to.
|
||||
- api: Added a unified contraints system for the file and image assets.
|
||||
|
|
@ -29,7 +33,6 @@
|
|||
- Added keyword tagging to Wiki.
|
||||
- Upgraded TinyMCE to 2.1.1.1.
|
||||
- Safari 3 and above now fully supported in admin interface.
|
||||
- improved performance of EMS
|
||||
- upgraded YUI to 2.2.2 and YUI-ext to 1.0.1a
|
||||
- Improved error handling in Spectre when WebGUI hands it bad data.
|
||||
- Fixed a problem where Spectre dropped cron jobs that were erroring
|
||||
|
|
@ -57,11 +60,14 @@
|
|||
description from the RSS feed.
|
||||
- Added an index on the userId column of the groupings table to speed up
|
||||
queries for groupIds by userId (instead of the usual userIds by groupId)
|
||||
- fix: bad javascript string escaping in EMS
|
||||
- fix: Unable to upload images or edit listings for Matrix
|
||||
- fix: bad javascript string escaping in EMS
|
||||
- improved performance of EMS
|
||||
- Added import/export mechanism for EMS events.
|
||||
- Removed the long depricated Memcached cache module.
|
||||
- fix: Show edit links on EMS search view without being in Admin group
|
||||
- Added new registration search and management interface to the EMS.
|
||||
- Added badge printing support to the EMS.
|
||||
- Removed the long depricated Memcached cache module.
|
||||
- fix: Fixed a typo in the Article with attachments template (perlDreamer
|
||||
Consulting, LLC)
|
||||
- fix: Order of content position loops in Page Layout (Yung Han Khoe, United Knowledge)
|
||||
|
|
|
|||
15
docs/upgrades/templates-7.4.0/emsbadgeprint.tmpl
Normal file
15
docs/upgrades/templates-7.4.0/emsbadgeprint.tmpl
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
#emsbadgeprintout000000
|
||||
#url: ems-badge-print-out-template
|
||||
#title: Badge Print
|
||||
#namespace:emsbadgeprint
|
||||
#create
|
||||
|
||||
<html><head> </head><body style="background-color: white;">
|
||||
<div style="color: black; background-color: white; width: max-width: 700px; font-family: sans-serif;">
|
||||
<div style="font-size: 33px; margin-top: 101px; text-align: center; font-weight: bold;"><tmpl_var firstName> <tmpl_var lastName></div>
|
||||
<div style="font-size: 21px; margin-top: 34px; text-align: center;"><tmpl_var city></div>
|
||||
<div style="font-size: 21px; margin-top: 12px; text-align: center;"><tmpl_var state></div>
|
||||
<div style="font-size: 10px; margin-top: 6px; text-align: left;"><tmpl_var badgeId></div>
|
||||
<div style="font-size: 21px; height: 26px; background-color: black; color: white; font-variant: small-caps; text-align: center;"><tmpl_var title></div>
|
||||
</div>
|
||||
</body></html>
|
||||
16
docs/upgrades/templates-7.4.0/emsticketprint.tmpl
Normal file
16
docs/upgrades/templates-7.4.0/emsticketprint.tmpl
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#emsticketprintout00000
|
||||
#url: ems-ticket-print-out-template
|
||||
#title: Ticket Print
|
||||
#namespace:emsticketprint
|
||||
#create
|
||||
<html><head> </head><body style="background-color: white;">
|
||||
<div style="color: black; background-color: white; max-width: 700px; font-family: sans-serif;">
|
||||
<div style="font-size: 16px; padding-left: 5px; background-color: black; color: white"><tmpl_var sku>: <tmpl_var title></div>
|
||||
<div style="font-size: 13px;"><tmpl_var location></div>
|
||||
<div style="font-size: 13px; margin-top: 14px; text-align: right;">^D(,<tmpl_var startDate>); - ^D(,<tmpl_var endDate>);</div>
|
||||
<div style="font-size: 16px; font-weight: bold; margin-top: 21px;"><tmpl_var lastName>, <tmpl_var firstName></div>
|
||||
<div style="font-size: 12px; margin-top: 6px; text-align: right; float: right;"><tmpl_var price></div>
|
||||
<div style="font-size: 12px; margin-top: 6px;"><tmpl_var badgeId></div>
|
||||
<div style="font-size: 17px; border: 1px solid black; text-align: center;"><tmpl_var emsTitle></div>
|
||||
</div>
|
||||
</body></html>
|
||||
|
|
@ -40,9 +40,18 @@ addWikiAttachments($session);
|
|||
addAdminConsoleGroupSettings($session);
|
||||
updateCommerce($session);
|
||||
updateProfileDateFormats($session);
|
||||
addEmsBadgePrinting($session);
|
||||
|
||||
finish($session); # this line required
|
||||
|
||||
#-------------------------------------------------
|
||||
sub addEmsBadgePrinting {
|
||||
my $session = shift;
|
||||
print "\tAdding badge printing support to EMS.\n" unless $quiet;
|
||||
$session->db->write("alter table EventManagementSystem add column badgePrinterTemplateId varchar(22) binary not null default 'emsbadgeprintout000000'");
|
||||
$session->db->write("alter table EventManagementSystem add column ticketPrinterTemplateId varchar(22) binary not null default 'emsticketprintout00000'");
|
||||
}
|
||||
|
||||
#-------------------------------------------------
|
||||
# Add the default admin console group settings
|
||||
sub addAdminConsoleGroupSettings {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,10 @@
|
|||
|
||||
"sitename" : [ "www.example.com", "example.com"],
|
||||
|
||||
# Set to 1 if you want to use WebGUI's SSL functions.
|
||||
|
||||
"sslEnabled" : 0,
|
||||
|
||||
# Rename the WebGUI Session cookie if you like.
|
||||
|
||||
"cookieName" : "wgSession",
|
||||
|
|
|
|||
|
|
@ -274,14 +274,20 @@ Returns error messages if a user can't view due to publishing problems, otherwis
|
|||
sub checkView {
|
||||
my $self = shift;
|
||||
return $self->session->privilege->noAccess() unless $self->canView;
|
||||
my ($var, $http) = $self->session->quick(qw(var http));
|
||||
if ($var->isAdminOn && $self->get("state") =~ /^trash/) { # show em trash
|
||||
my ($conf, $env, $var, $http) = $self->session->quick(qw(config env var http));
|
||||
if ($conf->get("sslEnabled") && $self->get("encryptPage") && $env->("HTTPS") ne "on" && !$env->get("SSLPROXY")) {
|
||||
$http->setRedirect("https://".$conf->get("sitename")->[0].$self->getUrl);
|
||||
return "redirect";
|
||||
}
|
||||
elsif ($var->isAdminOn && $self->get("state") =~ /^trash/) { # show em trash
|
||||
$http->setRedirect($self->getUrl("func=manageTrash"));
|
||||
return "redirect";
|
||||
} elsif ($var->isAdminOn && $self->get("state") =~ /^clipboard/) { # show em clipboard
|
||||
}
|
||||
elsif ($var->isAdminOn && $self->get("state") =~ /^clipboard/) { # show em clipboard
|
||||
$http->setRedirect($self->getUrl("func=manageClipboard"));
|
||||
return "redirect";
|
||||
} elsif ($self->get("state") ne "published" && $self->get("state") ne "archived") { # tell em it doesn't exist anymore
|
||||
}
|
||||
elsif ($self->get("state") ne "published" && $self->get("state") ne "archived") { # tell em it doesn't exist anymore
|
||||
$http->setStatus("410");
|
||||
my $notFound = WebGUI::Asset->getNotFound($self->session);
|
||||
$self->session->asset($notFound);
|
||||
|
|
@ -354,12 +360,12 @@ sub definition {
|
|||
defaultValue=>0
|
||||
},
|
||||
encryptPage=>{
|
||||
fieldType=>'yesNo',
|
||||
tab=>"security",
|
||||
label=>$i18n->get('encrypt page'),
|
||||
hoverHelp=>$i18n->get('encrypt page description'),
|
||||
uiLevel=>6,
|
||||
defaultValue=>0
|
||||
fieldType => ($session->config->get("sslEnabled") ? 'yesNo' : 'hidden'),
|
||||
tab => "security",
|
||||
label => $i18n->get('encrypt page'),
|
||||
hoverHelp => $i18n->get('encrypt page description'),
|
||||
uiLevel => 6,
|
||||
defaultValue => 0,
|
||||
},
|
||||
ownerUserId=>{
|
||||
tab=>"security",
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ sub _acWrapper {
|
|||
$ac->addSubmenuItem($self->getUrl('func=search'),$i18n->get("manage events"));
|
||||
$ac->addSubmenuItem($self->getUrl('func=manageEventMetadata'), $i18n->get('manage event metadata'));
|
||||
$ac->addSubmenuItem($self->getUrl('func=managePrereqSets'), $i18n->get('manage prerequisite sets'));
|
||||
$ac->addSubmenuItem($self->getUrl('func=manageRegistrants'), $i18n->get('manage registrants'));
|
||||
$ac->addSubmenuItem($self->getUrl('func=searchBadges'), "Search Badges");
|
||||
$ac->addSubmenuItem($self->getUrl('func=manageDiscountPasses'), $i18n->get('manage discount passes'));
|
||||
$ac->addSubmenuItem($self->getUrl('func=importEvents'), $i18n->get('import events'));
|
||||
$ac->addSubmenuItem($self->getUrl('func=exportEvents'), $i18n->get('export events'));
|
||||
|
|
@ -494,6 +494,20 @@ sub definition {
|
|||
hoverHelp=>$i18n->get('search template description'),
|
||||
label=>$i18n->get('search template')
|
||||
},
|
||||
badgePrinterTemplateId => {
|
||||
fieldType => "template",
|
||||
defaultValue => "emsbadgeprintout000000",
|
||||
tab => "display",
|
||||
namespace => "emsbadgeprint",
|
||||
lable => "Badge Printer Template",
|
||||
},
|
||||
ticketPrinterTemplateId => {
|
||||
fieldType => "template",
|
||||
defaultValue => "emsticketprintout00000",
|
||||
tab => "display",
|
||||
namespace => "emsticketprint",
|
||||
lable => "Ticket Printer Template",
|
||||
},
|
||||
paginateAfter =>{
|
||||
fieldType=>"integer",
|
||||
defaultValue=>10,
|
||||
|
|
@ -3324,7 +3338,7 @@ sub www_returnItem {
|
|||
foreach (@regs) {
|
||||
$self->session->db->write("update EventManagementSystem_registrations set returned=1 where registrationId=?",[$_]);
|
||||
}
|
||||
return $self->www_managePurchases;
|
||||
return $self->www_editBadge;
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
|
@ -3830,7 +3844,6 @@ sub www_search {
|
|||
}
|
||||
my $searchPhrases;
|
||||
if (scalar(@keys)) {
|
||||
#$searchPhrases = " and ( ";
|
||||
my $count = 0;
|
||||
foreach my $word (@keys) {
|
||||
if ($count) {
|
||||
|
|
@ -3841,12 +3854,10 @@ sub www_search {
|
|||
$searchPhrases .= ' and ';
|
||||
}
|
||||
}
|
||||
$searchPhrases .= ' and ' if $count;
|
||||
my $val = $self->session->db->quote('%'.$word.'%');
|
||||
$searchPhrases .= "(p.title like $val or p.description like $val or p.sku like $val)";
|
||||
$count++;
|
||||
}
|
||||
#$searchPhrases .= " )";
|
||||
}
|
||||
my $basicSearch = $searchPhrases;
|
||||
my %reqHash;
|
||||
|
|
@ -4099,7 +4110,7 @@ $self->getUrl('func=addToScratchCart;pid='.$event->{'productId'}.";mid=".$master
|
|||
$var{'price.label'} = $i18n->get("price");
|
||||
$var{'seats.label'} = $i18n->get("seats available");
|
||||
$var{'addToBadgeMessage'} = $addToBadgeMessage;
|
||||
$var{'manageRegistrants'} = $self->getUrl("func=manageRegistrants");
|
||||
$var{'manageRegistrants'} = $self->getUrl("func=searchBadges");
|
||||
$var{'emptyCart.url'} = $self->getUrl("func=emptyCart");
|
||||
$var{'checkout.url'} = $self->getUrl("func=checkout");
|
||||
|
||||
|
|
@ -4181,7 +4192,7 @@ sub view {
|
|||
$var{'managePurchases.url'} = $self->getUrl('func=managePurchases');
|
||||
$var{'managePurchases.label'} = $i18n->get('manage purchases');
|
||||
$var{'canManageEvents'} = $self->canApproveEvents;
|
||||
$var{'manageRegistrants.url'} = $self->getUrl("func=manageRegistrants");
|
||||
$var{'manageRegistrants.url'} = $self->getUrl("func=searchBadges");
|
||||
$var{'emptyCart.url'} = $self->getUrl("func=emptyCart");
|
||||
|
||||
|
||||
|
|
@ -4194,6 +4205,57 @@ sub view {
|
|||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
sub www_searchBadges {
|
||||
my $self = shift;
|
||||
my $session = $self->session;
|
||||
my $db = $session->db;
|
||||
my $query = $session->form->param("query");
|
||||
my $searchForm = WebGUI::Form::formHeader($session, {action=>$self->getUrl})
|
||||
.WebGUI::Form::hidden($session, {name=>"func", value=>"searchBadges"})
|
||||
.WebGUI::Form::text($session, {name=>"query", value=>$query, extras=>q|title="First Name, Last Name, Badge ID, or Email Address"|})
|
||||
.WebGUI::Form::submit($session, {value=>"Search"})
|
||||
.WebGUI::Form::formFooter($session);
|
||||
my $results = "";
|
||||
if ($query ne "") {
|
||||
$session->style->setRawHeadTags(q|
|
||||
<style type="text/css">
|
||||
#badgeSearchResults { font-family: sans-serif; font-size: 12px; }
|
||||
#badgeSearchResults th { font-weight: bold; color: black; background-color: white; text-align: left; }
|
||||
#badgeSearchResults tbody { border: 1px dashed #cccccc; margin-bottom: 3px; }
|
||||
</style>
|
||||
|);
|
||||
$results = "<p>You searched for: <b>$query</b></p>";
|
||||
my $wildQuery = '%'.$query.'%';
|
||||
my $badges = $db->read("select badgeId, lastName, firstName, city, state, email from EventManagementSystem_badges
|
||||
where assetId=? and (lastName like ? or firstName like ? or email like ? or badgeId like ?)
|
||||
order by lastName, firstName", [$self->getId, $wildQuery, $wildQuery, $wildQuery, $wildQuery]);
|
||||
$results .= q|<table id="badgeSearchResults">|;
|
||||
while (my ($badgeId, $last, $first, $city, $state, $email) = $badges->array) {
|
||||
$results .= q|<tbody><tr><th>Name</th><th>Location</th><th>Email</th><th>Badge ID</th></tr>|;
|
||||
$results .= qq|<tr><td><b>$last, $first</b></td><td>$city, $state</td><td>$email</td>
|
||||
<td><a href="|.$self->getUrl("func=editBadge;badgeId=".$badgeId).qq|">$badgeId</a></td></tr>|;
|
||||
$results .= q|<tr><td colspan="4"><hr></td></tr>|;
|
||||
my $events = $db->read(q|select b.productId, c.sku, c.title, c.price, g.gateway,
|
||||
from_unixtime(d.startDate,"%a %M:%i"), from_unixtime(d.endDate,"%a %H:%i")
|
||||
from EventManagementSystem_registrations b left join products c on c.productId=b.productId
|
||||
left join EventManagementSystem_products d ON d.productId=b.productId
|
||||
left join EventManagementSystem_purchases f ON b.purchaseId=f.purchaseId
|
||||
left join transaction g ON f.transactionId=g.transactionId where b.returned='0' and b.badgeId=?
|
||||
order by d.startDate,d.endDate,c.title|,[$badgeId]);
|
||||
while (my ($productId, $sku, $title, $price, $gateway, $start, $end) = $events->array) {
|
||||
$results .= qq|<tr><td colspan="2">$sku : $title</td>
|
||||
<td>$start - $end</td><td style="text-align: right;">($gateway) $price</td></tr>|;
|
||||
}
|
||||
$results .= q|<tr><td colspan="4"><hr></td></tr>|;
|
||||
$results .= q|</tbody>|;
|
||||
}
|
||||
$results .= q|</table>|.$searchForm;
|
||||
}
|
||||
return $self->processStyle("<h1>Search Badges</h1>".$searchForm.$results);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 www_managePrereqSets ( )
|
||||
|
||||
Method to display the prereq set management console.
|
||||
|
|
@ -4325,49 +4387,48 @@ sub www_editPrereqSetSave {
|
|||
return $self->www_managePrereqSets();
|
||||
}
|
||||
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 www_manageRegistrants ( )
|
||||
|
||||
Method to display the registrant management console.
|
||||
|
||||
=cut
|
||||
|
||||
sub www_manageRegistrants {
|
||||
my $self = shift;
|
||||
|
||||
return $self->session->privilege->insufficient unless ($self->canAddEvents);
|
||||
my $i18n = WebGUI::International->new($self->session,'Asset_EventManagementSystem');
|
||||
|
||||
my $output;
|
||||
my $sql = "select * from EventManagementSystem_badges where assetId=? order by lastName, firstName";
|
||||
my $p = WebGUI::Paginator->new($self->session,$self->getUrl('func=manageRegistrants'),50);
|
||||
#$p->setDataByArrayRef($self->session->db->buildArrayRefOfHashRefs($sql),[$self->getId]);
|
||||
$p->setDataByQuery($sql,undef,undef,[$self->getId]);
|
||||
$p->setAlphabeticalKey('lastName');
|
||||
foreach my $badge (@{$p->getPageData}) {
|
||||
$output .= "<div>";
|
||||
# $output .= $self->session->icon->delete('func=deleteRegistrant;psid='.$_->{badgeId}, $self->get('url'));
|
||||
$output .= $self->session->icon->edit('func=editRegistrant;badgeId='.$badge->{badgeId}, $self->get('url')).
|
||||
" ".$badge->{lastName}.", ".$badge->{firstName}." ( ".$badge->{email}." )</div>";
|
||||
}
|
||||
$output .= '<div>'.$p->getBarAdvanced.'</div>';
|
||||
$self->getAdminConsole->addSubmenuItem($self->getUrl('func=editRegistrant;badgeId=new'), $i18n->get('add registrant'));
|
||||
return $self->_acWrapper($output, $i18n->get("manage registrants"));
|
||||
sub getPrintingVariables {
|
||||
my $self = shift;
|
||||
my $registrationId = shift;
|
||||
my %event = $self->session->db->quickHash(
|
||||
"select * from products a
|
||||
join EventManagementSystem_products b on a.productId=b.productId
|
||||
join EventManagementSystem_registrations c on b.productId=c.productId
|
||||
join EventManagementSystem_badges d on c.badgeId=d.badgeId
|
||||
join EventManagementSystem_purchases f on c.purchaseId=f.purchaseId
|
||||
join transaction g on f.transactionId=g.transactionId
|
||||
where c.registrationId=?",
|
||||
[$registrationId]);
|
||||
$event{emsTitle} = $self->getTitle;
|
||||
my %meta = $self->session->db->buildHash(
|
||||
"select name,fieldData from EventManagementSystem_metaData a
|
||||
join EventManagementSystem_metaField b on a.fieldId=b.fieldId
|
||||
where productId=?",
|
||||
[$event{productId}]);
|
||||
my %var = (%meta, %event);
|
||||
return \%var;
|
||||
}
|
||||
|
||||
sub www_printBadge {
|
||||
my $self = shift;
|
||||
my $var = $self->getPrintingVariables($self->session->form->param("registrationId"));
|
||||
return $self->processTemplate($var,$self->get("badgePrinterTemplateId"));
|
||||
}
|
||||
|
||||
sub www_printTicket {
|
||||
my $self = shift;
|
||||
my $var = $self->getPrintingVariables($self->session->form->param("registrationId"));
|
||||
return $self->processTemplate($var,$self->get("ticketPrinterTemplateId"));
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_editRegistrant {
|
||||
sub www_editBadge {
|
||||
my $self = shift;
|
||||
my $badgeId = shift || $self->session->form->process("badgeId") || 'new';
|
||||
my $error = shift;
|
||||
return $self->session->privilege->insufficient unless ($self->canAddEvents);
|
||||
my $i18n = WebGUI::International->new($self->session,'Asset_EventManagementSystem');
|
||||
my $f = WebGUI::HTMLForm->new($self->session, (
|
||||
action => $self->getUrl("func=editRegistrantSave;badgeId=".$badgeId)
|
||||
));
|
||||
my $f = WebGUI::HTMLForm->new($self->session, action => $self->getUrl("func=editBadgeSave;badgeId=".$badgeId));
|
||||
my $data = {};
|
||||
if ($error) {
|
||||
# load submitted data.
|
||||
|
|
@ -4483,12 +4544,63 @@ function resetToInitial() {
|
|||
value=>$data->{email}
|
||||
);
|
||||
$f->submit;
|
||||
$f->raw($self->www_viewPurchase('noStyle',$badgeId));
|
||||
return $self->_acWrapper($f->print, $i18n->get("edit registrant"));
|
||||
my $tickets = q|<table id="emsTickets">|;
|
||||
my $events = $self->session->db->read(q|select b.productId, c.sku, c.title, c.price, g.gateway,
|
||||
from_unixtime(d.startDate), from_unixtime(d.endDate), d.prerequisiteId, b.registrationId,
|
||||
f.transactionId
|
||||
from EventManagementSystem_registrations b left join products c on c.productId=b.productId
|
||||
left join EventManagementSystem_products d ON d.productId=b.productId
|
||||
left join EventManagementSystem_purchases f ON b.purchaseId=f.purchaseId
|
||||
left join transaction g ON f.transactionId=g.transactionId where b.returned='0' and b.badgeId=?
|
||||
order by d.startDate,d.endDate,c.title|,[$badgeId]);
|
||||
my $ticker = 1;
|
||||
while (my ($productId, $sku, $title, $price, $gateway, $start, $end, $prereq, $registrationId, $transactionId) = $events->array) {
|
||||
my $isMaster = ($prereq eq "");
|
||||
my $class = ($ticker) ? q|oddEvent| : q|evenEvent|;
|
||||
$class = "masterEvent" if $isMaster;
|
||||
$tickets .= qq|<tr class="$class"><td>$sku : $title</td>
|
||||
<td>$start - $end</td>
|
||||
<td style="text-align: right;">($gateway) $price</td>|;
|
||||
if ($isMaster) {
|
||||
$tickets .= qq|
|
||||
<td><form><input type="hidden" name="func" value="addEventsToBadge" />
|
||||
<input type="hidden" name="bid" value="$badgeId" />
|
||||
<input type="hidden" name="eventId" value="$productId" />
|
||||
<input type="submit" value="Add Events" /></form></td>
|
||||
<td><form target="_blank"><input type="hidden" name="func" value="printBadge" />
|
||||
<input type="hidden" name="registrationId" value="$registrationId" />
|
||||
<input type="submit" value="Print" /></form></td>
|
||||
|;
|
||||
}
|
||||
else {
|
||||
$tickets .= qq|
|
||||
<td></td>
|
||||
<td><form target="_blank"><input type="hidden" name="func" value="printTicket" />
|
||||
<input type="hidden" name="registrationId" value="$registrationId" />
|
||||
<input type="submit" value="Print" /></form></td>|;
|
||||
}
|
||||
$tickets .= qq|
|
||||
<td><form><input type="hidden" name="func" value="returnItem" />
|
||||
<input type="hidden" name="badgeId" value="$badgeId" />
|
||||
<input type="hidden" name="rid" value="$registrationId" />
|
||||
<input type="submit" onclick="confirm('Do you really want to return this event?');" value="Return" /></form></td>
|
||||
</tr>|;
|
||||
$ticker = ($ticker == 1) ? 0 : 1;
|
||||
}
|
||||
$tickets .= q|</table>|;
|
||||
$self->session->style->setRawHeadTags(q|
|
||||
<style type="text/css">
|
||||
#emsTickets { font-size: 11px; }
|
||||
.masterEvent { background-color: black; color: white; }
|
||||
.evenEvent { background-color: white; color: black; }
|
||||
.oddEvent { background-color: #dddddd; color: black; }
|
||||
</style>
|
||||
|);
|
||||
return $self->processStyle("<h1>Edit Badge</h1>".$f->print.$tickets);
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
sub www_editRegistrantSave {
|
||||
sub www_editBadgeSave {
|
||||
my $self = shift;
|
||||
return $self->session->privilege->insufficient unless ($self->canAddEvents);
|
||||
my $error = '';
|
||||
|
|
@ -4498,7 +4610,7 @@ sub www_editRegistrantSave {
|
|||
$error .= sprintf($i18n->get('null field error'),$_)."<br />";
|
||||
}
|
||||
}
|
||||
return $self->www_editRegistrant(undef,$error) if $error;
|
||||
return $self->www_editBadge(undef,$error) if $error;
|
||||
my $badgeId = $self->session->form->process('badgeId');
|
||||
my $userId = $self->session->form->get("userId", "user");
|
||||
my $firstName = $self->session->form->get("firstName", "text");
|
||||
|
|
@ -4573,7 +4685,7 @@ sub www_editRegistrantSave {
|
|||
$u->profileField('email',$email) if ($email ne "");
|
||||
}
|
||||
}
|
||||
return $self->www_manageRegistrants();
|
||||
return $self->www_searchBadges();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -379,12 +379,12 @@ sub definition {
|
|||
defaultValue=>$session->setting->get("selfDeactivation")
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
fieldType=>"yesNo",
|
||||
name=>"encryptLogin",
|
||||
label=>$i18n->get(1006),
|
||||
hoverHelp=>$i18n->get('1006 description'),
|
||||
defaultValue=>$session->setting->get("encryptLogin")
|
||||
tab => "user",
|
||||
fieldType => ($session->config->get("sslEnabled") ? 'yesNo' : 'hidden'),
|
||||
name => "encryptLogin",
|
||||
label => $i18n->get(1006),
|
||||
hoverHelp => $i18n->get('1006 description'),
|
||||
defaultValue=> $session->setting->get("encryptLogin"),
|
||||
});
|
||||
push(@fields, {
|
||||
tab=>"user",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue