Skip to content

Commit

Permalink
updated to play 2.4
Browse files Browse the repository at this point in the history
  • Loading branch information
tmbo committed Jan 11, 2017
1 parent 426f654 commit 2f8cf50
Show file tree
Hide file tree
Showing 18 changed files with 101 additions and 105 deletions.
13 changes: 10 additions & 3 deletions app/controllers/Application.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,19 @@
*/
package controllers

import javax.inject.Inject

import play.api._
import play.api.i18n.MessagesApi
import play.api.mvc._
import views.html
import play.api.routing.JavaScriptReverseRouter

class Application @Inject()(
config: Configuration,
val messagesApi: MessagesApi) extends Controller {

object Application extends Controller {
val hostUrl = Play.current.configuration.getString("host.url").get
val hostUrl = config.getString("host.url").get

def index = UserAwareAction { implicit request =>
if (request.userOpt.isDefined)
Expand Down Expand Up @@ -39,7 +46,7 @@ object Application extends Controller {

def javascriptRoutes = Action { implicit request =>
Ok(
Routes.javascriptRouter("jsRoutes")(
JavaScriptReverseRouter("jsRoutes")(
// fill in stuff which should be able to be called from js
controllers.routes.javascript.TimeEntryController.showTimesForInterval,
controllers.routes.javascript.TimeEntryController.showTimeForUser
Expand Down
7 changes: 5 additions & 2 deletions app/controllers/IssueController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,14 @@
*/
package controllers

import javax.inject.Inject

import models.IssueDAO
import play.api.libs.json.{Writes, Json}
import play.api.i18n.MessagesApi
import play.api.libs.json.{Json, Writes}
import play.api.libs.concurrent.Execution.Implicits._

object IssueController extends Controller{
class IssueController @Inject()(val messagesApi: MessagesApi) extends Controller{

def list(owner: String, repo: String) = Authenticated.async {
implicit request =>
Expand Down
18 changes: 14 additions & 4 deletions app/controllers/RepositoryController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@
package controllers

import play.api.mvc.Action
import play.api.Logger
import play.api.{Configuration, Logger}
import models._
import com.scalableminds.util.reactivemongo.{DBAccessContext, GlobalAccessContext}
import play.api.libs.concurrent.Execution.Implicits._
import net.liftweb.common._

import scala.concurrent.Future
import play.api.libs.json._
import play.api.libs.concurrent.Akka
Expand All @@ -17,13 +18,22 @@ import net.liftweb.common.Full
import com.scalableminds.util.github.GithubApi
import com.scalableminds.util.github.models.GithubIssue
import com.scalableminds.util.tools.Fox
import javax.inject.Inject

import akka.actor.ActorSystem
import play.api.i18n.MessagesApi

class RepositoryController @Inject()(
system: ActorSystem,
config: Configuration,
val messagesApi: MessagesApi) extends Controller {

object RepositoryController extends Controller {
lazy val issueActor = system.actorSelection("/user/" + GithubUpdateActor.name)

lazy val issueActor = Akka.system.actorFor("/user/" + GithubUpdateActor.name)
lazy val hostUrl = config.getString("host.url").get

def hookUrl(repositoryId: String) =
s"${Application.hostUrl}/api/repos/$repositoryId/hook"
s"$hostUrl/api/repos/$repositoryId/hook"

def tryWithAnyAccessToken[T](tokens: List[String], body: String => Future[Boolean]) = {
def tryNext(tokens: List[String]): Future[Boolean] = {
Expand Down
9 changes: 6 additions & 3 deletions app/controllers/TimeEntryController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
*/
package controllers

import javax.inject.Inject

import models._
import com.scalableminds.util.reactivemongo.{GlobalAccessContext, DBAccessContext}
import com.scalableminds.util.reactivemongo.{DBAccessContext, GlobalAccessContext}
import views.html
import play.api.libs.concurrent.Execution.Implicits._
import com.scalableminds.util.tools.ExtendedTypes._
Expand All @@ -13,12 +15,13 @@ import com.scalableminds.util.tools.Fox
import play.api.Logger
import controllers.auth.UserAwareRequest
import net.liftweb.common.Failure
import org.joda.time.{LocalDateTime, DateTime}
import org.joda.time.{DateTime, LocalDateTime}
import play.api.libs.json._
import net.liftweb.common.Full
import org.joda.time.format.ISODateTimeFormat
import play.api.i18n.MessagesApi

object TimeEntryController extends Controller {
class TimeEntryController @Inject()(val messagesApi: MessagesApi) extends Controller {
val DefaultAccessRole = None

case class TimeEntryPost(duration: String, comment: Option[String], dateTime: DateTime)
Expand Down
9 changes: 6 additions & 3 deletions app/controllers/UserController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,22 +3,25 @@
*/
package controllers

import javax.inject.Inject

import scala.None
import models.{RepositoryDAO, RepositoryAccess, UserDAO, User}
import models.{RepositoryAccess, RepositoryDAO, User, UserDAO}
import play.api.libs.concurrent.Execution.Implicits._
import play.api.libs.json.Writes
import models.auth.{UserService, UserCache}
import models.auth.{UserCache, UserService}
import play.api.libs.json.Json
import com.scalableminds.util.mvc.Filter
import com.scalableminds.util.tools.DefaultConverters._
import play.api.i18n.MessagesApi

/**
* Company: scalableminds
* User: tmbo
* Date: 18.08.13
* Time: 16:43
*/
object UserController extends Controller {
class UserController @Inject()(val messagesApi: MessagesApi) extends Controller {
val DefaultAccessRole = None

def list = Authenticated.async {
Expand Down
9 changes: 5 additions & 4 deletions app/controllers/auth/Authentication.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
*/
package controllers.auth

import javax.inject.Inject

import play.api.mvc.Action
import play.api.{Logger, Play}
import play.api.{Configuration, Logger, Play}
import models.auth._
import play.api.libs.concurrent.Execution.Implicits._
import models.{GithubUpdateActor, RepositoryAccess, UserProfile}
Expand All @@ -13,10 +15,9 @@ import net.liftweb.common.Full
import com.scalableminds.util.reactivemongo.GlobalAccessContext
import com.scalableminds.util.auth.GithubOauth
import com.scalableminds.util.github.GithubApi
import play.api.i18n.MessagesApi

object Authentication extends GithubOauth with Controller {

val config = Play.current.configuration
class Authentication @Inject()(config: Configuration, val messagesApi: MessagesApi) extends GithubOauth with Controller {

val defaultRedirectUri = host + controllers.routes.Application.index().url

Expand Down
4 changes: 2 additions & 2 deletions app/controllers/auth/Secured.scala
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,15 @@ trait Secured extends FoxImplicits {
*/

object Authenticated extends ActionBuilder[AuthenticatedRequest]{
def invokeBlock[A](request: Request[A], block: (AuthenticatedRequest[A]) => Future[SimpleResult]) = {
def invokeBlock[A](request: Request[A], block: (AuthenticatedRequest[A]) => Future[Result]) = {
userFromSession(request).flatMap { user =>
block(new AuthenticatedRequest(user, request))
}.getOrElse(onUnauthorized(request))
}
}

object UserAwareAction extends ActionBuilder[UserAwareRequest] {
def invokeBlock[A](request: Request[A], block: (UserAwareRequest[A]) => Future[SimpleResult]) = {
def invokeBlock[A](request: Request[A], block: (UserAwareRequest[A]) => Future[Result]) = {
userFromSession(request).futureBox.flatMap {
case Full(user) =>
block(new AuthenticatedRequest(user, request))
Expand Down
12 changes: 9 additions & 3 deletions app/models/BasicReactiveDAO.scala
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,16 @@
package models

import com.scalableminds.util.reactivemongo.SecuredMongoDAO
import play.modules.reactivemongo.ReactiveMongoPlugin
import play.modules.reactivemongo.ReactiveMongoApi
import play.api.Play

trait BasicReactiveDAO[T] extends SecuredMongoDAO[T]{
trait BasicReactiveDAO[T] extends SecuredMongoDAO[T] with StaticReactiveMongoMixin{
implicit val application = Play.current
val db = ReactiveMongoPlugin.db
lazy val db = reactiveMongoApi.db
}

trait StaticReactiveMongoMixin{
// TODO: this needs fixing. Instead of accessing the db instance this way, it should
// be injected into the models by the controler using them
lazy val reactiveMongoApi = play.api.Play.current.injector.instanceOf[ReactiveMongoApi]
}
7 changes: 4 additions & 3 deletions app/models/GithubUpdateActor.scala
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import com.scalableminds.util.auth.AccessToken
import controllers.Application
import com.scalableminds.util.reactivemongo.{GlobalAccessContext, DBAccessContext}
import com.scalableminds.util.tools.{FoxImplicits, StartableActor}
import models.GithubUpdateActor
import models.auth.UserService
import play.api.{Play, Logger}
import scala.concurrent.Future
Expand Down Expand Up @@ -60,9 +59,11 @@ object GithubUpdateActor extends StartableActor[GithubUpdateActor] with FoxImpli

val linkRx = "<a[^>]*>Log Time</a>"

val hostUrl = Play.current.configuration.getString("host.url").get

def timeTrackingLinkFor(repo: Repository, issue: GithubIssue) = {
val link =
Application.hostUrl + s"/repos/${repo.id}/issues/${issue.number}/create?referer=github"
hostUrl + s"/repos/${repo.id}/issues/${issue.number}/create?referer=github"
s"""<a href="$link" target="_blank">Log Time</a>"""
}

Expand Down Expand Up @@ -97,6 +98,6 @@ object GithubUpdateActor extends StartableActor[GithubUpdateActor] with FoxImpli
}

def ensureIssueIsArchived(repo: Repository, issue: GithubIssue) = {
IssueDAO.archiveIssue(Issue(IssueReference(repo.name, issue.number), issue.title))(GlobalAccessContext)
IssueDAO.archiveIssue(Issue(IssueReference(repo.name, issue.number), issue.title, issue.milestone))(GlobalAccessContext)
}
}
3 changes: 2 additions & 1 deletion app/models/Issue.scala
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
*/
package models

import com.scalableminds.util.github.models.GithubMilestone
import play.api.libs.json.Json
import com.scalableminds.util.reactivemongo.DBAccessContext
import play.api.libs.concurrent.Execution.Implicits._
import com.scalableminds.util.tools.Fox

case class Issue(reference: IssueReference, title: String)
case class Issue(reference: IssueReference, title: String, milestone: Option[GithubMilestone])

object Issue{
implicit val issueFormat = Json.format[Issue]
Expand Down
3 changes: 1 addition & 2 deletions app/models/TimeEntry.scala
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,7 @@ object TimeEntry extends {

def publicTimeEntryWrites(timeEntry: TimeEntry, issueResolver: Map[IssueReference, Issue]) = {
val issue =
issueResolver.get(timeEntry.issueReference)
.getOrElse(Issue(timeEntry.issueReference, ""))
issueResolver.getOrElse(timeEntry.issueReference, Issue(timeEntry.issueReference, "", None))

Json.obj(
"duration" -> timeEntry.duration,
Expand Down
2 changes: 1 addition & 1 deletion app/views/main.scala.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@(title: String, additionalHeader: Html=Html.empty)(content: Html)(implicit session: controllers.SessionData)
@(title: String, additionalHeader: Html=Html(""))(content: Html)(implicit session: controllers.SessionData)

<!DOCTYPE html>

Expand Down
2 changes: 2 additions & 0 deletions conf/application.conf
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,5 @@ authentication {
scope="repo"
}
}

play.modules.enabled += "play.modules.reactivemongo.ReactiveMongoModule"
1 change: 0 additions & 1 deletion conf/play.plugins

This file was deleted.

46 changes: 0 additions & 46 deletions conf/securesocial.conf

This file was deleted.

Loading

0 comments on commit 2f8cf50

Please sign in to comment.