Commit interim work before cleanup
This commit is contained in:
parent
2ca84af091
commit
e6ce9c710b
File diff suppressed because it is too large
Load Diff
@ -77,7 +77,7 @@ sub new {
|
||||
# ============================================================================
|
||||
# HTML generation support
|
||||
|
||||
## @method $ generate_cadence_page($title, $content, $extrahead, $doclink)
|
||||
## @method $ generate_orb_page($title, $content, $extrahead, $extrajs, $doclink)
|
||||
# A convenience function to wrap page content in the standard page template. This
|
||||
# function allows blocks to embed their content in a page without having to build
|
||||
# the whole page including "common" items themselves. It should be called to wrap
|
||||
@ -89,16 +89,18 @@ sub new {
|
||||
# @param doclink The name of a document link to include in the userbar. If not
|
||||
# supplied, no link is shown.
|
||||
# @return A string containing the page.
|
||||
sub generate_cadence_page {
|
||||
sub generate_orb_page {
|
||||
my $self = shift;
|
||||
my $title = shift;
|
||||
my $content = shift;
|
||||
my $extrahead = shift;
|
||||
my $extrajs = shift;
|
||||
my $doclink = shift;
|
||||
|
||||
my $userbar = $self -> {"module"} -> load_module("ORB::Userbar");
|
||||
|
||||
return $self -> {"template"} -> load_template("page.tem", {"%(extrahead)s" => $extrahead || "",
|
||||
"%(extrajs)s" => $extrajs || "",
|
||||
"%(title)s" => $title || "",
|
||||
"%(userbar)s" => ($userbar ? $userbar -> block_display($title, $self -> {"block"}, $doclink) : "<!-- Userbar load failed: ".$self -> {"module"} -> errstr()." -->"),
|
||||
"%(content)s" => $content});
|
||||
@ -118,22 +120,23 @@ sub generate_errorbox {
|
||||
|
||||
$self -> log("error:fatal", $message);
|
||||
|
||||
$message = $self -> {"template"} -> message_box($title,
|
||||
"error",
|
||||
"{L_FATAL_ERROR_SUMMARY}",
|
||||
$message,
|
||||
undef,
|
||||
"errorcore",
|
||||
[ {"message" => $self -> {"template"} -> replace_langvar("SITE_CONTINUE"),
|
||||
"colour" => "blue",
|
||||
"action" => "location.href='{V_[scriptpath]}'"} ]);
|
||||
$message = $self -> message_boc($title,
|
||||
"error",
|
||||
"{L_FATAL_ERROR_SUMMARY}",
|
||||
$message,
|
||||
undef,
|
||||
"errorcore",
|
||||
[ {"message" => $self -> {"template"} -> replace_langvar("SITE_CONTINUE"),
|
||||
"colour" => "blue",
|
||||
"action" => "location.href='{V_[scriptpath]}'"} ]);
|
||||
my $userbar = $self -> {"module"} -> load_module("ORB::Userbar");
|
||||
|
||||
# Build the error page...
|
||||
return $self -> {"template"} -> load_template("error/general.tem",
|
||||
return $self -> {"template"} -> load_template("page.tem",
|
||||
{"%(title)s" => $title,
|
||||
"%(message)s" => $message,
|
||||
"%(content)s" => $message,
|
||||
"%(extrahead)s" => "",
|
||||
"%(extrajs)s" => "",
|
||||
"%(userbar)s" => ($userbar ? $userbar -> block_display($title) : "<!-- Userbar load failed: ".$self -> {"module"} -> errstr()." -->"),
|
||||
});
|
||||
}
|
||||
@ -177,6 +180,52 @@ sub generate_multiselect {
|
||||
}
|
||||
|
||||
|
||||
## @method $ message_box($title, $type, $summary, $longdesc, $additional, $boxclass, $buttons)
|
||||
# Create a message box block to include in a page. This generates a templated
|
||||
# message box to include in a page. It assumes the presence of messagebox.tem
|
||||
# in the template directory, containing markers for a title, type, summary,
|
||||
# long description and additional data. The type argument should correspond
|
||||
# to an image in the {template}/images/messages/ directory without an extension.
|
||||
#
|
||||
# @param title The title of the message box.
|
||||
# @param type The message type.
|
||||
# @param summary A summary version of the message.
|
||||
# @param longdesc The full message body
|
||||
# @param additional Any additional content to include in the message box.
|
||||
# @param boxclass Optional additional classes to add to the messagebox container.
|
||||
# @param buttons Optional reference to an array of hashes containing button data. Each
|
||||
# hash in the array should contain three keys: `colour` which specifies
|
||||
# the button colour; `action` which should contain javascript to run
|
||||
# when the button is clicked; and `message` which should be the message
|
||||
# to show in the button.
|
||||
# @return A string containing the message box.
|
||||
sub message_box {
|
||||
my ($self, $title, $type, $summary, $longdesc, $additional, $boxclass, $buttons) = @_;
|
||||
my $buttonbar = "";
|
||||
|
||||
# Has the caller specified any buttons?
|
||||
if($buttons) {
|
||||
# Build the list of buttons...
|
||||
my $buttonlist = "";
|
||||
for my $button (@{$buttons}) {
|
||||
$buttonlist .= $self -> {"template"} -> load_template("messagebox_button.tem", {"%(colour)s" => $button -> {"colour"},
|
||||
"%(onclick)s" => $button -> {"action"},
|
||||
"%(message)s" => $button -> {"message"}});
|
||||
}
|
||||
# Shove into the bar
|
||||
$buttonbar = $self -> {"template"} -> load_template("messagebox_buttonbar.tem", {"%(buttons)s" => $buttonlist});
|
||||
}
|
||||
|
||||
return $self -> {"template"} -> load_template("messagebox.tem", { "%(title)s" => $title,
|
||||
"%(icon)s" => $type,
|
||||
"%(summary)s" => $summary,
|
||||
"%(longdesc)s" => $longdesc,
|
||||
"%(additional)s" => $additional,
|
||||
"%(buttons)s" => $buttonbar,
|
||||
"%(boxclass)s" => $boxclass});
|
||||
}
|
||||
|
||||
|
||||
# ============================================================================
|
||||
# Permissions/Roles related.
|
||||
|
||||
@ -222,15 +271,15 @@ sub check_login {
|
||||
$self -> log("error:permission", "User does not have perission 'view'");
|
||||
|
||||
# Logged in, but permission failed
|
||||
my $message = $self -> {"template"} -> message_box("{L_PERMISSION_FAILED_TITLE}",
|
||||
"error",
|
||||
"{L_PERMISSION_FAILED_SUMMARY}",
|
||||
"{L_PERMISSION_VIEW_DESC}",
|
||||
undef,
|
||||
"errorcore",
|
||||
[ {"message" => $self -> {"template"} -> replace_langvar("SITE_CONTINUE"),
|
||||
"colour" => "blue",
|
||||
"action" => "location.href='{V_[scriptpath]}'"} ]);
|
||||
my $message = $self -> message_boc("{L_PERMISSION_FAILED_TITLE}",
|
||||
"error",
|
||||
"{L_PERMISSION_FAILED_SUMMARY}",
|
||||
"{L_PERMISSION_VIEW_DESC}",
|
||||
undef,
|
||||
"errorcore",
|
||||
[ {"message" => $self -> {"template"} -> replace_langvar("SITE_CONTINUE"),
|
||||
"colour" => "blue",
|
||||
"action" => "location.href='{V_[scriptpath]}'"} ]);
|
||||
my $userbar = $self -> {"module"} -> load_module("ORB::Userbar");
|
||||
|
||||
# Build the error page...
|
||||
|
Loading…
x
Reference in New Issue
Block a user