Changed default view to display master events only.

Changed default view template to control display of events in relation to one another allowing each event's template to control formating of event details.
Moved all of the search functionality into it's own view method.
Added template for new search method.
Fixed label and hover help in add/edit event screen.
This commit is contained in:
Roy Johnson 2006-04-19 05:31:57 +00:00
parent 7d94874bcc
commit d70002dfed
5 changed files with 316 additions and 107 deletions

View file

@ -0,0 +1,214 @@
#EventManagerTmpl000006
#title:Default Event Management System Search
#menuTitle:Default Event Management System Search
#url:default-ems-search-template
#namespace:EventManagementSystem_search
#create
<a name="id<tmpl_var assetId>" id="id<tmpl_var assetId>"></a>
<tmpl_if session.var.adminOn>
<p><tmpl_var controls></p><br /><br />
</tmpl_if>
<ul>
<tmpl_if canManageEvents>
<li><a href='<tmpl_var manageEvents.url>'><tmpl_var manageEvents.label></a></li>
</tmpl_if>
<li><a href='<tmpl_var managePurchases.url>'><tmpl_var managePurchases.label></a></li>
<li><a href="<tmpl_var checkout.url>"><tmpl_var checkout.label></a></li>
</ul>
<script type="text/javascript" src="<tmpl_var ems.wobject.dir>/script/dynamicForms.js"></script>
<script type="text/javascript">
<tmpl_var search.filters.options>
var advanced = 0;
var filterCount = 0;
function setSelectValue(selObj,newValue) {
for (var i=0; i<selObj.options.length; i++) {
selObj.options[i].selected = (selObj.options[i].value==newValue)?true:false;
}
}
function toggleAdvanced() {
var ids = ["cParams","cResults","cSearch"];
var toggle = "";
for (var i = 0; i < ids.length; i++) {
if(advanced == 1) {
toggle = "none";
}
document.getElementById(ids[i]).style.display=toggle;
}
advanced = (advanced == 1)?0:1;
return false;
}
function toggleTitle(obj) {
if (obj.checked) {
document.getElementById('cs_search_title_td').style.display='inline';
} else {
document.getElementById('cs_search_title_td').style.display='none';
}
}
function openWin (url, name, param) {
var newwin = window.open(url, name, param);
newwin.focus();
}
function buildFilterList() {
return "Custom Filter";
}
function stripDelim(value,delim) {
value = value.replace(/delim/g,"");
return value;
}
function unset(array, valueToUnset){
var output=new Array(0);
for(var i in array){
if(i==valueToUnset){continue;}
output[i]=array[i];
}
return output;
}
</script>
<div id="basicSearch"<tmpl_if isAdvSearch> style="display:none"</tmpl_if>>
<tmpl_var basicSearch.formHeader>
<div style="cursor:pointer;text-align:right;" onclick="document.getElementById('basicSearch').style.display='none';document.getElementById('advSearch').style.display='block';" ><a href="#">Switch To Advanced Search</a></div>
<table width="100%" border="0" padding="1" style="border-bottom:double gray 5px;border-top:solid gray 1px;margin-bottom:5px;margin-top:5px;"><tr><td style="font-weight:bold;width:40%;">Search Keywords:</td><td style="width:60%;"><input name="searchKeywords" style="width:100%;" /></td></tr></table>
<tmpl_var search.formSubmit>
<tmpl_var search.formFooter>
</div>
<div id="advSearch"<tmpl_unless isAdvSearch> style="display:none"</tmpl_unless>>
<tmpl_var advSearch.formHeader>
<div style="cursor:pointer;text-align:right;" onclick="document.getElementById('basicSearch').style.display='block';document.getElementById('advSearch').style.display='none';" ><a href="#">Switch To Basic Search</a></div>
<table width="100%" border="0" cellpadding="8" style="border-bottom:double gray 5px;border-top:solid gray 1px;margin-bottom:5px;margin-top:5px;">
<tbody id="filterbody">
<tr><td></td></tr>
</tbody>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left"><tmpl_var search.formSubmit></td>
<td align="right" valign="top"><a href="#" onclick="addField();">Add another Filter Field</a></td>
</tr>
</table>
<tmpl_var search.formFooter>
<script type="text/javascript">
// load autoSearch fields
for (var word in filterList) {
if (filterList[word]["autoSearch"]) {
var compa = addField();
setSelectValue(compa,word);
changeToType(word,filterCount);
}
}
</script>
</div>
<br /><br />
<table width="100%" border="0" cellpadding="8" cellspacing="0" style="border-top:solid gray 2px;border-bottom:solid gray 2px;">
<tr><th><tmpl_var name.label></th>
<th><tmpl_var starts.label></th>
<th><tmpl_var ends.label></th>
<th><tmpl_var seats.label></th>
<th><tmpl_var price.label></th>
<th><tmpl_var requirement.label></th>
<th><tmpl_var addToCart.label></th></tr>
<tmpl_loop events_loop>
<tr<tmpl_unless __ODD__> class="oddRow"<tmpl_else> class="evenRow"</tmpl_unless>><td><tmpl_var title>
</td><td><tmpl_var startDate.human>
</td><td><tmpl_var endDate.human>
</td><td><tmpl_var seatsRemaining>
</td><td><tmpl_var price>
</td><td><tmpl_var requirement>
</td><td><tmpl_unless eventIsFull><a href="<tmpl_var purchase.url>"><tmpl_var purchase.label></a><tmpl_else><tmpl_var purchase.label><br /></tmpl_unless>
</td></tr>
</tmpl_loop>
</table>
<tmpl_var paginateBar>
~~~
<style type="text/css">
tr.oddRow td {
background-color:#DADADA;
border-right:solid gray 1px;
}
tr.evenRow td {
background-color:#E8E8E8;
border-right:solid gray 1px;
}
.manageEvents {
margin-top:5px;
margin-bottom:5px;
}
.datacardtitle {
background: #3D5690;
color: white;
font-family: verdana;
font-weight: bold;
font-size:13px;
}
.leftnav{
padding: 1px 1px 1px 1px;
background: white;
color: black;
font-family: verdana;
font-weight: bold;
font-size:11px;
border: 2px #3D5690 ridge;
}
.leftnavon{
padding: 1px 1px 1px 1px;
background: yellow;
color: black;
font-family: verdana;
font-weight: bold;
font-size:11px;
border: 2px #3D5690 ridge;
}
.calendartitle {
background: #3D5690;
color: white;
font-family: verdana;
font-weight: bold;
font-size:11px;
}
.filter-select {
font-family: verdana;
font-size: 10px;
font-weight: normal;
color: black;
width: 105px;
}
.compare-select {
font-family: verdana;
font-size: 10px;
font-weight: normal;
color: black;
width: 76px;
}
.filter-text {
font-family: verdana;
font-size: 10px;
font-weight: normal;
color: black;
width: 114px;
}
.smLink {
font-family: verdana;
font-size: 10px;
font-weight: normal;
color: blue;
}
#extendedSearchLayer {display: inline;}
</style>

View file

@ -17,99 +17,6 @@
<li><a href="<tmpl_var checkout.url>"><tmpl_var checkout.label></a></li>
</ul>
<script type="text/javascript" src="<tmpl_var ems.wobject.dir>/script/dynamicForms.js"></script>
<script type="text/javascript">
<tmpl_var search.filters.options>
var advanced = 0;
var filterCount = 0;
function setSelectValue(selObj,newValue) {
for (var i=0; i<selObj.options.length; i++) {
selObj.options[i].selected = (selObj.options[i].value==newValue)?true:false;
}
}
function toggleAdvanced() {
var ids = ["cParams","cResults","cSearch"];
var toggle = "";
for (var i = 0; i < ids.length; i++) {
if(advanced == 1) {
toggle = "none";
}
document.getElementById(ids[i]).style.display=toggle;
}
advanced = (advanced == 1)?0:1;
return false;
}
function toggleTitle(obj) {
if (obj.checked) {
document.getElementById('cs_search_title_td').style.display='inline';
} else {
document.getElementById('cs_search_title_td').style.display='none';
}
}
function openWin (url, name, param) {
var newwin = window.open(url, name, param);
newwin.focus();
}
function buildFilterList() {
return "Custom Filter";
}
function stripDelim(value,delim) {
value = value.replace(/delim/g,"");
return value;
}
function unset(array, valueToUnset){
var output=new Array(0);
for(var i in array){
if(i==valueToUnset){continue;}
output[i]=array[i];
}
return output;
}
</script>
<div id="basicSearch"<tmpl_if isAdvSearch> style="display:none"</tmpl_if>>
<tmpl_var basicSearch.formHeader>
<div style="cursor:pointer;text-align:right;" onclick="document.getElementById('basicSearch').style.display='none';document.getElementById('advSearch').style.display='block';" ><a href="#">Switch To Advanced Search</a></div>
<table width="100%" border="0" padding="1" style="border-bottom:double gray 5px;border-top:solid gray 1px;margin-bottom:5px;margin-top:5px;"><tr><td style="font-weight:bold;width:40%;">Search Keywords:</td><td style="width:60%;"><input name="searchKeywords" style="width:100%;" /></td></tr></table>
<tmpl_var search.formSubmit>
<tmpl_var search.formFooter>
</div>
<div id="advSearch"<tmpl_unless isAdvSearch> style="display:none"</tmpl_unless>>
<tmpl_var advSearch.formHeader>
<div style="cursor:pointer;text-align:right;" onclick="document.getElementById('basicSearch').style.display='block';document.getElementById('advSearch').style.display='none';" ><a href="#">Switch To Basic Search</a></div>
<table width="100%" border="0" cellpadding="8" style="border-bottom:double gray 5px;border-top:solid gray 1px;margin-bottom:5px;margin-top:5px;">
<tbody id="filterbody">
<tr><td></td></tr>
</tbody>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left"><tmpl_var search.formSubmit></td>
<td align="right" valign="top"><a href="#" onclick="addField();">Add another Filter Field</a></td>
</tr>
</table>
<tmpl_var search.formFooter>
<script type="text/javascript">
// load autoSearch fields
for (var word in filterList) {
if (filterList[word]["autoSearch"]) {
var compa = addField();
setSelectValue(compa,word);
changeToType(word,filterCount);
}
}
</script>
</div>
<br /><br />
@ -122,14 +29,7 @@
<th><tmpl_var requirement.label></th>
<th><tmpl_var addToCart.label></th></tr>
<tmpl_loop events_loop>
<tr<tmpl_unless __ODD__> class="oddRow"<tmpl_else> class="evenRow"</tmpl_unless>><td><tmpl_var title>
</td><td><tmpl_var startDate.human>
</td><td><tmpl_var endDate.human>
</td><td><tmpl_var seatsRemaining>
</td><td><tmpl_var price>
</td><td><tmpl_var requirement>
</td><td><tmpl_unless eventIsFull><a href="<tmpl_var purchase.url>"><tmpl_var purchase.label></a><tmpl_else><tmpl_var purchase.label><br /></tmpl_unless>
</td></tr>
<tmpl_var event>
</tmpl_loop>
</table>
<tmpl_var paginateBar>
@ -211,4 +111,4 @@ tr.evenRow td {
#extendedSearchLayer {display: inline;}
</style>
</style>

View file

@ -650,6 +650,7 @@ create table EventManagementSystem (
checkoutTemplateId varchar(22) binary,
managePurchasesTemplateId varchar(22) binary,
viewPurchaseTemplateId varchar(22) binary,
searchTemplateId varchar(22) binary,
paginateAfter int(11) default 10,
groupToAddEvents varchar(22) binary,
groupToApproveEvents varchar(22) binary,