All Downloads are FREE. Search and download functionalities are using the official Maven repository.

code.snippet.TaskRender.scala Maven / Gradle / Ivy

The newest version!
package code.snippet

import com.homedepot.bigbricks.ui.{BigBricksLogging, HTMLCodeGenerator}

import com.homedepot.bigbricks.workflow.WorkflowWrapper
import net.liftweb.common.{Empty, Box, Full}
import net.liftweb.http.{LiftScreen, RequestVar, SHtml, S}
import WorkflowWrapper.BBTask
import scala.xml.NodeSeq

/**
  * Created by Ferosh Jacob on 11/3/16.
  */
object selectedTaskId extends RequestVar[Box[String]](Empty)

class TaskRender extends HTMLCodeGenerator with BigBricksLogging {

  def list = {


    def createOperations(x: BBTask) = {
      
        {SHtml.link("completetask", () => {
        selectedTaskId.set(Full(x.id))
      }, )}
      
    }

    val page = WorkflowWrapper.listTasks()
    createTable[BBTask](page.toList,
      "ID" -> ((x: BBTask) => x.id),
      "Task Name" -> ((x: BBTask) => x.name),
      "Actions" -> createOperations _
    )
  }


}

class CompleteTask extends LiftScreen with BigBricksLogging {

  val taskId = selectedTaskId.get match {
    case Full(s) => s
    case _ => {
      net.liftweb.http.S.redirectTo("list")
    }

  }
  val fields = WorkflowWrapper.listTaskVariables(taskId).map(f => {
    field(f._1, f._2.toString, "class" -> "form-control")
  }
  )


  def finish() {
    val variables = fields.map(f => f.displayName -> f.get).toMap
    WorkflowWrapper.completeTask(taskId, variables)
    logAndDisplayMessage(LoggingInfo, s"${taskId} completed! ")
  }

  override def finishButton = 

  override def cancelButton = 

  override def formName: String = "sample"


  override def defaultFieldNodeSeq: NodeSeq =
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy