Smärre buggfixar

git-svn-id: svn://svn.dsv.su.se/scipro/scipro/trunk@510 73ecded7-942e-4092-bab0-0e58ef0ee984
This commit is contained in:
dan-kjel 2011-03-28 15:38:33 +00:00
parent d447d84f23
commit b2773224b5
11 changed files with 145 additions and 181 deletions

@ -1,4 +1,8 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:extend>
<h3>Schedule template details</h3>
<div wicket:id="scheduleTemplateDetailsPanel"></div>
</wicket:extend>
</wicket:extend>
</body>
</html>

@ -1,4 +1,5 @@
<html>
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:extend>
<div wicket:id="scheduleTemplateFormPanel"></div>

@ -15,7 +15,7 @@ public class ScheduleTemplateEditorPage extends MenuPage {
@SpringBean
private ScheduleTemplateDao scheduleTemplateDao;
public ScheduleTemplateEditorPage(final PageParameters pp, Long id){
public ScheduleTemplateEditorPage(final PageParameters pp, Long id, final boolean isSysAdminView){
super(pp);
ScheduleTemplate st = null;
@ -23,11 +23,11 @@ public class ScheduleTemplateEditorPage extends MenuPage {
st = scheduleTemplateDao.load(id);
}
add(new ScheduleTemplateFormPanel("scheduleTemplateFormPanel", st, id != null));
add(new ScheduleTemplateFormPanel("scheduleTemplateFormPanel", st, isSysAdminView));
}
public ScheduleTemplateEditorPage(final PageParameters pp){
this(pp, null);
public ScheduleTemplateEditorPage(final boolean isSysAdminView){
this(new PageParameters(), null, isSysAdminView);
}
}

@ -1,4 +1,5 @@
<html>
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:extend>
<div wicket:id="scheduleTemplatePanel"></div>

@ -9,10 +9,10 @@ import se.su.dsv.scipro.security.auth.Authorization;
@Authorization(requiresLoggedInUser=false)
public class ScheduleTemplatePage extends MenuPage {
public ScheduleTemplatePage(final PageParameters pp){
public ScheduleTemplatePage(final PageParameters pp, final boolean isSysAdminView){
super(pp);
setVersioned(false);
add(new ScheduleTemplatePanel("scheduleTemplatePanel", false));
add(new ScheduleTemplatePanel("scheduleTemplatePanel", isSysAdminView));
}

@ -1,3 +1,6 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:panel>
<form wicket:id="eventTemplateForm">
<div wicket:id="eventTemplateFeedbackContainer">
@ -12,7 +15,7 @@
<textarea wicket:id="description" name="eventTemplateDescription"></textarea>
</div>
<div class="formRow">
<span>Estimated time consumtion:</span><br />
<span>Estimated number of days:</span><br />
<input type="text" wicket:id="estimatedTimeConsumption" name="estimatedTimeConsumption" />
</div>
<div class="formRow">
@ -20,4 +23,6 @@
<input type="submit" wicket:id="cancelEventTemplateButton" />
</div>
</form>
</wicket:panel>
</wicket:panel>
</body>
</html>

@ -1,60 +1,66 @@
<html>
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:panel>
<div class="span-18 last">
<h3 wicket:id="templateName" class="section">Tempalte name</h3>
<span wicket:id="templateDescription">Template description</span>
<table>
<tr>
<td>Number of events:</td>
<td><span wicket:id="numEventTemplates">Number of events</span></td>
</tr>
<tr>
<td>Total estimated time:</td>
<td><span wicket:id="totalEstimatedTime">Total time</span></td>
</tr>
<tr>
<td>Creator:</td>
<td wicket:id="templateCreator"></td>
</tr>
<tr>
<td>Date created:</td>
<td><span wicket:id="templateCreated"></span></td>
</tr>
<tr>
<td>Last updated:</td>
<td><span wicket:id="templateUpdated"></span></td>
</tr>
<tr>
<td>System template:</td>
<td><img wicket:id="isSysAdminTemplate" /></td>
</tr>
<tr>
<td>Active:</td>
<td><img wicket:id="isActive" /></td>
</tr>
<tr>
<td>Direct link:</td>
<td><a href="#" wicket:id="directLink">link</a></td>
</tr>
</table>
<div>
<fieldset>
<legend>General</legend>
<span wicket:id="templateName">Tempalte name</span>
<p wicket:id="templateDescription">Template description</p>
<table>
<tr>
<td>Number of events:</td>
<td><span wicket:id="numEventTemplates">Number of events</span></td>
</tr>
<tr>
<td>Estimated days for template:</td>
<td><span wicket:id="totalEstimatedTime">Total days</span></td>
</tr>
<tr>
<td>Creator:</td>
<td wicket:id="templateCreator"></td>
</tr>
<tr>
<td>Date created:</td>
<td><span wicket:id="templateCreated"></span></td>
</tr>
<tr>
<td>Last updated:</td>
<td><span wicket:id="templateUpdated"></span></td>
</tr>
<tr>
<td>System template:</td>
<td><img wicket:id="isSysAdminTemplate" /></td>
</tr>
<tr>
<td>Active:</td>
<td><img wicket:id="isActive" /></td>
</tr>
<tr>
<td>Direct link:</td>
<td><a href="#" wicket:id="directLink">link</a></td>
</tr>
</table>
</fieldset>
</div>
<div class="span-18 last">
<h3 class="section">Events</h3>
<div wicket:id="eventList">
<div class="rounded-box">
<span wicket:id="etTitle" class="box-title">Event title</span>
<div>
<span wicket:id="etDescription">Event description</span>
</div>
<div>
<span>Estimated time: </span><span wicket:id="etTimeConsumption">Time consumption</span>
</div>
<div>
<span>For debug number in order: </span><span wicket:id="etNumberInOrder">Number in order</span>
<div>
<fieldset>
<legend>Events</legend>
<div wicket:id="eventList">
<div class="rounded-box">
<span wicket:id="etTitle" class="box-title">Event title</span>
<div>
<span wicket:id="etDescription">Event description</span>
</div>
<div>
<span>Estimated days: </span><span wicket:id="etTimeConsumption">Time consumption</span>
</div>
<div>
<span>For debug number in order: </span><span wicket:id="etNumberInOrder">Number in order</span>
</div>
</div>
</div>
</div>
</fieldset>
</div>
</wicket:panel>
</body>

@ -1,10 +1,13 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:panel>
<div class="span-22 last">
<h2 class="section">Schedule Template Editor</h2>
<span>Mindre textareas...</span>
<form wicket:id="templateForm">
<div class="span-18 last">
<h3 class="section">General</h3>
<div class="span-10 append-1">
<div class="span-10 append-1 ">
<fieldset>
<legend>General</legend>
<div class="formRow">
<span>Name:</span><br />
<input type="text" wicket:id="templateName" name="templateName" />
@ -27,45 +30,53 @@
<div wicket:id="feedbackPanel"></div>
</div>
</div>
</div>
</fieldset>
<!--
<div class="info-box rounded-box span-5 last">
<span>Always remember to hit save if you've made any changes</span>
</div>
-->
</div>
<div class="span-18 last">
<h3 class="section">Events</h3>
<div class="span-10 append-1">
<p>Organize the events</p>
</div>
<div class="info-box rounded-box span-5 last">
<span>Drag and drop the events to order them</span>
</div>
<div class="formRow">
<img wicket:id="addEventTemplate" /><span>Add event template to schedule</span>
<div wicket:id="addEventTemplateContainer" class="rounded-box" style="display:none;">
<div wicket:id="addEventTemplateFormPanel"></div>
<div class="span-9 last">
<fieldset>
<legend>Events</legend>
<!--
<div class="span-4 append-1">
<p>Organize the events</p>
</div>
</div>
<div wicket:id="eventTemplateListContainer">
<div wicket:id="eventTemplates" class="connectedSortable rounded-box">
<div>
<div class="box-title">
<span wicket:id="eventTemplateTitle">Event template title</span>
<img wicket:id="deleteEventTemplateIcon" class="right" />
<img wicket:id="editEventTemplateIcon" class="right"></img>
</div>
<div>
<span>Estimated time:</span><span wicket:id="eventTemplateTimeConsumption">Event template time consumption</span>
</div>
<div class="info-box rounded-box span-4 last">
<span>Drag and drop the events to order them</span>
</div>
-->
<div class="formRow">
<img wicket:id="addEventTemplate" /><span>Add event template to schedule</span>
<div wicket:id="addEventTemplateContainer" class="rounded-box" style="display:none;">
<div wicket:id="addEventTemplateFormPanel"></div>
</div>
<div wicket:id="editEventTemplateContainer">
<div wicket:id="eventTemplateFormContainer">
<div wicket:id="editEventTemplateFormPanel"></div>
</div>
</div>
</div>
</div>
<div wicket:id="eventTemplateListContainer">
<div wicket:id="eventTemplates" class="connectedSortable rounded-box">
<div>
<div class="box-title">
<span wicket:id="eventTemplateTitle">Event template title</span>
<img wicket:id="deleteEventTemplateIcon" class="right" />
<img wicket:id="editEventTemplateIcon" class="right"></img>
</div>
<div>
<span>Estimated days:</span><span wicket:id="eventTemplateTimeConsumption">Event template time consumption</span>
</div>
</div>
<div wicket:id="editEventTemplateContainer">
<div wicket:id="eventTemplateFormContainer">
<div wicket:id="editEventTemplateFormPanel"></div>
</div>
</div>
</div>
</div>
</fieldset>
</div>
</form>
</div>
</wicket:panel>
</wicket:panel>
</body>
</html>

@ -260,6 +260,7 @@ public class ScheduleTemplateFormPanel extends Panel {
error("The template needs at least one event.");
} else {
st = scheduleTemplateDao.save(st);
ScheduleTemplateForm.this.setModelObject(st);
form.info("Template saved");
target.addComponent(feedbackContainer);
}

@ -1,8 +1,8 @@
<!DOCTYPE html>
<html xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd">
<body>
<wicket:panel>
<div class="span-22 last">
<h2 class="section">Schedule templates</h2>
<div>
<fieldset>
<legend>Filter templates</legend>
@ -42,4 +42,6 @@
</div>
</div>
</wicket:panel>
</wicket:panel>
</body>
</html>

@ -95,7 +95,11 @@ public class ScheduleTemplatePanel extends Panel {
private static final long serialVersionUID = 1L;
@Override
public void onClick() {
setResponsePage(new ScheduleTemplateEditorPage(new PageParameters(), s.getId()));
setResponsePage(new ScheduleTemplateEditorPage(new PageParameters(), s.getId(), isSysAdminView));
}
@Override
public boolean isVisible(){
return isSysAdminView || s.getCreator().equals(SciProSession.get().getUser());
}
};
editLink.add(editIcon);
@ -109,6 +113,10 @@ public class ScheduleTemplatePanel extends Panel {
scheduleTemplateDao.delete(toBeRemoved);
target.addComponent(templateListContainer);
}
@Override
public boolean isVisible(){
return isSysAdminView || s.getCreator().equals(SciProSession.get().getUser());
}
};
deleteIcon.add(new JavascriptEventConfirmation("onclick", "Are you sure you want to delete this template and all of its events?"));
item.add(deleteIcon);
@ -146,82 +154,7 @@ public class ScheduleTemplatePanel extends Panel {
target.addComponent(WiQueryCoreEffectsHelper.fadeIn(templateListContainer, EffectSpeed.FAST));
}
});
/*
final List<SelectOption<ActiveOption>> activeOptions = new ArrayList<SelectOption<ActiveOption>>();
activeOptions.add(new SelectOption<ActiveOption>("All", ActiveOption.ALL));
activeOptions.add(new SelectOption<ActiveOption>("Active", ActiveOption.ACTIVE));
activeOptions.add(new SelectOption<ActiveOption>("Inactive", ActiveOption.INACTIVE));
final DropDownChoice<SelectOption<ActiveOption>> activeDD =
new DropDownChoice<SelectOption<ActiveOption>>("activeDD", new Model<SelectOption<ActiveOption>>(activeOptions.get(0)),activeOptions);
activeDD.add(new AjaxFormComponentUpdatingBehavior("onchange"){
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
ActiveOption selected = activeDD.getModelObject().value;
switch(selected) {
case ALL:
templateModel.setOnlyActiveTemplates(null);
break;
case ACTIVE:
templateModel.setOnlyActiveTemplates(true);
break;
case INACTIVE:
templateModel.setOnlyActiveTemplates(false);
break;
default:
templateModel.setOnlyActiveTemplates(null);
}
target.addComponent(WiQueryCoreEffectsHelper.fadeIn(templateListContainer, EffectSpeed.FAST));
}
});
add(activeDD);
final List<SelectOption<SysAdminOption>> sysadminOptions = new ArrayList<SelectOption<SysAdminOption>>();
sysadminOptions.add(new SelectOption<SysAdminOption>("All templates", SysAdminOption.ALL));
sysadminOptions.add(new SelectOption<SysAdminOption>("Only system templates", SysAdminOption.ONLY_SYSADMIN));
sysadminOptions.add(new SelectOption<SysAdminOption>("Only supervisor templates", SysAdminOption.ONLY_SUPERVISOR));
sysadminOptions.add(new SelectOption<SysAdminOption>("Only mine", SysAdminOption.ONLY_LOGGED_IN_USER));
final DropDownChoice<SelectOption<SysAdminOption>> sysAdminDD =
new DropDownChoice<SelectOption<SysAdminOption>>("sysAdminDD", new Model<SelectOption<SysAdminOption>>(sysadminOptions.get(0)),sysadminOptions);
sysAdminDD.add(new AjaxFormComponentUpdatingBehavior("onchange"){
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
SysAdminOption selected = sysAdminDD.getModelObject().value;
switch(selected) {
case ALL:
templateModel.clearFilter(true);
templateModel.setOnlySysAdminTemplates(null);
break;
case ONLY_SYSADMIN:
templateModel.clearFilter(false);
templateModel.setOnlySysAdminTemplates(true);
break;
case ONLY_SUPERVISOR:
templateModel.clearFilter(false);
templateModel.setOnlySysAdminTemplates(false);
break;
case ONLY_LOGGED_IN_USER:
templateModel.clearFilter(false);
templateModel.setCreator(SciProSession.get().getUser());
break;
default:
templateModel.clearFilter(true);
}
target.addComponent(WiQueryCoreEffectsHelper.fadeIn(templateListContainer, EffectSpeed.FAST));
}
});
sysAdminDD.add(new AjaxIndicatorAppender());
add(sysAdminDD);
*/
templateListContainer.add(pager);
templateListContainer.add(templateList);
add(templateListContainer);
@ -230,7 +163,7 @@ public class ScheduleTemplatePanel extends Panel {
private static final long serialVersionUID = 1L;
@Override
public void onClick() {
setResponsePage(ScheduleTemplateEditorPage.class);
setResponsePage(new ScheduleTemplateEditorPage(isSysAdminView));
}
};
createNewLink.add(new ActionIcon("createNewIcon", ActionIcon.ICON_ADD, "Create new"));