@(region: Option[Region], custom: Option[CustomRegion])(implicit req: RequestHeader) @import org.joda.time.DateTimeZone @import views.Utils @import helper._ @import forms._ @import views.forms.FormHelpers.bootstrap @import ru.yandex.tours.geo.base.region.Types @import ru.yandex.tours.model.MapRectangle @import ru.yandex.tours.model.Languages @views.html.regions.region_js_actions() @header(text: String) = {

@text

} @render_general(form: Form[CustomRegion]) = { @header("Общее") @static(form("id"), region.fold("0")(_.id.toString), '_label -> "ID") @static(form("is_new"), region.isEmpty.toString, '_label -> "Новый") @enumSelect(form("custom_region.type"), Types.values, '_label -> "Тип региона", '_default -> region.fold("")(r => s"Default: ${r.`type`}"), 'class -> "form-control" ) @regionSelect( form("custom_region.parent_id"), custom.flatMap(_.partialRegion.parentId).flatMap(Utils.tree.region), region.map(_.parentId).flatMap(Utils.tree.region), '_label -> "Родитель", 'class -> "form-control" ) @select( form("custom_region.time_zone"), DateTimeZone.getAvailableIDs.toSeq.map(id => id -> id), '_label -> "Тайм зона", '_default -> region.flatMap(_.timeZone).fold("")(tz => s"Default: ${tz.getID}"), 'class -> "form-control" ) @inputText(form("children"), '_label -> "Дети", 'class -> "form-control", 'placeholder -> region.fold("")(_.childrenIds.mkString(",")) ) } @render_naming(form: Form[CustomRegion]) = { @header("Имя") @hidden(form("custom_region.name[0].lang").copy(value = Some("ru"))) @inputText( form("custom_region.name[0].name"), '_label -> "Русское имя", 'class -> "form-control", 'placeholder -> region.flatMap(_.name.get(Languages.ru)).getOrElse("") ) @hidden(form("custom_region.name[1].lang").copy(value = Some("en"))) @inputText( form("custom_region.name[1].name"), '_label -> "Английское имя", 'class -> "form-control", 'placeholder -> region.flatMap(_.name.get(Languages.en)).getOrElse("") ) @inputText( form("custom_region.synonyms"), '_label -> "Синонимы", 'class -> "form-control", 'placeholder -> region.fold("")(_.synonyms.mkString(", ")) ) @inputText( form("custom_region.genitive"), '_label -> "Откуда?", 'class -> "form-control", 'placeholder -> region.fold("")(_.genitive) ) @inputText( form("custom_region.dative"), '_label -> "По чему?", 'class -> "form-control", 'placeholder -> region.fold("")(_.dative) ) @inputText( form("custom_region.accusative"), '_label -> "Куда?", 'class -> "form-control", 'placeholder -> region.fold("")(_.accusative) ) @inputText( form("custom_region.locative"), '_label -> "Где?", 'class -> "form-control", 'placeholder -> region.fold("")(_.locative) ) @inputText( form("custom_region.preposition"), '_label -> "Предлог", 'class -> "form-control", 'placeholder -> region.fold("")(_.preposition) ) } @render_location(form: Form[CustomRegion]) = {
@inputText( form("custom_region.longitude"), '_label -> "Долгота", 'class -> "form-control", 'placeholder -> region.fold("")(_.longitude.toString) ) @inputText( form("custom_region.latitude"), '_label -> "Широта", 'class -> "form-control", 'placeholder -> region.fold("")(_.latitude.toString) ) @inputText( form("custom_region.bounding_box").copy(value = custom.flatMap(_.partialRegion.boundingBox).map(_.toString)), '_label -> "B-Box", 'class -> "form-control", 'placeholder -> region.fold("")(_.boundingBox.toString) ) @hidden(form("custom_region.bounding_box.min_lon")) @hidden(form("custom_region.bounding_box.min_lat")) @hidden(form("custom_region.bounding_box.max_lon")) @hidden(form("custom_region.bounding_box.max_lat")) } @render_submit = {
@if(custom.isDefined) { @Messages("action.delete") }
} @render_form = { @form(routes.RegionsController.save, 'class -> "form-horizontal") { @defining(custom.fold(CustomRegionForm.form)(CustomRegionForm.form.fill)) { form =>
@render_general(form) @render_naming(form)
@render_location(form)
@render_submit
} } } @main("Редактирование региона") { @render_form @* TODO: DELETE *@
@region.getOrElse("")
@custom.getOrElse("") }