webmcp
annotate demo-app/model/session.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 Session = mondelefant.new_class() |
jbe/bsw@0 | 2 Session.table = 'session' |
jbe/bsw@0 | 3 Session.primary_key = { "ident" } |
jbe/bsw@0 | 4 |
jbe/bsw@0 | 5 Session:add_reference{ |
jbe/bsw@0 | 6 mode = 'm1', -- many (m) sessions refer to one (1) user |
jbe/bsw@0 | 7 to = "User", -- name of referenced model (quoting avoids auto-loading here) |
jbe/bsw@0 | 8 this_key = 'user_id', -- own key in session table |
jbe/bsw@0 | 9 that_key = 'id', -- other key in user table |
jbe/bsw@0 | 10 ref = 'user', -- name of reference |
jbe/bsw@0 | 11 back_ref = nil, -- not used for m1 relation! |
jbe/bsw@0 | 12 default_order = nil -- not used for m1 relation! |
jbe/bsw@0 | 13 } |
jbe/bsw@0 | 14 |
jbe/bsw@0 | 15 local function random_string() |
jbe/bsw@0 | 16 return multirand.string( |
jbe/bsw@0 | 17 32, |
jbe/bsw@0 | 18 '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' |
jbe/bsw@0 | 19 ) |
jbe/bsw@0 | 20 end |
jbe/bsw@0 | 21 |
jbe/bsw@0 | 22 function Session:new() |
jbe/bsw@0 | 23 local session = self.prototype.new(self) -- super call |
jbe/bsw@0 | 24 session.ident = random_string() |
jbe/bsw@0 | 25 session.csrf_secret = random_string() |
jbe/bsw@0 | 26 session:save() |
jbe/bsw@0 | 27 return session |
jbe/bsw@0 | 28 end |
jbe/bsw@0 | 29 |
jbe/bsw@0 | 30 function Session:by_ident(ident) |
jbe/bsw@0 | 31 local selector = self:new_selector() |
jbe/bsw@0 | 32 selector:add_where{ 'ident = ?', ident } |
jbe/bsw@0 | 33 selector:optional_object_mode() |
jbe/bsw@0 | 34 return selector:exec() |
jbe/bsw@0 | 35 end |