summaryrefslogtreecommitdiff
path: root/src/render
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2017-06-20 07:11:13 -0400
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2017-06-20 07:11:13 -0400
commit58df91c0f8f91329cff506e8c363f83fca76d733 (patch)
treeebec4eeb32b0aa6b7eefb491051185666bb5449f /src/render
parent0ea6dbc6e1f2a76d0da087e4d7a47345fa2be177 (diff)
Add error handling for unauthorized page access.
Diffstat (limited to 'src/render')
-rw-r--r--src/render/mod.rs26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/render/mod.rs b/src/render/mod.rs
index ad87b18..5df4c10 100644
--- a/src/render/mod.rs
+++ b/src/render/mod.rs
@@ -30,7 +30,7 @@ impl Renderer {
}
None => {
box_html! {
- a(href=self.get_url("login")) { // TODO Get base url from context
+ a(href=self.get_url("login")) {
: "Log in"
}
}
@@ -105,7 +105,6 @@ impl Renderer {
}
}
-
fn unit_table<'a>(&'a self, units: &'a [&unit::Unit]) -> Box<RenderBox + 'a> {
box_html! {
table {
@@ -144,4 +143,27 @@ impl Renderer {
}
})
}
+
+ pub fn unauthorized(&self) -> String {
+ self.render_in_page(box_html! {
+ h1 {
+ : "Permission Denied"
+ }
+ @ if let Some(ref v) = self.user {
+ p {
+ : "You are logged in as ";
+ : v;
+ : ", but you cannot access this page.";
+ }
+ } else {
+ p {
+ : "Please ";
+ a(href=self.get_url("login")) {
+ : "log in"
+ }
+ : " to access this page.";
+ }
+ }
+ })
+ }
}