Commit 608f25f8 by Tuukka Kivilahti

permissions, localization and menus

1 parent a50873a7
...@@ -4,9 +4,9 @@ import java.util.ArrayList; ...@@ -4,9 +4,9 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.annotation.security.DeclareRoles; import javax.annotation.security.DeclareRoles;
import javax.annotation.security.RolesAllowed;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import javax.faces.model.ListDataModel;
import fi.codecrew.moya.enums.apps.LecturePermission; import fi.codecrew.moya.enums.apps.LecturePermission;
import fi.codecrew.moya.facade.EventUserFacade; import fi.codecrew.moya.facade.EventUserFacade;
...@@ -47,6 +47,7 @@ public class LectureBean implements LectureBeanLocal { ...@@ -47,6 +47,7 @@ public class LectureBean implements LectureBeanLocal {
} }
@Override @Override
@RolesAllowed(LecturePermission.S_MANAGE)
public LectureGroup saveLectureGroup(LectureGroup group) { public LectureGroup saveLectureGroup(LectureGroup group) {
if (group.getId() == null) if (group.getId() == null)
...@@ -64,11 +65,13 @@ public class LectureBean implements LectureBeanLocal { ...@@ -64,11 +65,13 @@ public class LectureBean implements LectureBeanLocal {
} }
@Override @Override
@RolesAllowed({LecturePermission.S_VIEW, LecturePermission.S_MANAGE})
public LectureGroup findLectureGroup(Integer id) { public LectureGroup findLectureGroup(Integer id) {
return lectureGroupFacade.find(id); return lectureGroupFacade.find(id);
} }
@Override @Override
@RolesAllowed(LecturePermission.S_MANAGE)
public Lecture saveLecture(Lecture lecture) { public Lecture saveLecture(Lecture lecture) {
if (lecture == null || lecture.getLectureGroup() == null) { if (lecture == null || lecture.getLectureGroup() == null) {
...@@ -92,6 +95,7 @@ public class LectureBean implements LectureBeanLocal { ...@@ -92,6 +95,7 @@ public class LectureBean implements LectureBeanLocal {
} }
@Override @Override
@RolesAllowed({LecturePermission.S_VIEW, LecturePermission.S_MANAGE})
public List<Lecture> findAvailableLectures(LectureGroup group, EventUser user) { public List<Lecture> findAvailableLectures(LectureGroup group, EventUser user) {
LectureGroup lectureGroup = lectureGroupFacade.reload(group); LectureGroup lectureGroup = lectureGroupFacade.reload(group);
...@@ -113,11 +117,13 @@ public class LectureBean implements LectureBeanLocal { ...@@ -113,11 +117,13 @@ public class LectureBean implements LectureBeanLocal {
} }
@Override @Override
@RolesAllowed({LecturePermission.S_VIEW, LecturePermission.S_MANAGE})
public List<Lecture> getParticipatedLectures(EventUser user) { public List<Lecture> getParticipatedLectures(EventUser user) {
return eventUserFacade.reload(user).getLectures(); return eventUserFacade.reload(user).getLectures();
} }
@Override @Override
@RolesAllowed({LecturePermission.S_VIEW, LecturePermission.S_MANAGE})
public Lecture participate(EventUser user, Lecture lecture) { public Lecture participate(EventUser user, Lecture lecture) {
if(userLectureSelectsLeft(lecture.getLectureGroup(), user) <= 0) if(userLectureSelectsLeft(lecture.getLectureGroup(), user) <= 0)
...@@ -135,6 +141,7 @@ public class LectureBean implements LectureBeanLocal { ...@@ -135,6 +141,7 @@ public class LectureBean implements LectureBeanLocal {
} }
@Override @Override
@RolesAllowed({LecturePermission.S_VIEW, LecturePermission.S_MANAGE})
public Lecture unparticipate(EventUser user, Lecture lecture) { public Lecture unparticipate(EventUser user, Lecture lecture) {
EventUser targetUser = eventUserFacade.reload(user); EventUser targetUser = eventUserFacade.reload(user);
...@@ -149,6 +156,7 @@ public class LectureBean implements LectureBeanLocal { ...@@ -149,6 +156,7 @@ public class LectureBean implements LectureBeanLocal {
@Override @Override
@RolesAllowed({LecturePermission.S_VIEW, LecturePermission.S_MANAGE})
public int userLectureSelects(LectureGroup group, EventUser user) { public int userLectureSelects(LectureGroup group, EventUser user) {
EventUser updatedUser = eventUserFacade.reload(user); EventUser updatedUser = eventUserFacade.reload(user);
...@@ -167,6 +175,7 @@ public class LectureBean implements LectureBeanLocal { ...@@ -167,6 +175,7 @@ public class LectureBean implements LectureBeanLocal {
@Override @Override
@RolesAllowed({LecturePermission.S_VIEW, LecturePermission.S_MANAGE})
public int userLectureSelectsLeft(LectureGroup group, EventUser user) { public int userLectureSelectsLeft(LectureGroup group, EventUser user) {
LectureGroup updatedGroup = lectureGroupFacade.reload(group); LectureGroup updatedGroup = lectureGroupFacade.reload(group);
......
...@@ -15,6 +15,7 @@ import fi.codecrew.moya.enums.apps.BillPermission; ...@@ -15,6 +15,7 @@ import fi.codecrew.moya.enums.apps.BillPermission;
import fi.codecrew.moya.enums.apps.CompoPermission; import fi.codecrew.moya.enums.apps.CompoPermission;
import fi.codecrew.moya.enums.apps.ContentPermission; import fi.codecrew.moya.enums.apps.ContentPermission;
import fi.codecrew.moya.enums.apps.EventPermission; import fi.codecrew.moya.enums.apps.EventPermission;
import fi.codecrew.moya.enums.apps.LecturePermission;
import fi.codecrew.moya.enums.apps.LicensePermission; import fi.codecrew.moya.enums.apps.LicensePermission;
import fi.codecrew.moya.enums.apps.MapPermission; import fi.codecrew.moya.enums.apps.MapPermission;
import fi.codecrew.moya.enums.apps.NetworkAssociationPermission; import fi.codecrew.moya.enums.apps.NetworkAssociationPermission;
...@@ -156,6 +157,12 @@ public class MenuBean implements MenuBeanLocal { ...@@ -156,6 +157,12 @@ public class MenuBean implements MenuBeanLocal {
createuser.addPage(menuitemfacade.findOrCreate("/user/create"), UserPermission.CREATE_NEW).setVisible(false); createuser.addPage(menuitemfacade.findOrCreate("/user/create"), UserPermission.CREATE_NEW).setVisible(false);
; ;
MenuNavigation userlectures = usermenu.addPage(null, null);
userlectures.setKey("topnavi.userlectures");
userlectures.addPage(menuitemfacade.findOrCreate("/lectures/viewLectures"), LecturePermission.VIEW);
navifacade.create(usermenu); navifacade.create(usermenu);
// //
...@@ -284,6 +291,14 @@ public class MenuBean implements MenuBeanLocal { ...@@ -284,6 +291,14 @@ public class MenuBean implements MenuBeanLocal {
tournamentsadm.addPage(menuitemfacade.findOrCreate("/tournaments/admin/delete"), TournamentPermission.MANAGE_ALL).setVisible(false); tournamentsadm.addPage(menuitemfacade.findOrCreate("/tournaments/admin/delete"), TournamentPermission.MANAGE_ALL).setVisible(false);
tournamentsadm.addPage(menuitemfacade.findOrCreate("/tournaments/admin/editrules"), TournamentPermission.MANAGE_ALL).setVisible(false); tournamentsadm.addPage(menuitemfacade.findOrCreate("/tournaments/admin/editrules"), TournamentPermission.MANAGE_ALL).setVisible(false);
MenuNavigation adminlectures = adminmenu.addPage(null, null);
adminlectures.setKey("topnavi.adminlectures");
adminlectures.addPage(menuitemfacade.findOrCreate("/lectureadmin/manageLectureGroups"), LecturePermission.MANAGE);
MenuNavigation infoviews = adminmenu.addPage(null, null); MenuNavigation infoviews = adminmenu.addPage(null, null);
infoviews.setKey("topnavi.infoviews"); infoviews.setKey("topnavi.infoviews");
infoviews.addPage(menuitemfacade.findOrCreate("/admin/adduser/index"), TerminalPermission.INFO); infoviews.addPage(menuitemfacade.findOrCreate("/admin/adduser/index"), TerminalPermission.INFO);
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<ui:composition template="#{sessionHandler.template}"> <ui:composition template="#{sessionHandler.template}">
<f:metadata> <f:metadata>
<f:viewParam name="lecturegroupid" value="#{lectureView.lectureGroupId}" /> <f:viewParam name="lecturegroupid" value="#{lectureView.lectureGroupId}" />
<f:event type="preRenderView" listener="#{lectureGroupView.initView()}" /> <f:event type="preRenderView" listener="#{lectureView.initView()}" />
</f:metadata> </f:metadata>
<ui:define name="title"> <ui:define name="title">
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<ui:composition template="#{sessionHandler.template}"> <ui:composition template="#{sessionHandler.template}">
<f:metadata> <f:metadata>
<f:viewParam name="lecturegroupid" value="#{lectureView.lectureGroupId}" /> <f:viewParam name="lecturegroupid" value="#{lectureView.lectureGroupId}" />
<f:event type="preRenderView" listener="#{lectureGroupView.initView()}" /> <f:event type="preRenderView" listener="#{lectureUserView.initView()}" />
</f:metadata> </f:metadata>
<ui:define name="title"> <ui:define name="title">
......
...@@ -227,6 +227,7 @@ lectureGroup.createNew = Luo uusi ...@@ -227,6 +227,7 @@ lectureGroup.createNew = Luo uusi
lectureGroup.description = Kuvaus lectureGroup.description = Kuvaus
lectureGroup.manageLectures = Hallitse luentoja lectureGroup.manageLectures = Hallitse luentoja
lectureGroup.name = Nimi lectureGroup.name = Nimi
lectureGroup.saveLectureGroup = Muokkaa kurssikokonaisuutta
lectureGroup.selectCount = Montako kurssia saa valita lectureGroup.selectCount = Montako kurssia saa valita
lectureGroup.selectCountUserInfo = Yhden osallistujan kiinti\u00F6 lectureGroup.selectCountUserInfo = Yhden osallistujan kiinti\u00F6
lectureGroup.view = Tarkastele lectureGroup.view = Tarkastele
...@@ -303,6 +304,7 @@ resetmailSent.header = Email sent ...@@ -303,6 +304,7 @@ resetmailSent.header = Email sent
save = Tallenna save = Tallenna
submenu.NotImplementedYet = Not implemented submenu.NotImplementedYet = Not implemented
submenu.admin.adduser = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys submenu.admin.adduser = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys
submenu.admin.adduser.index = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys submenu.admin.adduser.index = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys
...@@ -313,6 +315,10 @@ submenu.info.index = Infon\u00E4kym\u00E4 ...@@ -313,6 +315,10 @@ submenu.info.index = Infon\u00E4kym\u00E4
submenu.info.shop = Kauppa submenu.info.shop = Kauppa
submenu.info.index = Infon\u00E4kym\u00E4 submenu.info.index = Infon\u00E4kym\u00E4
= Infon\u00E4kym\u00E4
submenu.lectureadmin.manageLectureGroups = Hallinnoi
submenu.lectures.viewLectures = Ilmoittaudu
subnavi.cards = \u0009\u0009 subnavi.cards = \u0009\u0009
...@@ -322,7 +328,13 @@ subnavi.info = Info ...@@ -322,7 +328,13 @@ subnavi.info = Info
success = Onnistui success = Onnistui
topnavi.adminlectures = Kurssit ja luennot
topnavi.license = Lisenssikoodit topnavi.license = Lisenssikoodit
topnavi.userlectures = Kurssit ja luennot
user.cropImage = Crop user.cropImage = Crop
user.imageUpload.imageNotFound = Select image to upload user.imageUpload.imageNotFound = Select image to upload
......
...@@ -578,6 +578,7 @@ lectureGroup.createNew = Create new ...@@ -578,6 +578,7 @@ lectureGroup.createNew = Create new
lectureGroup.description = Description lectureGroup.description = Description
lectureGroup.manageLectures = Manage lectures lectureGroup.manageLectures = Manage lectures
lectureGroup.name = Name lectureGroup.name = Name
lectureGroup.saveLectureGroup = Edit lecturegroup
lectureGroup.selectCount = Max lecture select count lectureGroup.selectCount = Max lecture select count
lectureGroup.selectCountUserInfo = Quota for one participant lectureGroup.selectCountUserInfo = Quota for one participant
lectureGroup.view = View lectureGroup.view = View
...@@ -1057,6 +1058,7 @@ sitepage.save = Save ...@@ -1057,6 +1058,7 @@ sitepage.save = Save
sitepagelist.header = Site pages sitepagelist.header = Site pages
submenu.NotImplementedYet = Not implemented submenu.NotImplementedYet = Not implemented
submenu.actionlog.messagelist = ActionLog submenu.actionlog.messagelist = ActionLog
submenu.actionlog.taskview = View tasks submenu.actionlog.taskview = View tasks
...@@ -1148,6 +1150,11 @@ submenu.voting.create = Create new compo ...@@ -1148,6 +1150,11 @@ submenu.voting.create = Create new compo
submenu.voting.myEntries = My entries submenu.voting.myEntries = My entries
submenu.voting.submitEntry = Submit entry submenu.voting.submitEntry = Submit entry
submenu.lectureadmin.manageLectureGroups = Management
submenu.lectures.viewLectures = Participate
subnavi.billing = Billing subnavi.billing = Billing
subnavi.cards = Cards subnavi.cards = Cards
subnavi.info = Info subnavi.info = Info
...@@ -1176,6 +1183,7 @@ topmenu.helpdesk = Helpdesk ...@@ -1176,6 +1183,7 @@ topmenu.helpdesk = Helpdesk
topmenu.user = User View topmenu.user = User View
topnavi.adminassoc = Net Associations topnavi.adminassoc = Net Associations
topnavi.adminlectures = Lectures and courses
topnavi.adminshop = Adminshop topnavi.adminshop = Adminshop
topnavi.billing = Billing topnavi.billing = Billing
topnavi.competitions = Competitions topnavi.competitions = Competitions
...@@ -1199,6 +1207,7 @@ topnavi.shop = Shop ...@@ -1199,6 +1207,7 @@ topnavi.shop = Shop
topnavi.user = My properties topnavi.user = My properties
topnavi.userevent = Event topnavi.userevent = Event
topnavi.userinit = User auth topnavi.userinit = User auth
topnavi.userlectures = Lectures and courses
topnavi.usermgmt = Users topnavi.usermgmt = Users
topnavi.userplaces = Computer Places topnavi.userplaces = Computer Places
topnavi.usershop = Shop topnavi.usershop = Shop
......
...@@ -589,6 +589,7 @@ lectureGroup.createNew = Luo uusi ...@@ -589,6 +589,7 @@ lectureGroup.createNew = Luo uusi
lectureGroup.description = Kuvaus lectureGroup.description = Kuvaus
lectureGroup.manageLectures = Hallitse luentoja lectureGroup.manageLectures = Hallitse luentoja
lectureGroup.name = Nimi lectureGroup.name = Nimi
lectureGroup.saveLectureGroup = Muokkaa kurssikokonaisuutta
lectureGroup.selectCount = Monellekko saa osallistua lectureGroup.selectCount = Monellekko saa osallistua
lectureGroup.selectCountUserInfo = Yhden henkil\u00F6n kiinti\u00F6 lectureGroup.selectCountUserInfo = Yhden henkil\u00F6n kiinti\u00F6
lectureGroup.view = Tarkastele kursseja lectureGroup.view = Tarkastele kursseja
...@@ -1040,6 +1041,7 @@ sitepage.save = Tallenna ...@@ -1040,6 +1041,7 @@ sitepage.save = Tallenna
sitepagelist.header = Sivuston sis\u00E4ll\u00F6t sitepagelist.header = Sivuston sis\u00E4ll\u00F6t
submenu.NotImplementedYet = Toteuttamatta submenu.NotImplementedYet = Toteuttamatta
submenu.actionlog.messagelist = ActionLog submenu.actionlog.messagelist = ActionLog
submenu.actionlog.taskview = N\u00E4yt\u00E4 toiminnat submenu.actionlog.taskview = N\u00E4yt\u00E4 toiminnat
...@@ -1134,6 +1136,11 @@ submenu.voting.create = Uusi kilpailu ...@@ -1134,6 +1136,11 @@ submenu.voting.create = Uusi kilpailu
submenu.voting.myEntries = Omat entryt submenu.voting.myEntries = Omat entryt
submenu.voting.submitEntry = L\u00E4het\u00E4 entry submenu.voting.submitEntry = L\u00E4het\u00E4 entry
submenu.lectureadmin.manageLectureGroups = Hallinnoi
submenu.lectures.viewLectures = Ilmoittaudu
subnavi.billing = Laskutus subnavi.billing = Laskutus
subnavi.cards = Kortit subnavi.cards = Kortit
subnavi.info = Info subnavi.info = Info
...@@ -1162,6 +1169,7 @@ topmenu.helpdesk = Helpdesk ...@@ -1162,6 +1169,7 @@ topmenu.helpdesk = Helpdesk
topmenu.user = K\u00E4ytt\u00E4j\u00E4n\u00E4kym\u00E4 topmenu.user = K\u00E4ytt\u00E4j\u00E4n\u00E4kym\u00E4
topnavi.adminassoc = Verkkoassosioinnit topnavi.adminassoc = Verkkoassosioinnit
topnavi.adminlectures = Kurssit ja luennot
topnavi.adminshop = Kauppa topnavi.adminshop = Kauppa
topnavi.billing = Laskutus topnavi.billing = Laskutus
topnavi.competitions = Kilpailut topnavi.competitions = Kilpailut
...@@ -1185,6 +1193,7 @@ topnavi.shop = Kauppa ...@@ -1185,6 +1193,7 @@ topnavi.shop = Kauppa
topnavi.user = Omat tiedot topnavi.user = Omat tiedot
topnavi.userevent = Tapahtuma topnavi.userevent = Tapahtuma
topnavi.userinit = K\u00E4ytt\u00E4j\u00E4n tunnistus topnavi.userinit = K\u00E4ytt\u00E4j\u00E4n tunnistus
topnavi.userlectures = Kurssit ja luennot
topnavi.usermgmt = K\u00E4ytt\u00E4j\u00E4t topnavi.usermgmt = K\u00E4ytt\u00E4j\u00E4t
topnavi.userplaces = Konepaikat topnavi.userplaces = Konepaikat
topnavi.usershop = Kauppa topnavi.usershop = Kauppa
......
...@@ -9,6 +9,8 @@ import javax.inject.Named; ...@@ -9,6 +9,8 @@ import javax.inject.Named;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.LectureBeanLocal; import fi.codecrew.moya.beans.LectureBeanLocal;
import fi.codecrew.moya.enums.apps.LecturePermission;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.LectureGroup; import fi.codecrew.moya.model.LectureGroup;
import fi.codecrew.moya.utilities.I18n; import fi.codecrew.moya.utilities.I18n;
import fi.codecrew.moya.web.cdiview.GenericCDIView; import fi.codecrew.moya.web.cdiview.GenericCDIView;
...@@ -25,46 +27,42 @@ public class LectureGroupView extends GenericCDIView { ...@@ -25,46 +27,42 @@ public class LectureGroupView extends GenericCDIView {
@EJB @EJB
EventBeanLocal eventBean; EventBeanLocal eventBean;
private LectureGroup currentLectureGroup; private LectureGroup currentLectureGroup;
private boolean creatingLectureGroup = true; private boolean creatingLectureGroup = true;
private ListDataModel<LectureGroup> lectureGroupModel = null; private ListDataModel<LectureGroup> lectureGroupModel = null;
public void initView() { public void initView() {
if (super.requirePermissions(LecturePermission.MANAGE)) {
super.beginConversation(); super.beginConversation();
} }
}
public void saveLectureGroup() { public void saveLectureGroup() {
FacesContext context = FacesContext.getCurrentInstance(); FacesContext context = FacesContext.getCurrentInstance();
if(currentLectureGroup == null) { if (currentLectureGroup == null) {
// this should never happen, so no internatiolazion here. // this should never happen, so no internatiolazion here.
context.addMessage(null, new FacesMessage(I18n.get("error"), "There was some internal error when saving lecture group, basicly there was no lecturegroup to save.") ); context.addMessage(null, new FacesMessage(I18n.get("error"), "There was some internal error when saving lecture group, basicly there was no lecturegroup to save."));
return ; return;
} }
currentLectureGroup = lectureBean.saveLectureGroup(currentLectureGroup); currentLectureGroup = lectureBean.saveLectureGroup(currentLectureGroup);
if(creatingLectureGroup) if (creatingLectureGroup)
context.addMessage(null, new FacesMessage(I18n.get("success"), I18n.get("lecturegroup.create.success")) ); context.addMessage(null, new FacesMessage(I18n.get("success"), I18n.get("lecturegroup.create.success")));
else else
context.addMessage(null, new FacesMessage(I18n.get("success"), I18n.get("lecturegroup.save.success")) ); context.addMessage(null, new FacesMessage(I18n.get("success"), I18n.get("lecturegroup.save.success")));
this.creatingLectureGroup = false; this.creatingLectureGroup = false;
lectureGroupModel = null; lectureGroupModel = null;
} }
public void editCurrent() { public void editCurrent() {
if(lectureGroupModel != null && lectureGroupModel.isRowAvailable()) { if (lectureGroupModel != null && lectureGroupModel.isRowAvailable()) {
this.creatingLectureGroup = false; this.creatingLectureGroup = false;
currentLectureGroup = lectureGroupModel.getRowData(); currentLectureGroup = lectureGroupModel.getRowData();
} }
...@@ -75,14 +73,14 @@ public class LectureGroupView extends GenericCDIView { ...@@ -75,14 +73,14 @@ public class LectureGroupView extends GenericCDIView {
setCreatingLectureGroup(true); setCreatingLectureGroup(true);
} }
public ListDataModel<LectureGroup> getLectureGroups() { public ListDataModel<LectureGroup> getLectureGroups() {
if(lectureGroupModel == null) { if (lectureGroupModel == null) {
lectureGroupModel = new ListDataModel<LectureGroup>(lectureBean.getLectureGroups()); lectureGroupModel = new ListDataModel<LectureGroup>(lectureBean.getLectureGroups());
} }
return lectureGroupModel; return lectureGroupModel;
} }
public boolean isCreatingLectureGroup() { public boolean isCreatingLectureGroup() {
return creatingLectureGroup; return creatingLectureGroup;
} }
...@@ -91,11 +89,9 @@ public class LectureGroupView extends GenericCDIView { ...@@ -91,11 +89,9 @@ public class LectureGroupView extends GenericCDIView {
this.creatingLectureGroup = creatingLectureGroup; this.creatingLectureGroup = creatingLectureGroup;
} }
public LectureGroup getCurrentLectureGroup() { public LectureGroup getCurrentLectureGroup() {
if(currentLectureGroup == null) { if (currentLectureGroup == null) {
currentLectureGroup = new LectureGroup(eventBean.getCurrentEvent()); currentLectureGroup = new LectureGroup(eventBean.getCurrentEvent());
} }
...@@ -108,14 +104,12 @@ public class LectureGroupView extends GenericCDIView { ...@@ -108,14 +104,12 @@ public class LectureGroupView extends GenericCDIView {
this.creatingLectureGroup = false; this.creatingLectureGroup = false;
} }
public String getEditPanelTitle() { public String getEditPanelTitle() {
if(isCreatingLectureGroup()) { if (isCreatingLectureGroup()) {
return I18n.get("lectureGroup.createLectureGroup"); return I18n.get("lectureGroup.createLectureGroup");
} else { } else {
return I18n.get("lectureGroup.saveLectureGroup"); return I18n.get("lectureGroup.saveLectureGroup");
} }
} }
} }
...@@ -10,6 +10,7 @@ import javax.inject.Named; ...@@ -10,6 +10,7 @@ import javax.inject.Named;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.LectureBeanLocal; import fi.codecrew.moya.beans.LectureBeanLocal;
import fi.codecrew.moya.enums.apps.LecturePermission;
import fi.codecrew.moya.model.Lecture; import fi.codecrew.moya.model.Lecture;
import fi.codecrew.moya.model.LectureGroup; import fi.codecrew.moya.model.LectureGroup;
import fi.codecrew.moya.web.cdiview.GenericCDIView; import fi.codecrew.moya.web.cdiview.GenericCDIView;
...@@ -36,6 +37,13 @@ public class LectureUserView extends GenericCDIView { ...@@ -36,6 +37,13 @@ public class LectureUserView extends GenericCDIView {
LectureGroup currentLectureGroup; LectureGroup currentLectureGroup;
public void initView() {
if (super.requirePermissions(LecturePermission.VIEW)) {
super.beginConversation();
}
}
public ListDataModel<LectureGroup> getLectureGroups() { public ListDataModel<LectureGroup> getLectureGroups() {
lectureGroups = new ListDataModel<LectureGroup>(lectureBean.getLectureGroups()); lectureGroups = new ListDataModel<LectureGroup>(lectureBean.getLectureGroups());
......
...@@ -9,6 +9,7 @@ import javax.inject.Named; ...@@ -9,6 +9,7 @@ import javax.inject.Named;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.LectureBeanLocal; import fi.codecrew.moya.beans.LectureBeanLocal;
import fi.codecrew.moya.enums.apps.LecturePermission;
import fi.codecrew.moya.model.Lecture; import fi.codecrew.moya.model.Lecture;
import fi.codecrew.moya.model.LectureGroup; import fi.codecrew.moya.model.LectureGroup;
import fi.codecrew.moya.utilities.I18n; import fi.codecrew.moya.utilities.I18n;
...@@ -26,7 +27,6 @@ public class LectureView extends GenericCDIView { ...@@ -26,7 +27,6 @@ public class LectureView extends GenericCDIView {
@EJB @EJB
EventBeanLocal eventBean; EventBeanLocal eventBean;
private LectureGroup currentLectureGroup; private LectureGroup currentLectureGroup;
private Lecture currentLecture; private Lecture currentLecture;
...@@ -38,36 +38,34 @@ public class LectureView extends GenericCDIView { ...@@ -38,36 +38,34 @@ public class LectureView extends GenericCDIView {
private Integer lecturegroupId = null; private Integer lecturegroupId = null;
public void initView() { public void initView() {
if (super.requirePermissions(LecturePermission.MANAGE)) {
super.beginConversation(); super.beginConversation();
} }
}
public void saveLecture() { public void saveLecture() {
FacesContext context = FacesContext.getCurrentInstance(); FacesContext context = FacesContext.getCurrentInstance();
if(currentLecture == null) { if (currentLecture == null) {
// this should never happen, so no internatiolazion here. // this should never happen, so no internatiolazion here.
context.addMessage(null, new FacesMessage(I18n.get("error"), "There was some internal error when saving lecture group, basicly there was no lecturegroup to save.") ); context.addMessage(null, new FacesMessage(I18n.get("error"), "There was some internal error when saving lecture group, basicly there was no lecturegroup to save."));
return ; return;
} }
currentLecture = lectureBean.saveLecture(currentLecture); currentLecture = lectureBean.saveLecture(currentLecture);
currentLectureGroup = currentLecture.getLectureGroup(); currentLectureGroup = currentLecture.getLectureGroup();
if(creatingLecture) if (creatingLecture)
context.addMessage(null, new FacesMessage(I18n.get("success"), I18n.get("lecturegroup.create.success")) ); context.addMessage(null, new FacesMessage(I18n.get("success"), I18n.get("lecturegroup.create.success")));
else else
context.addMessage(null, new FacesMessage(I18n.get("success"), I18n.get("lecturegroup.save.success")) ); context.addMessage(null, new FacesMessage(I18n.get("success"), I18n.get("lecturegroup.save.success")));
this.creatingLecture = false; this.creatingLecture = false;
lectures = null; lectures = null;
if(isMulticreate()) { if (isMulticreate()) {
currentLecture = (Lecture) currentLecture.clone(); currentLecture = (Lecture) currentLecture.clone();
currentLecture.setName(""); currentLecture.setName("");
...@@ -79,7 +77,7 @@ public class LectureView extends GenericCDIView { ...@@ -79,7 +77,7 @@ public class LectureView extends GenericCDIView {
} }
public void editCurrent() { public void editCurrent() {
if(lectures != null && lectures.isRowAvailable()) { if (lectures != null && lectures.isRowAvailable()) {
this.creatingLecture = false; this.creatingLecture = false;
currentLecture = lectures.getRowData(); currentLecture = lectures.getRowData();
} }
...@@ -90,9 +88,6 @@ public class LectureView extends GenericCDIView { ...@@ -90,9 +88,6 @@ public class LectureView extends GenericCDIView {
currentLecture = null; currentLecture = null;
} }
public Integer getLectureGroupId() { public Integer getLectureGroupId() {
return lecturegroupId; return lecturegroupId;
...@@ -104,74 +99,58 @@ public class LectureView extends GenericCDIView { ...@@ -104,74 +99,58 @@ public class LectureView extends GenericCDIView {
} }
public ListDataModel<Lecture> getLectures() { public ListDataModel<Lecture> getLectures() {
if(lectures == null && getCurrentLectureGroup() != null) { if (lectures == null && getCurrentLectureGroup() != null) {
lectures = new ListDataModel<Lecture>(getCurrentLectureGroup().getLectures()); lectures = new ListDataModel<Lecture>(getCurrentLectureGroup().getLectures());
} }
return lectures; return lectures;
} }
public void setLectures(ListDataModel<Lecture> lectures) { public void setLectures(ListDataModel<Lecture> lectures) {
this.lectures = lectures; this.lectures = lectures;
} }
public boolean isMulticreate() { public boolean isMulticreate() {
return multicreate; return multicreate;
} }
public void setMulticreate(boolean multicreate) { public void setMulticreate(boolean multicreate) {
this.multicreate = multicreate; this.multicreate = multicreate;
} }
public Lecture getCurrentLecture() { public Lecture getCurrentLecture() {
if(currentLecture == null) { if (currentLecture == null) {
currentLecture = new Lecture(getCurrentLectureGroup()); currentLecture = new Lecture(getCurrentLectureGroup());
} }
return currentLecture; return currentLecture;
} }
public void setCurrentLecture(Lecture currentLecture) { public void setCurrentLecture(Lecture currentLecture) {
this.currentLecture = currentLecture; this.currentLecture = currentLecture;
} }
public LectureGroup getCurrentLectureGroup() { public LectureGroup getCurrentLectureGroup() {
if(currentLectureGroup == null) { if (currentLectureGroup == null) {
currentLectureGroup = lectureBean.findLectureGroup(lecturegroupId); currentLectureGroup = lectureBean.findLectureGroup(lecturegroupId);
} }
return currentLectureGroup; return currentLectureGroup;
} }
public String getEditPanelTitle() { public String getEditPanelTitle() {
if(isCreatingLecture()) { if (isCreatingLecture()) {
return I18n.get("lecture.createLecture"); return I18n.get("lecture.createLecture");
} else { } else {
return I18n.get("lecture.saveLecture"); return I18n.get("lecture.saveLecture");
} }
} }
public boolean isCreatingLecture() { public boolean isCreatingLecture() {
return creatingLecture; return creatingLecture;
} }
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!