liquid_feedback_frontend
diff model/session.lua @ 813:ea2449916c12
Cleaned up public access levels
author | bsw |
---|---|
date | Fri Jul 06 13:58:20 2012 +0200 (2012-07-06) |
parents | 3bfb2fcf7ab9 |
children | 58f48a8a202a |
line diff
1.1 --- a/model/session.lua Fri Jul 06 13:34:02 2012 +0200 1.2 +++ b/model/session.lua Fri Jul 06 13:58:20 2012 +0200 1.3 @@ -31,3 +31,44 @@ 1.4 selector:optional_object_mode() 1.5 return selector:exec() 1.6 end 1.7 + 1.8 +function Session.object:has_access(level) 1.9 + if level == "member" then 1.10 + if app.session.member_id then 1.11 + return true 1.12 + else 1.13 + return false 1.14 + end 1.15 + 1.16 + elseif level == "everything" then 1.17 + if self:has_access("member") or config.public_access == "everything" then 1.18 + return true 1.19 + else 1.20 + return false 1.21 + end 1.22 + 1.23 + elseif level == "all_pseudonymous" then 1.24 + if self:has_access("everything") or config.public_access == "all_pseudonymous" then 1.25 + return true 1.26 + else 1.27 + return false 1.28 + end 1.29 + 1.30 + elseif level == "authors_pseudonymous" then 1.31 + if self:has_access("all_pseudonymous") or config.public_access == "authors_pseudonymous" then 1.32 + return true 1.33 + else 1.34 + return false 1.35 + end 1.36 + 1.37 + elseif level == "anonymous" then 1.38 + if self:has_access("authors_pseudonymous") or config.public_access == "anonymous" then 1.39 + return true 1.40 + else 1.41 + return false 1.42 + end 1.43 + 1.44 + end 1.45 + 1.46 + error("invalid access level") 1.47 +end