Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Codecrew
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
30
Merge Requests
2
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 36975b7b
authored
Jun 19, 2014
by
Tuukka Kivilahti
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
sorting for lectures, and also added reports for lectures
1 parent
0bbb999c
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
211 additions
and
10 deletions
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/MenuBean.java
code/MoyaDatabase/src/fi/codecrew/moya/model/Lecture.java
code/MoyaWeb/WebContent/lectureadmin/lectureParticipants.xhtml
code/MoyaWeb/WebContent/lectures/viewLectures.xhtml
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n.properties
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_en.properties
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_fi.properties
code/MoyaWeb/src/fi/codecrew/moya/web/lecture/LectureReportsView.java
code/MoyaWeb/src/fi/codecrew/moya/web/lecture/LectureUserView.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/MenuBean.java
View file @
36975b7
...
@@ -297,7 +297,9 @@ public class MenuBean implements MenuBeanLocal {
...
@@ -297,7 +297,9 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation
adminlectures
=
adminmenu
.
addPage
(
null
,
null
);
MenuNavigation
adminlectures
=
adminmenu
.
addPage
(
null
,
null
);
adminlectures
.
setKey
(
"topnavi.adminlectures"
);
adminlectures
.
setKey
(
"topnavi.adminlectures"
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageLectureGroups"
),
LecturePermission
.
MANAGE
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageLectureGroups"
),
LecturePermission
.
MANAGE
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageLectures"
),
LecturePermission
.
MANAGE
).
setVisible
(
false
);;
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/lectureParticipants"
),
LecturePermission
.
MANAGE
);
adminlectures
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/lectureadmin/manageLectures"
),
LecturePermission
.
MANAGE
).
setVisible
(
false
);
...
...
code/MoyaDatabase/src/fi/codecrew/moya/model/Lecture.java
View file @
36975b7
...
@@ -195,9 +195,9 @@ public class Lecture extends GenericEntity {
...
@@ -195,9 +195,9 @@ public class Lecture extends GenericEntity {
}
}
@Transient
@Transient
public
boolean
isFull
()
{
public
boolean
isFull
()
{
if
(
getMaxParticipantsCount
()
<=
0
)
{
if
(
getMaxParticipantsCount
()
==
null
||
getMaxParticipantsCount
()
<=
0
)
{
return
false
;
return
false
;
}
}
...
...
code/MoyaWeb/WebContent/lectureadmin/lectureParticipants.xhtml
0 → 100644
View file @
36975b7
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html
xmlns=
"http://www.w3.org/1999/xhtml"
xmlns:ui=
"http://java.sun.com/jsf/facelets"
xmlns:h=
"http://java.sun.com/jsf/html"
xmlns:f=
"http://java.sun.com/jsf/core"
xmlns:products=
"http://java.sun.com/jsf/composite/cditools/products"
xmlns:users=
"http://java.sun.com/jsf/composite/cditools/user"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
xmlns:p=
"http://primefaces.org/ui"
>
<h:body>
<ui:composition
template=
"#{sessionHandler.template}"
>
<f:metadata>
<f:viewParam
name=
"lecturegroupid"
value=
"#{lectureView.lectureGroupId}"
/>
<f:event
type=
"preRenderView"
listener=
"#{lectureReportsView.initView()}"
/>
</f:metadata>
<ui:define
rendered=
"#{lectureReportsView.lectureGroupsVisible}"
name=
"title"
>
<h1>
#{i18n['viewlectures.title']}
</h1>
</ui:define>
<ui:define
name=
"content"
>
<h:form
id=
"viewlecturesform"
>
<p:fieldset
rendered=
"#{lectureReportsView.lectureGroupsVisible}"
id=
"lectureGroups"
legend=
"#{i18n['lecture.selectgroup']}"
>
<p:dataTable
value=
"#{lectureReportsView.lectureGroups}"
var=
"lectureGroup"
>
<p:column
headerText=
"#{i18n['lectureGroup.name']}"
>
<h:outputText
value=
"#{lectureGroup.name}"
/>
</p:column>
<p:column
headerText=
"#{i18n['lectureGroup.description']}"
>
<h:outputText
value=
"#{lectureGroup.description}"
/>
</p:column>
<p:column
headerText=
"#{i18n['lectureGroup.selectCountUserInfo']}"
>
<h:outputText
value=
"#{lectureGroup.selectCount}"
/>
</p:column>
<p:column>
<p:commandButton
value=
"#{i18n['lectureGroup.view']}"
actionListener=
"#{lectureReportsView.selectCurrentLectureGroup}"
update=
":viewlecturesform:participatedLectures :viewlecturesform:availableLectures :viewlecturesform:title"
onerror=
"location.reload(true)"
/>
</p:column>
</p:dataTable>
</p:fieldset>
<h1>
<h:outputText
id=
"title"
value=
"#{lectureReportsView.currentLectureGroup.name}"
/>
</h1>
<p:fieldset
id=
"availableLectures"
legend=
"#{i18n['lecture.availableLectures']}"
>
<p:commandButton
value=
"#{i18n['refresh']}"
actionListener=
"#{lectureReportsView.refresh}"
/>
<p:dataTable
value=
"#{lectureReportsView.lectures}"
var=
"lecture"
>
<p:column
style=
"width:16px"
>
<p:rowToggler
/>
</p:column>
<p:column
headerText=
"#{i18n['lecture.name']}"
sortBy=
"#{lecture.name}"
>
<h:outputText
value=
"#{lecture.name}"
/>
</p:column>
<p:column
headerText=
"#{i18n['lecture.description']}"
sortBy=
"#{lecture.description}"
>
<h:outputText
value=
"#{lecture.description}"
/>
</p:column>
<p:column
headerText=
"#{i18n['lecture.hours']}"
sortBy=
"#{lecture.hours}"
>
<h:outputText
value=
"#{lecture.hours}"
/>
</p:column>
<p:column
headerText=
"#{i18n['lecture.startTime']}"
sortBy=
"#{lecture.startTime}"
>
<h:outputText
value=
"#{lecture.startTime}"
>
<f:convertDateTime
pattern=
"#{sessionHandler.datetimeFormat}"
timeZone=
"#{sessionHandler.timezone}"
/>
</h:outputText>
</p:column>
<p:column
headerText=
"#{i18n['lecture.participants']}"
sortBy=
"#{lecture.participantsCount}"
>
<h:outputText
value=
"#{lecture.participantsCount}"
/>
/
<h:outputText
value=
"#{lecture.maxParticipantsCount}"
/>
</p:column>
<p:column>
<h:outputText
value=
"#{i18n['lecture.full']}"
rendered=
"#{lecture.full}"
/>
</p:column>
<p:rowExpansion>
<p:dataTable
value=
"#{lecture.participants}"
var=
"user"
>
<p:column
headerText=
"#{i18n['user.nick']}"
sortBy=
"#{user.user.nick}"
>
<h:outputText
value=
"#{user.user.nick}"
/>
</p:column>
<p:column
headerText=
"#{i18n['user.lastName']}"
sortBy=
"#{user.user.lastname}"
>
<h:outputText
value=
"#{user.user.lastname}"
/>
</p:column>
<p:column
headerText=
"#{i18n['user.firstNames']}"
sortBy=
"#{user.user.firstnames}"
>
<h:outputText
value=
"#{user.user.firstnames}"
/>
</p:column>
</p:dataTable>
</p:rowExpansion>
</p:dataTable>
<p:commandButton
value=
"#{i18n['refresh']}"
actionListener=
"#{lectureReportsView.refresh}"
/>
</p:fieldset>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
code/MoyaWeb/WebContent/lectures/viewLectures.xhtml
View file @
36975b7
...
@@ -62,23 +62,23 @@
...
@@ -62,23 +62,23 @@
</p:dataTable>
</p:dataTable>
</p:fieldset>
</p:fieldset>
<br
/><br
/>
<br
/><br
/>
<p:fieldset
id=
"availableLectures"
legend=
"#{i18n['lecture.availableLectures']}"
>
<p:fieldset
id=
"availableLectures"
legend=
"#{i18n['lecture.availableLectures']}"
>
<p:dataTable
value=
"#{lectureUserView.lectures}"
var=
"lecture"
>
<p:dataTable
value=
"#{lectureUserView.lectures}"
var=
"lecture"
>
<p:column
headerText=
"#{i18n['lecture.name']}"
>
<p:column
headerText=
"#{i18n['lecture.name']}"
sortBy=
"#{lecture.name}"
>
<h:outputText
value=
"#{lecture.name}"
/>
<h:outputText
value=
"#{lecture.name}"
/>
</p:column>
</p:column>
<p:column
headerText=
"#{i18n['lecture.description']}"
>
<p:column
headerText=
"#{i18n['lecture.description']}"
sortBy=
"#{lecture.description}"
>
<h:outputText
value=
"#{lecture.description}"
/>
<h:outputText
value=
"#{lecture.description}"
/>
</p:column>
</p:column>
<p:column
headerText=
"#{i18n['lecture.hours']}"
>
<p:column
headerText=
"#{i18n['lecture.hours']}"
sortBy=
"#{lecture.hours}"
>
<h:outputText
value=
"#{lecture.hours}"
/>
<h:outputText
value=
"#{lecture.hours}"
/>
</p:column>
</p:column>
<p:column
headerText=
"#{i18n['lecture.startTime']}"
>
<p:column
headerText=
"#{i18n['lecture.startTime']}"
sortBy=
"#{lecture.startTime}"
>
<h:outputText
value=
"#{lecture.startTime}"
>
<h:outputText
value=
"#{lecture.startTime}"
>
<f:convertDateTime
pattern=
"#{sessionHandler.datetimeFormat}"
timeZone=
"#{sessionHandler.timezone}"
/>
<f:convertDateTime
pattern=
"#{sessionHandler.datetimeFormat}"
timeZone=
"#{sessionHandler.timezone}"
/>
</h:outputText>
</h:outputText>
</p:column>
</p:column>
<p:column
headerText=
"#{i18n['lecture.participants']}"
>
<p:column
headerText=
"#{i18n['lecture.participants']}"
sortBy=
"#{lecture.participantsCount}"
>
<h:outputText
value=
"#{lecture.participantsCount}"
/>
/
<h:outputText
value=
"#{lecture.maxParticipantsCount}"
/>
<h:outputText
value=
"#{lecture.participantsCount}"
/>
/
<h:outputText
value=
"#{lecture.maxParticipantsCount}"
/>
</p:column>
</p:column>
<p:column>
<p:column>
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n.properties
View file @
36975b7
...
@@ -290,6 +290,8 @@ productshop.plusTen = +10
...
@@ -290,6 +290,8 @@ productshop.plusTen = +10
reader.autopoll
=
Jatkuva lukijan seuraaminen
reader.autopoll
=
Jatkuva lukijan seuraaminen
refresh
=
P
\u
00E4ivit
\u
00E4
registerleaflet.title
=
Rekisteriseloste
registerleaflet.title
=
Rekisteriseloste
resetMail.header
=
Reset lost password
resetMail.header
=
Reset lost password
...
@@ -314,6 +316,7 @@ submenu.frontpage = Frontpage
...
@@ -314,6 +316,7 @@ submenu.frontpage = Frontpage
submenu.info.incoming
=
Sis
\u
00E4
\u
00E4ntulo
submenu.info.incoming
=
Sis
\u
00E4
\u
00E4ntulo
submenu.info.index
=
Infon
\u
00E4kym
\u
00E4
submenu.info.index
=
Infon
\u
00E4kym
\u
00E4
submenu.info.shop
=
Kauppa
submenu.info.shop
=
Kauppa
submenu.lectureadmin.lectureParticipants
=
Tarkastele osallistujia
submenu.lectureadmin.manageLectureGroups
=
Hallinnoi
submenu.lectureadmin.manageLectureGroups
=
Hallinnoi
submenu.lectures.viewLectures
=
Ilmoittaudu
submenu.lectures.viewLectures
=
Ilmoittaudu
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_en.properties
View file @
36975b7
...
@@ -938,6 +938,8 @@ readerevent.tagname = Tag
...
@@ -938,6 +938,8 @@ readerevent.tagname = Tag
readerview.cards
=
Card ( printcount )
readerview.cards
=
Card ( printcount )
refresh
=
Refresh
registerleaflet.title
=
Register leaflet
registerleaflet.title
=
Register leaflet
rejectcard.body
=
Body
rejectcard.body
=
Body
...
@@ -1095,6 +1097,7 @@ submenu.index = Frontpage
...
@@ -1095,6 +1097,7 @@ submenu.index = Frontpage
submenu.info.incoming
=
Incomingview
submenu.info.incoming
=
Incomingview
submenu.info.index
=
Infoview
submenu.info.index
=
Infoview
submenu.info.shop
=
Shop
submenu.info.shop
=
Shop
submenu.lectureadmin.lectureParticipants
=
Lecture participants
submenu.lectureadmin.manageLectureGroups
=
Management
submenu.lectureadmin.manageLectureGroups
=
Management
submenu.lectures.viewLectures
=
Participate
submenu.lectures.viewLectures
=
Participate
submenu.license.manageCodes
=
Manage codes
submenu.license.manageCodes
=
Manage codes
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_fi.properties
View file @
36975b7
...
@@ -923,6 +923,8 @@ readerevent.tagname = Tagi
...
@@ -923,6 +923,8 @@ readerevent.tagname = Tagi
readerview.cards
=
Kortit ( tulostuslkm )
readerview.cards
=
Kortit ( tulostuslkm )
refresh
=
P
\u
00E4ivit
\u
00E4
registerleaflet.title
=
Rekisteriseloste
registerleaflet.title
=
Rekisteriseloste
rejectcard.body
=
Viestin sis
\u
00E4lt
\u
00F6
rejectcard.body
=
Viestin sis
\u
00E4lt
\u
00F6
...
@@ -1075,6 +1077,7 @@ submenu.index = Etusivu
...
@@ -1075,6 +1077,7 @@ submenu.index = Etusivu
submenu.info.incoming
=
Sis
\u
00E4
\u
00E4ntulo
submenu.info.incoming
=
Sis
\u
00E4
\u
00E4ntulo
submenu.info.index
=
Infon
\u
00E4kym
\u
00E4
submenu.info.index
=
Infon
\u
00E4kym
\u
00E4
submenu.info.shop
=
Kauppa
submenu.info.shop
=
Kauppa
submenu.lectureadmin.lectureParticipants
=
Kurssiosallistujat
submenu.lectureadmin.manageLectureGroups
=
Hallinnoi
submenu.lectureadmin.manageLectureGroups
=
Hallinnoi
submenu.lectures.viewLectures
=
Ilmoittaudu
submenu.lectures.viewLectures
=
Ilmoittaudu
submenu.license.manageCodes
=
Hallinnoi lisenssej
\u
00E4
submenu.license.manageCodes
=
Hallinnoi lisenssej
\u
00E4
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/lecture/LectureReportsView.java
0 → 100644
View file @
36975b7
package
fi
.
codecrew
.
moya
.
web
.
lecture
;
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.faces.model.ListDataModel
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.beans.LectureBeanLocal
;
import
fi.codecrew.moya.enums.apps.LecturePermission
;
import
fi.codecrew.moya.model.Lecture
;
import
fi.codecrew.moya.model.LectureGroup
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
import
fi.codecrew.moya.web.cdiview.user.UserView
;
@Named
@ConversationScoped
public
class
LectureReportsView
extends
GenericCDIView
{
private
static
final
long
serialVersionUID
=
1L
;
@Inject
UserView
userView
;
@EJB
LectureBeanLocal
lectureBean
;
@EJB
EventBeanLocal
eventBean
;
ListDataModel
<
LectureGroup
>
lectureGroups
=
null
;
ListDataModel
<
Lecture
>
lectures
=
null
;
ListDataModel
<
Lecture
>
participatedLectures
=
null
;
LectureGroup
currentLectureGroup
;
public
void
initView
()
{
if
(
super
.
requirePermissions
(
LecturePermission
.
MANAGE
))
{
super
.
beginConversation
();
}
}
public
void
refresh
()
{
this
.
lectures
=
null
;
}
public
boolean
isLectureGroupsVisible
()
{
if
(
lectureBean
.
getLectureGroups
().
size
()
<=
1
)
return
false
;
return
true
;
}
public
ListDataModel
<
LectureGroup
>
getLectureGroups
()
{
lectureGroups
=
new
ListDataModel
<
LectureGroup
>(
lectureBean
.
getLectureGroups
());
return
lectureGroups
;
}
public
void
selectCurrentLectureGroup
()
{
if
(
lectureGroups
!=
null
&&
lectureGroups
.
isRowAvailable
())
{
currentLectureGroup
=
lectureGroups
.
getRowData
();
lectures
=
null
;
}
}
public
LectureGroup
getCurrentLectureGroup
()
{
List
<
LectureGroup
>
groups
=
lectureBean
.
getLectureGroups
();
if
(
currentLectureGroup
==
null
&&
groups
.
size
()
>
0
)
{
currentLectureGroup
=
groups
.
get
(
0
);
}
return
currentLectureGroup
;
}
public
ListDataModel
<
Lecture
>
getLectures
()
{
if
(
currentLectureGroup
==
null
)
return
new
ListDataModel
<
Lecture
>();
if
(
lectures
==
null
)
lectures
=
new
ListDataModel
<
Lecture
>(
lectureBean
.
getLecturesByLectureGroup
(
getCurrentLectureGroup
()));
return
lectures
;
}
public
int
getCurrentGroupParticipateCount
()
{
return
lectureBean
.
userLectureSelects
(
getCurrentLectureGroup
(),
userView
.
getCurrentUser
());
}
}
code/MoyaWeb/src/fi/codecrew/moya/web/lecture/LectureUserView.java
View file @
36975b7
...
@@ -78,7 +78,8 @@ public class LectureUserView extends GenericCDIView {
...
@@ -78,7 +78,8 @@ public class LectureUserView extends GenericCDIView {
if
(
currentLectureGroup
==
null
)
if
(
currentLectureGroup
==
null
)
return
new
ListDataModel
<
Lecture
>();
return
new
ListDataModel
<
Lecture
>();
lectures
=
new
ListDataModel
<
Lecture
>(
lectureBean
.
findAvailableLectures
(
getCurrentLectureGroup
(),
userView
.
getCurrentUser
()));
if
(
lectures
==
null
)
lectures
=
new
ListDataModel
<
Lecture
>(
lectureBean
.
findAvailableLectures
(
getCurrentLectureGroup
(),
userView
.
getCurrentUser
()));
return
lectures
;
return
lectures
;
}
}
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment