<%
state $domove = $c->domove->all->map(sub { [$_->{site_name} => $_->{id}] });
my @classes = map { $in->{$_} ? $_ : '' } (qw(hidden deleted));
my $class = join ' ', 'fields', @classes;
$in->{user_id} //= $user->{id};
$in->{group_id} //= $user->{group_id};
my $sorting = [map $_, (0 .. 15)];
my $sorting_title = 'Мѣсто в подредбата';
my $body_title = 'Нѣколко думи, свързани смислово заедно – тѣло на страницата, съдържанѥто ѝ.';
%>
<div class="mui-panel breadcrumb">
%= link_to url_with('create_stranici')->query(pid => $in->{pid}) => (title => 'Нова страница') => begin
<i class="fas fa-plus-square"></i>
<% end %>
%= link_to '⸙' =>'home_stranici', title => "Страници"
% if(@$breadcrumb) {
<%=
$breadcrumb->map(
sub {
link_to $_->{alias} => url_for('home_stranici')->query(pid=>$_->{id}),
title => "Страници въ „$_->{alias}\""
}
)->join(' ⸙ ')
%>
% }
</div>
<div class="mui-container">
<div class="mui-panel">
%= form_for $target => (class=>'mui-form') => begin
%= t legend => title
%=t fieldset => (id=>'title') => begin
%=t legend => 'Съдържанѥ на страницата'
%= t 'div' => (class => 'mui-row') => begin
%= t 'div' => (class => 'mui-textfield mui-col-md-6') => begin
%= input_tag 'title_id' => (type =>'hidden')
%= label_for title => 'Заглавѥ'
%= text_field title => (required => 1 , placeholder =>'Заглавие на страницата')
% end
%= t 'div' => (class => 'mui-col-md-3') => begin
%= select_box language => $languages->map(sub {[$_=>$_]}) => (label =>'Ѩꙁыкъ')
% end
%= t 'div' => (class => 'mui-col-md-3') => begin
<%=
select_box
data_format => [map { [$_ => $_] } @$data_formats],
label => 'Форматъ на съдържанѥто'
%>
% end
% end; # mui-row
%= t div => (class => 'mui-row') => begin
%= t div => (class => 'mui-textfield mui-col-md-12') => begin
%= label_for body =>'Цѣлина', title => $body_title
%= t div => (id => '_body', class => 'mui-textfield', title => $body_title) => begin
%= text_area body => ($in->{body} || 'Задайте основен текст за страницата.'),(style=>'width:100%;height:15em')
% end
% end; # mui-textfield
% end; # mui-row
% end; # fieldset
%= t fieldset => (id=>'page_attributes', class=>$class) => begin
%= t legend =>'Свойства'
%= t 'div' => (class => 'mui-row') => begin
%= t 'div' => (class => 'mui-col-md-3', title=>'Въ страница') => begin
<%=
select_box
pid => $parents,
required => 1,
label => 'В страница',
value => $in->{pid}
%>
% end
%= t 'div' => (class => 'mui-col-md-3') => begin
%# We do not allow any more pages to be moved across domains.
<%=
t label => sub {
"Дом<br/><b>$domain->{site_name}</b>"
. input_tag('dom_id' => (type => 'hidden', value => $domain->{id}));
};
%>
% end
%= t 'div' => (class => 'mui-textfield mui-col-md-6') => begin
%= label_for alias =>'Слогъ'
%= text_field 'alias'
% end
% end
%= t 'div' => (class => 'mui-row') => begin
%= t 'div' => (class => 'mui-col-md-3', title => $sorting_title) => begin
<%=
select_box
sorting => $sorting,
label => $sorting_title, title => $sorting_title
%>
% end
%= t 'div' => (class => 'mui-col-md-3') => begin
<%
# We do not allow any more a page with page_type 'root' to be
# created. Every domain has only one root page and it is created
# during domain creation using the Slovo command 'generate novy-dom'
%>
<%=
t label => sub {
"Вид страница:"
. ($in->{page_type} // $page_types->[1])
. input_tag('page_type' => (type => 'hidden', value => $page_types->[1]));
};
%>
% end
%= t 'div' => (class => 'mui-textfield mui-col-md-6') => begin
%= label_for template => 'Образец'
<%=
text_field template => undef,
title => 'Образец, намиращ се в папка templates/.',
placeholder => 'partials/template_for_some_page.html.ep'
%>
% end
% end
%= t 'div' => (class => 'mui-row') => begin
<%= t 'div' => (class => 'mui-textfield mui-col-md-3',
title=> 'Начало на обнародването (в секунди от 1970) (има да се направи по-добре с избор от калѧдар)') => begin %>
%= label_for start => 'Начало'
%= number_field 'start'
% end
<%= t 'div' => (class => 'mui-textfield mui-col-md-3',
title=> 'Край на обнародването (в секунди от 1970)') => begin %>
%= label_for stop => 'Край'
%= number_field 'stop'
% end
%= t 'div' => (class => 'mui-checkbox mui-col-md-6') => begin
%= label_for hidden => 'Скрита'
%= check_box hidden => 1
%= label_for deleted => 'Изтрита'
%= check_box deleted => 1
% end
% end
% end
% if ($target eq 'update_stranici') {
%= t fieldset => (id=>'permissions') => begin
%= t legend => 'Разрешения и обнародване'
<%
# TODO: Make these listings an Ajax request and implement Autocomplete making
# requests each 500ms. like in jQ UI. This will be needed when we have many (more
# than 100) users
state $select_users
= users->all({where => {login_name => {'!=' => 'guest'}}})
->map(sub { [$_->{first_name} . ' ' . $_->{last_name} => $_->{id}] });
state $groups
= groups->all({where => {name => {'!=' => 'guest'}}})
->map(sub { [$_->{name} => $_->{id}] });
%>
%= t 'div' => (class => 'mui-row') => begin
%= t 'div' => (class => 'mui-col-md-3') => begin
<%
if ($in->{user_id} != $c->user->{id}) {
my $owner = $select_users->first(sub{ $_->[1] eq $in->{user_id}});
%>
<span style ="display: inline-block"> Собственик:
%== $owner ? $owner->[0] : '<i>Недействащ потребител</i>'
%= hidden_field(user_id => $in->{user_id})
<% } else { %>
<%=
select_box(
user_id => [['Изберете нов собственик' => ''], @$select_users],
label => 'Собственик')
%>
% }
% end
%= t 'div' => (class => 'mui-col-md-3') => begin
<%=
select_box
group_id => [['Изберете сътрудници' => ''], @$groups],
label => 'Множество сътрудници'
%>
% end
%= t 'div' => (class => 'mui-col-md-3') => begin
<%=
# TODO: document and design the behavior for stranici which are "d"
# (directories) and "l" (links)
select_box
permissions => [map { [$_ => $_] } @$permissions],
required => 1,
label => 'Права'
%>
% end
%= t 'div' => (class => 'mui-col-md-3') => begin
<%=
select_box
published => [['за преглед' => 1], ['не' => 0], ['да' => 2]],
label => 'Обнародвано'
%>
% end
% end; # mui-row
% end; # fieldset
% }
% my $button_txt = $caption eq 'Create' ? 'Създаване':'Записъ';
%= submit_button $button_txt => (class => 'mui-btn mui-btn--primary')
<%= $caption eq 'Create' ? '' :
t button => (type => 'submit', class => 'mui-btn mui-btn--primary',
name => 'redirect', value => 'show_stranici') => '… и прегледъ' %>
% end
</div>
</div>
%=javascript '/js/editor.js'