annotate demo-app/model/user.lua @ 53:a1c77838c2e5
Documentation for "attr", "a_attr" and "form_attr" arguments to function ui.link{...}
author |
jbe |
date |
Fri Jun 10 15:32:29 2011 +0200 (2011-06-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
|