equal
deleted
inserted
replaced
20 import fis.db.PgsqlSequencer |
20 import fis.db.PgsqlSequencer |
21 import fis.cl.model._ |
21 import fis.cl.model._ |
22 import net.liftweb.common._ |
22 import net.liftweb.common._ |
23 import net.liftweb.record.{LifecycleCallbacks, MetaRecord, Record} |
23 import net.liftweb.record.{LifecycleCallbacks, MetaRecord, Record} |
24 import net.liftweb.record.field._ |
24 import net.liftweb.record.field._ |
|
25 import net.liftweb.squerylrecord.RecordTypeMode._ |
25 import net.liftweb.util._ |
26 import net.liftweb.util._ |
26 import net.tz.lift.model._ |
27 import net.tz.lift.model._ |
27 import net.tz.lift.model.{FieldLabel => FL} |
28 import net.tz.lift.model.{FieldLabel => FL} |
28 import org.squeryl.annotations.Column |
29 import org.squeryl.annotations.Column |
|
30 import org.squeryl.dsl.QueryDsl |
|
31 import org.squeryl.dsl.ast.LogicalBoolean |
29 import scala.xml.Text |
32 import scala.xml.Text |
30 |
33 |
31 class Task private() extends Record[Task] with Entity[Task] { |
34 class Task private() extends Record[Task] with Entity[Task] { |
32 def meta = Task |
35 def meta = Task |
33 |
36 |
48 def number = (numFld.year, numFld.get) |
51 def number = (numFld.year, numFld.get) |
49 def numberStr = numFld.toString |
52 def numberStr = numFld.toString |
50 |
53 |
51 def state: TaskState = |
54 def state: TaskState = |
52 stateFld.item.map { TaskState(_) } openOr EmptyTaskState |
55 stateFld.item.map { TaskState(_) } openOr EmptyTaskState |
|
56 |
|
57 def delayed = !state.complete && |
|
58 deadline.date.plusDays(1).isBefore(null) // null means now |
53 } |
59 } |
54 |
60 |
55 object Task extends Task with MetaRecord[Task] with SimpleInjector { |
61 object Task extends Task with MetaRecord[Task] with SimpleInjector { |
56 object users extends Inject[Iterable[User]](() => Nil) |
62 object users extends Inject[Iterable[User]](() => Nil) |
57 } |
63 } |
69 def complete = false |
75 def complete = false |
70 } |
76 } |
71 object TaskState { |
77 object TaskState { |
72 def apply(i: CodeListItem): TaskState = |
78 def apply(i: CodeListItem): TaskState = |
73 TaskStateItem(i.id, i.i1.get, i.i1.get == 100) |
79 TaskStateItem(i.id, i.i1.get, i.i1.get == 100) |
|
80 |
|
81 def unfinishedClause[T](i: CodeListItem)(implicit dsl: QueryDsl): |
|
82 LogicalBoolean = (i.i1 <> 100) |
74 } |
83 } |
75 |
84 |
76 private[model] class TaskNumber(t: Task) extends IntField[Task](t) with |
85 private[model] class TaskNumber(t: Task) extends IntField[Task](t) with |
77 LifecycleCallbacks with FL { |
86 LifecycleCallbacks with FL { |
78 |
87 |