po(otherlanguages): return pages that should exist
... instead of already existing ones. This fixes the "missing otherlanguages links on master pages just created via the CGI" bug. Signed-off-by: intrigeri <intrigeri@boum.org>master
parent
36312b13b4
commit
190c641c8a
|
@ -150,6 +150,7 @@ sub needsbuild () { #{{{
|
||||||
# a given master page was rendered because its source file was changed
|
# a given master page was rendered because its source file was changed
|
||||||
@origneedsbuild=(@$needsbuild);
|
@origneedsbuild=(@$needsbuild);
|
||||||
|
|
||||||
|
flushmemoizecache();
|
||||||
buildtranslationscache();
|
buildtranslationscache();
|
||||||
|
|
||||||
# make existing translations depend on the corresponding master page
|
# make existing translations depend on the corresponding master page
|
||||||
|
@ -568,20 +569,24 @@ sub islanguagecode ($) { #{{{
|
||||||
return ($code =~ /^[a-z]{2}$/);
|
return ($code =~ /^[a-z]{2}$/);
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
||||||
sub otherlanguages($) { #{{{
|
sub otherlanguage ($$) { #{{{
|
||||||
|
my $page=shift;
|
||||||
|
my $code=shift;
|
||||||
|
|
||||||
|
return masterpage($page) if $code eq $config{po_master_language}{code};
|
||||||
|
return masterpage($page) . '.' . $code;
|
||||||
|
} #}}}
|
||||||
|
|
||||||
|
sub otherlanguages ($) { #{{{
|
||||||
my $page=shift;
|
my $page=shift;
|
||||||
|
|
||||||
my %ret;
|
my %ret;
|
||||||
if (istranslatable($page)) {
|
return \%ret unless (istranslation($page) || istranslatable($page));
|
||||||
%ret = %{$translations{$page}} if defined $translations{$page};
|
my $curlang=lang($page);
|
||||||
}
|
foreach my $lang
|
||||||
elsif (istranslation($page)) {
|
($config{po_master_language}{code}, keys %{$config{po_slave_languages}}) {
|
||||||
my $masterpage = masterpage($page);
|
next if $lang eq $curlang;
|
||||||
$ret{$config{po_master_language}{code}} = $masterpage;
|
$ret{$lang}=otherlanguage($page, $lang);
|
||||||
foreach my $lang (sort keys %{$translations{$masterpage}}) {
|
|
||||||
next if $lang eq lang($page);
|
|
||||||
$ret{$lang} = $translations{$masterpage}{$lang};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return \%ret;
|
return \%ret;
|
||||||
} #}}}
|
} #}}}
|
||||||
|
|
|
@ -592,8 +592,7 @@ Robustness tests
|
||||||
### Creating pages
|
### Creating pages
|
||||||
|
|
||||||
- creating a master page via RCS: **OK**
|
- creating a master page via RCS: **OK**
|
||||||
- creating a master page via CGI: **FIXME** the new master page has no
|
- creating a master page via CGI: **OK**
|
||||||
`otherlanguages` links until refreshed once more
|
|
||||||
|
|
||||||
### Deleting pages
|
### Deleting pages
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue