webmcp
annotate demo-app/model/user.lua @ 2:72860d232f32
Version 1.0.2
Fixed bug with explicit garbage collection (requests > 256kB caused an error)
Views prefixed with an underscore can't be called externally
ui.paginate now displays the last page, if the selected page number is too high.
Fixed bug with explicit garbage collection (requests > 256kB caused an error)
Views prefixed with an underscore can't be called externally
ui.paginate now displays the last page, if the selected page number is too high.
author | jbe/bsw |
---|---|
date | Thu Dec 10 12:00:00 2009 +0100 (2009-12-10) |
parents | 9fdfb27f8e67 |
children |
rev | line source |
---|---|
jbe/bsw@0 | 1 User = mondelefant.new_class() |
jbe/bsw@0 | 2 User.table = 'user' |
jbe/bsw@0 | 3 |
jbe/bsw@0 | 4 User:add_reference{ |
jbe/bsw@0 | 5 mode = '1m', -- one (1) user can have many (m) sessions |
jbe/bsw@0 | 6 to = "Session", -- referenced model (quoting avoids auto-loading here) |
jbe/bsw@0 | 7 this_key = 'id', -- own key in user table |
jbe/bsw@0 | 8 that_key = 'user_id', -- other key in session table |
jbe/bsw@0 | 9 ref = 'sessions', -- name of reference |
jbe/bsw@0 | 10 back_ref = 'user', -- each autoloaded Session automatically refers back to the User |
jbe/bsw@0 | 11 default_order = '"ident"' -- order sessions by SQL expression "ident" |
jbe/bsw@0 | 12 } |
jbe/bsw@0 | 13 |
jbe/bsw@0 | 14 function User:by_ident_and_password(ident, password) |
jbe/bsw@0 | 15 local selector = self:new_selector() |
jbe/bsw@0 | 16 selector:add_where{ 'ident = ? AND password = ?', ident, password } |
jbe/bsw@0 | 17 selector:optional_object_mode() |
jbe/bsw@0 | 18 return selector:exec() |
jbe/bsw@0 | 19 end |
jbe/bsw@0 | 20 |
jbe/bsw@0 | 21 function User.object_get:name_with_login() |
jbe/bsw@0 | 22 return self.name .. ' (' .. self.login .. ')' |
jbe/bsw@0 | 23 end |
jbe/bsw@0 | 24 |
jbe/bsw@0 | 25 function User.object:require_privilege(privilege) |
jbe/bsw@0 | 26 if privilege == "admin" then |
jbe/bsw@0 | 27 assert(self.admin, "Administrator privilege required") |
jbe/bsw@0 | 28 elseif privilege == "write" then |
jbe/bsw@0 | 29 assert(self.write_priv, "Write privilege required") |
jbe/bsw@0 | 30 else |
jbe/bsw@0 | 31 error("Unknown privilege passed to require_privilege method of User") |
jbe/bsw@0 | 32 end |
jbe/bsw@0 | 33 end |