src/main/scala/fis/sr/model/Service.scala
author Tomas Zeman <tzeman@volny.cz>
Thu, 24 May 2012 11:19:26 +0200
changeset 99 49eb72a46208
permissions -rw-r--r--
e45557248ba12a15 Services
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
99
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     1
/*
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     2
 * Copyright 2012 Tomas Zeman <tzeman@volny.cz>
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     3
 *
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     4
 * Licensed under the Apache License, Version 2.0 (the "License");
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     5
 * you may not use this file except in compliance with the License.
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     6
 * You may obtain a copy of the License at
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     7
 *
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     8
 *     http://www.apache.org/licenses/LICENSE-2.0
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
     9
 *
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    10
 * Unless required by applicable law or agreed to in writing, software
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    11
 * distributed under the License is distributed on an "AS IS" BASIS,
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    13
 * See the License for the specific language governing permissions and
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    14
 * limitations under the License.
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    15
 */
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    16
package fis.sr.model
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    17
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    18
import fis.aaa.model._
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    19
import fis.base.model.Entity
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    20
import fis.cl.model._
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    21
import fis.crm.model._
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    22
import net.liftweb.common._
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    23
import net.liftweb.record.{MetaRecord, Record}
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    24
import net.liftweb.record.field._
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    25
import net.tz.lift.model._
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    26
import net.tz.lift.model.{FieldLabel => FL}
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    27
import org.squeryl.annotations.Column
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    28
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    29
class Service private() extends Record[Service] with Entity[Service] {
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    30
  def meta = Service
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    31
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    32
  val company = new LongField(this) with CompanyField with FL {
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    33
    override def toForm = Full(<span class="uneditable-input">{asHtml}</span>)
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    34
  }
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    35
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    36
  @Column("state")
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    37
  protected[sr] val stateFld = new CodeListItemField(this, 'service_state)
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    38
    with FL
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    39
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    40
  val from = new JodaDateMidnightField(this) with FL
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    41
  val to = new OptionalJodaDateMidnightField(this) with FL
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    42
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    43
  def state = stateFld.item.map(ServiceState(_))
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    44
}
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    45
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    46
object Service extends Service with MetaRecord[Service]
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    47
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    48
case class ServiceState(id: Long)
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    49
object ServiceState {
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    50
  def apply(i: CodeListItem): ServiceState = ServiceState(i.id)
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    51
}
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    52
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    53
49eb72a46208 e45557248ba12a15 Services
Tomas Zeman <tzeman@volny.cz>
parents:
diff changeset
    54
// vim: set ts=2 sw=2 et: