& '/widgets/profile/hidden.mc',
name => "$widget|update_cb",
value => 1,
&>
<%perl>
my $rightText = $m->scomp( '/widgets/profile/imageSubmit.mc',
formName => "theForm",
callback => $widget . "|trail_cb",
image => "view_trail_teal",
alt => 'Trail',
) . ' ';
$rightText .= $m->scomp( '/widgets/profile/imageSubmit.mc',
formName => "theForm",
callback => $widget . "|notes_cb",
image => $story->has_notes ? 'note_fill' : "note",
alt => 'Notes',
useGlobalImage => 1,
value => 'edit'
);
$m->comp("/widgets/wrappers/sharky/table_top.mc",
caption => "Information",
number => $num++,
id => 'storyinfo',
rightText => $rightText
);
%perl>
- <% $lang->maketext('UUID') %>:
- <% $story->get_uuid %>
- <% $lang->maketext('Story Type') %>:
- <% $story->get_element_name || ' ' %>
- <% $lang->maketext('Current Version') %>:
- <% $story->get_current_version %>
- <% $lang->maketext('Published Version') %>:
- <% $story->get_published_version || ' ' %>
- <% $lang->maketext('First Published') %>:
- <% $story->get_first_publish_date || ' ' %>
- <% $lang->maketext('Last Published') %>:
- <% $story->get_publish_date || ' ' %>
- <% $lang->maketext('URI') %>:
% if (@ocs == 1) {
- <% $m->comp(
'/widgets/profile/preview_link.mc',
doc => $story,
)%>
% } else {
% my $oc_opts = [
% map { [ $_->get_id => $_->get_name ] }
% $story->get_output_channels
% ];
- <% $story->get_primary_uri %>
- <% $lang->maketext('Preview in') %>:
- <&
'/widgets/profile/select.mc',
options => $oc_opts,
name => 'ocSelect',
useTable => 0,
value => $story->get_primary_oc_id,
&>
<% $m->comp('/widgets/profile/preview_link.mc',
type => 'story',
value => $story->get_primary_uri,
doc => $story,
oc_js => 'window.document.theForm.ocSelect.options[window.document.theForm.ocSelect.selectedIndex].value',
style => 'blackUnderlinedLink',
) %>
% }
- <% $lang->maketext('Site') %>:
- <% Bric::Biz::Site->lookup({id => $story->get_site_id})->
get_name() %>
<& '/widgets/select_object/select_object.mc',
object => 'source',
name => "$widget|source__id",
field => 'source_name',
selected => $story->get_source__id,
indent => 0,
useTable => 1,
disp => "Source",
exclude => sub { !chk_authz($_[0], READ, 1) },
&>
<& '/widgets/profile/displayFormElement.mc',
objref => $story,
key => 'priority',
&>
<& '/widgets/profile/displayFormElement.mc',
objref => $story,
key => 'title',
&>
<& '/widgets/profile/displayFormElement.mc',
objref => $story,
key => 'description',
&>
<& '/widgets/profile/displayFormElement.mc',
vals => $slug_vals,
id => 'slug',
key => 'slug',
&>
<%perl>;
TZ: {
# XXX Yes, ugly hack, but it's the best way to prevent the
# user's preferences from affecting the time zone.
local $HTML::Mason::Commands::session{_bric_user}->{object} = undef;
print STDERR Bric::App::Session::get_user_object(), $/;
$m->comp(
'/widgets/profile/displayFormElement.mc',
objref => $story,
key => 'cover_date',
);
}
%perl>
<& '/widgets/profile/displayFormElement.mc',
objref => $story,
key => 'expire_date',
&>
<& '/widgets/wrappers/sharky/table_bottom.mc' &>
<%perl>;
$num = $m->comp('/widgets/container_prof/container_prof.mc',
element => $element,
element_type => 'story',
action => $story->get_alias_id ? 'view' : 'edit',
title => 'Content',
num => $num,
start_count => 4
);
%perl>
% unless (ENABLE_CATEGORY_BROWSER) {
% $m->comp("/widgets/wrappers/sharky/table_top.mc",
% caption => "Categories",
% number => $num++);
% my @cat = $story->get_categories;
% my $primary = $story->get_primary_category();
% my $p_id = $primary ? $primary->get_id : '';
% my $rowspan = scalar (@cat) + 2;
<% $lang->maketext('Name') %> |
<% $lang->maketext('URI') %> |
<% $lang->maketext('Primary') %> |
<% $lang->maketext('Delete') %> |
% # BEGIN FOREACH CAT
% my $curr_cats = {};
% foreach (sort { $a->get_uri cmp $b->get_uri } @cat) {
% my $cat_id = $_->get_id;
% $curr_cats->{$cat_id} = 1;
<% $_->get_name %> |
<% $_->get_uri %> |
<& "/widgets/profile/radio.mc",
disp => '',
value => $_->get_id,
name => "$widget|primary_cat",
js => '',
req => 0,
checked => ($cat_id == $p_id),
&>
|
% if ($cat_id != $p_id) {
<& '/widgets/profile/checkbox.mc',
name => "$widget|delete_cat",
value => $_->get_id
&>
% }
|
% }
% # END FOREACH CAT
% if (!@cat) {
<% $lang->maketext('This story has not been assigned to a category.')%> |
% } else {
|
<& '/widgets/profile/button.mc',
disp => $lang->maketext("Delete Categories"),
widget => $widget,
cb => 'delete_cat_cb',
button => 'delete_red',
useTable => 0 &>
|
% }
% # Create the subroutine to exclude categories.
% my $excl_sub = sub { $curr_cats->{$_[0]->get_id} || ! chk_authz($_[0], READ, 1) };
<&
'/widgets/profile/imageSubmit.mc',
formName => "theForm",
callback => "$widget|add_category_cb",
image => "add_category_lgreen",
alt => 'Add Category',
vspace => 3,
hspace => 2
&>
<& '/widgets/select_object/select_object.mc',
object => 'category',
name => "$widget|new_category_id",
constrain => { site_id => $story->get_site_id },
exclude => $excl_sub,
field => 'uri',
sort_field => 'uri',
useTable => 0
&>
<%perl>;
$m->comp("/widgets/wrappers/sharky/table_bottom.mc");
} # unless ENABLE_CATEGORY_BROWSER
if (ENABLE_OC_ASSET_ASSOCIATION) {
$m->comp('/widgets/profile/asset_ocs.mc',
asset => $story,
widget => $widget,
ocs => \@ocs,
num => $num++,
at_ocs => \@aocs
);
}
$m->comp("/widgets/wrappers/sharky/table_top.mc",
caption => "Associations",
number => $num++);
%perl>
% my $rowColor = "even";
% if (ENABLE_CATEGORY_BROWSER) {
% $rowColor = $rowColor eq "odd" ? "even" : "odd";
<% $lang->maketext('Categories') %>: |
<%perl>
my @cats;
my $primary_cat_uri = $story->get_primary_category->get_uri;
push @cats, $primary_cat_uri;
foreach my $cat ($story->get_secondary_categories) {
push @cats, $cat->get_uri;
}
$m->out(scalar(@cats) ? join(' ', @cats) : $lang->maketext("No categories defined."));
%perl> |
<& '/widgets/profile/button.mc',
disp => $lang->maketext("Edit"),
widget => $widget,
cb => 'categories_cb',
button => 'pencil',
useTable => 0,
globalImage => 1 &> |
% }
% $rowColor = $rowColor eq "odd" ? "even" : "odd";
<% $lang->maketext('Contributors') %>: |
<%perl>
my @contribs;
foreach my $cntr ($story->get_contributors) {
push @contribs, $cntr->get_name;
}
$m->out(scalar(@contribs) ? join(", ", @contribs) : $lang->maketext("No contributors defined."));
%perl> |
% unless ($story->get_alias_id) {
<& '/widgets/profile/button.mc',
disp => $lang->maketext("Edit"),
widget => $widget,
cb => 'contributors_cb',
button => 'pencil',
useTable => 0,
globalImage => 1 &>
% }
|
% $rowColor = $rowColor eq "odd" ? "even" : "odd";
<% $lang->maketext('Keywords') %>: |
<%perl>
my @keywords;
foreach my $kw ($story->get_keywords) {
push @keywords, $kw->get_name;
}
$m->out(scalar(@keywords) ? join(", ", @keywords) : $lang->maketext("No keywords defined."));
%perl> |
<& '/widgets/profile/button.mc',
disp => $lang->maketext("Edit"),
widget => $widget,
cb => 'keywords_cb',
button => 'pencil',
useTable => 0,
globalImage => 1 &> |
<%perl>
$m->comp("/widgets/wrappers/sharky/table_bottom.mc");
$m->comp("/widgets/profile/buttonBar.mc",
widget => $widget,
desks => $desks,
cd => $cd,
obj => $story,
);
%perl>
<%args>
$widget
%args>
<%init>
my $story = get_state_data($widget, 'story');
my $element = $story->get_element();
my $id = $story->get_id;
my $wf_id = get_state_data($widget, 'work_id');
$wf_id = $story->get_workflow_id() unless $wf_id;
my $wf = Bric::Biz::Workflow->lookup( { id => $wf_id });
my $desks = $wf->allowed_desks();
my $cd = $story->get_current_desk();
$cd = $wf->get_start_desk() unless $cd;
my $num = 1;
# get output channel info
my $asset_type = $story->get_element_type;
my @aocs = $asset_type->get_output_channels;
my @ocs = $story->get_output_channels;
# Set slug required if it is
my $slug_req = 0;
unless (ALLOW_SLUGLESS_NONFIXED || $story->is_fixed) {
# This isn't a Cover (it's non-fixed) and ALLOW_SLUGLESS_NONFIXED
# is false, so we make slug required
$slug_req = 1;
}
my $slug_vals = {
%{ Bric::Biz::Asset::Business::Story->my_meths->{slug} },
value => $story->get_slug,
req => $slug_req,
};
%init>