<& '/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" ) . ' '; $rightText .= $m->scomp( '/widgets/profile/imageSubmit.mc', formName => "theForm", callback => $widget . "|notes_cb", image => $story->has_notes ? 'note_fill' : "note", useGlobalImage => 1, value => 'edit' ); $m->comp("/widgets/wrappers/sharky/table_top.mc", caption => "Information", number => $num++, id => 'storyinfo', rightText => $rightText );
<% $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', ); } <& '/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 ); % 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; % # 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; % } % # END FOREACH CAT % if (!@cat) { % } else { % }
<% $lang->maketext('Name') %> <% $lang->maketext('URI') %> <% $lang->maketext('Primary') %> <% $lang->maketext('Delete') %>
<% $_->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 &> % }  
<% $lang->maketext('This story has not been assigned to a category.')%>
  <& '/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", 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++); % my $rowColor = "even"; % if (ENABLE_CATEGORY_BROWSER) { % $rowColor = $rowColor eq "odd" ? "even" : "odd"; % } % $rowColor = $rowColor eq "odd" ? "even" : "odd"; % $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."));
<& '/widgets/profile/button.mc', disp => $lang->maketext("Edit"), widget => $widget, cb => 'categories_cb', button => 'pencil', useTable => 0, globalImage => 1 &>
<% $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.")); % unless ($story->get_alias_id) { <& '/widgets/profile/button.mc', disp => $lang->maketext("Edit"), widget => $widget, cb => 'contributors_cb', button => 'pencil', useTable => 0, globalImage => 1 &> % }
<% $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.")); <& '/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, ); <%args> $widget <%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, };