diff options
author | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2017-06-20 07:11:13 -0400 |
---|---|---|
committer | Kjetil Orbekk <kjetil.orbekk@gmail.com> | 2017-06-20 07:11:13 -0400 |
commit | 58df91c0f8f91329cff506e8c363f83fca76d733 (patch) | |
tree | ebec4eeb32b0aa6b7eefb491051185666bb5449f /src/render | |
parent | 0ea6dbc6e1f2a76d0da087e4d7a47345fa2be177 (diff) |
Add error handling for unauthorized page access.
Diffstat (limited to 'src/render')
-rw-r--r-- | src/render/mod.rs | 26 |
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."; + } + } + }) + } } |