--- a/src/main/scala/fis/aaa/ui/UserSnippet.scala Tue May 01 21:40:36 2012 +0200
+++ b/src/main/scala/fis/aaa/ui/UserSnippet.scala Tue May 01 22:20:54 2012 +0200
@@ -20,6 +20,8 @@
import fis.aaa.model._
import fis.crm.model.{Contact, ContactCrud, CrmSchema}
import fis.crm.ui.ContactTable
+import fis.pm.model.{AssignedProjects, AssignedTasks}
+import fis.pm.ui.{ProjectTable, TaskTable}
import net.liftweb.common._
import net.liftweb.http._
import net.liftweb.http.js.JsCmds.RedirectTo
@@ -45,7 +47,8 @@
private val viewPre = Menu.param[User]("user.view", l10n("User"), parse,
encode) / prefix / * >> Title(c => i18n("User %s", c.linkName)) >>
locTpl("user/view") >> Snippet("panel", panel) >>
- Snippet("contacts", contacts.contacts) >> Hidden
+ Snippet("contacts", contacts.contacts) >>
+ Snippet("projects", projects) >> Snippet("tasks", tasks) >> Hidden
private val editPre = Menu.param[User]("user.edit", l10n("Edit"), parse,
encode) / prefix / * / EDIT >>
@@ -78,6 +81,12 @@
private def panel: CssTr = "*" #> cur.map(UserPanel(_))
+ private def projects: CssTr = "*" #> cur.map { u =>
+ ProjectTable(AssignedProjects(u)) }
+
+ private def tasks: CssTr = "*" #> cur.map { u =>
+ TaskTable(AssignedTasks(u)) }
+
object url {
def view: User => Box[String] = (viewLoc.calcHref _) andThen (Box !! _)
}
--- a/src/main/scala/fis/pm/model/PmSchema.scala Tue May 01 21:40:36 2012 +0200
+++ b/src/main/scala/fis/pm/model/PmSchema.scala Tue May 01 22:20:54 2012 +0200
@@ -15,7 +15,7 @@
*/
package fis.pm.model
-import fis.aaa.model.AaaSchema
+import fis.aaa.model.{AaaSchema, User}
import fis.base.model.{BaseSchema, Entity}
import fis.cl.model.CodeListSchema
import net.liftweb.squerylrecord.RecordTypeMode._
@@ -92,6 +92,18 @@
from(PmSchema.projectCompany.right(c))(p => select(p) orderBy(p.name asc))
}
+object AssignedTasks {
+ def apply(u: User): Iterable[Task] =
+ from(PmSchema.taskResponsible.left(u))(t =>
+ select(t) orderBy(t.deadline asc))
+}
+
+object AssignedProjects {
+ def apply(u: User): Iterable[Project] =
+ from(PmSchema.projectResponsible.left(u))(p =>
+ select(p) orderBy(p.name asc))
+}
+
/* Many-to-many relations */
import org.squeryl.KeyedEntity
--- a/src/main/webapp/templates-hidden/_resources.html Tue May 01 21:40:36 2012 +0200
+++ b/src/main/webapp/templates-hidden/_resources.html Tue May 01 22:20:54 2012 +0200
@@ -83,6 +83,8 @@
User %s saved
User %s deleted
-->
+ <res name="user.projects-responsible" lang="en" default="true">Assigned projects</res>
+ <res name="user.tasks-responsible" lang="en" default="true">Assigned tasks</res>
<!-- user fields -->
<res name="user.name" lang="en" default="true">User name</res>
<res name="user.note" lang="en" default="true">Note</res>
--- a/src/main/webapp/templates-hidden/_resources_cs.html Tue May 01 21:40:36 2012 +0200
+++ b/src/main/webapp/templates-hidden/_resources_cs.html Tue May 01 22:20:54 2012 +0200
@@ -78,6 +78,8 @@
<res name="Really delete this user?" lang="cs">Skutečně smazat uživatele?</res>
<res name="User %s saved." lang="cs">Uživatel %s byl uložen.</res>
<res name="User %s deleted." lang="cs">Uživatel %s smazán.</res>
+ <res name="user.projects-responsible" lang="cs">Přidělené projekty</res>
+ <res name="user.tasks-responsible" lang="cs">Přidělené úkoly</res>
<!-- user fields -->
<res name="user.name" lang="cs">Uživatel</res>
--- a/src/main/webapp/user/view.html Tue May 01 21:40:36 2012 +0200
+++ b/src/main/webapp/user/view.html Tue May 01 22:20:54 2012 +0200
@@ -17,6 +17,18 @@
<span class="lift:contacts"></span>
</div>
</div> <!-- /row -->
+ <div class="row section">
+ <div class="span12">
+ <h3><span class="lift:loc?locid=user.projects-responsible"></span></h3>
+ <span class="lift:projects"></span>
+ </div>
+ </div> <!-- /row -->
+ <div class="row section">
+ <div class="span12">
+ <h3><span class="lift:loc?locid=user.tasks-responsible"></span></h3>
+ <span class="lift:tasks"></span>
+ </div>
+ </div> <!-- /row -->
</div>
</body>
</html>