webmcp
annotate demo-app/model/user.lua @ 3:795b764629ca
Version 1.0.3
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
Important bugfix related to internal forwards (Bug was introduced by the restriction of views with underscore prefix in Version 1.0.2)
| author | jbe |
|---|---|
| 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 |