Skip to content

Commit 268bf14

Browse files
committed
Allow multiple publish_if* flags with Krang::ElementClass::CategoryLink.
git-svn-id: http://svn.krangcms.com/trunk/krang@6684 689d98c0-9023-0410-9c0b-f79783857903
1 parent 5fc948f commit 268bf14

File tree

3 files changed

+20
-6
lines changed

3 files changed

+20
-6
lines changed

element_lib/TestSet1/article.pm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,12 @@ sub new {
132132
name => "media_below_cat",
133133
publish_if_modified_media_below_cat => 1
134134
),
135+
136+
pkg('ElementClass::CategoryLink')->new(
137+
name => "story_and_media_in_cat",
138+
publish_if_modified_story_in_cat => 1,
139+
publish_if_modified_media_in_cat => 1
140+
),
135141
],
136142
@_
137143
);

lib/Krang/Publisher.pm

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -895,7 +895,7 @@ sub asset_list {
895895
initial_assets => 1
896896
);
897897

898-
$self->_maybe_add_index_story(\@publish_list);
898+
$self->_maybe_add_index_story(\@publish_list) if $mode eq 'publish';
899899

900900
# unless ($keep_list) {
901901
# $self->_clear_asset_lists();
@@ -2532,14 +2532,15 @@ sub _get_conditional_index_stories {
25322532
# build story/media-specific tables mapping category id to index story
25332533
if ($element->class->publish_if_modified_story_in_cat) {
25342534
$all_index_stories{story}{$category->category_id} = $story;
2535-
} elsif ($element->class->publish_if_modified_story_below_cat) {
2535+
}
2536+
if ($element->class->publish_if_modified_story_below_cat) {
25362537
$self->_add_conditional_index_stories($story, $category, 'story', \%all_index_stories);
2537-
} elsif ($element->class->publish_if_modified_media_in_cat) {
2538+
}
2539+
if ($element->class->publish_if_modified_media_in_cat) {
25382540
$all_index_stories{media}{$category->category_id} = $story;
2539-
} elsif ($element->class->publish_if_modified_media_below_cat) {
2541+
}
2542+
if ($element->class->publish_if_modified_media_below_cat) {
25402543
$self->_add_conditional_index_stories($story, $category, 'media', \%all_index_stories);
2541-
} else {
2542-
return;
25432544
}
25442545
}
25452546
} $story->element;

t/publish.t

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2242,6 +2242,13 @@ sub test_publish_if_modified_in_category {
22422242
$index->save;
22432243
not_published_index($media_color, $index, "deleted catlink: don't publish index media");
22442244
not_published_index($media_red, $index, "deleted catlink: don't publish index media");
2245+
2246+
# combined story/media catlink
2247+
my $catlink_story_in = $index->element->add_child(class => 'story_and_media_in_cat');
2248+
$index->element->child('story_and_media_in_cat')->data($cat_color);
2249+
$index->save;
2250+
published_index($story_color, $index, "set category 'color' in catlink: publish index story");
2251+
published_index($media_color, $index, "set category 'color' in catlink: publish index story");
22452252
}
22462253

22472254

0 commit comments

Comments
 (0)