webmcp
annotate demo-app/app/main/medium/show.lua @ 14:a29c8ffb3f82
New function ui.filters{...}
Also changed version information to "1.0.8"
Also changed version information to "1.0.8"
author | jbe/bsw |
---|---|
date | Sat Feb 20 21:00:58 2010 +0100 (2010-02-20) |
parents | 9fdfb27f8e67 |
children |
rev | line source |
---|---|
jbe/bsw@0 | 1 local medium |
jbe/bsw@0 | 2 local id = param.get_id() |
jbe/bsw@0 | 3 if id then |
jbe/bsw@0 | 4 medium = Medium:by_id(id) |
jbe/bsw@0 | 5 end |
jbe/bsw@0 | 6 |
jbe/bsw@0 | 7 if medium then |
jbe/bsw@0 | 8 slot.put_into("title", encode.html(_"Medium")) |
jbe/bsw@0 | 9 else |
jbe/bsw@0 | 10 slot.put_into("title", encode.html(_"New medium")) |
jbe/bsw@0 | 11 end |
jbe/bsw@0 | 12 |
jbe/bsw@0 | 13 slot.select("actions", function() |
jbe/bsw@0 | 14 ui.link{ |
jbe/bsw@0 | 15 content = _"Back", |
jbe/bsw@0 | 16 module = "medium" |
jbe/bsw@0 | 17 } |
jbe/bsw@0 | 18 if medium and app.session.user.write_priv then |
jbe/bsw@0 | 19 ui.link{ |
jbe/bsw@0 | 20 content = _"Delete", |
jbe/bsw@0 | 21 form_attr = { |
jbe/bsw@0 | 22 onsubmit = "return confirm(" .. encode.json(_'Are you sure?') .. ");" |
jbe/bsw@0 | 23 }, |
jbe/bsw@0 | 24 module = "medium", |
jbe/bsw@0 | 25 action = "update", |
jbe/bsw@0 | 26 id = medium.id, |
jbe/bsw@0 | 27 params = { delete = true }, |
jbe/bsw@0 | 28 routing = { |
jbe/bsw@0 | 29 default = { |
jbe/bsw@0 | 30 mode = "redirect", |
jbe/bsw@0 | 31 module = "medium", |
jbe/bsw@0 | 32 view = "index" |
jbe/bsw@0 | 33 } |
jbe/bsw@0 | 34 } |
jbe/bsw@0 | 35 } |
jbe/bsw@0 | 36 end |
jbe/bsw@0 | 37 end) |
jbe/bsw@0 | 38 |
jbe/bsw@0 | 39 slot.select("main", function() |
jbe/bsw@0 | 40 ui.form{ |
jbe/bsw@0 | 41 attr = { class = "vertical" }, |
jbe/bsw@0 | 42 record = medium, |
jbe/bsw@0 | 43 readonly = not app.session.user.write_priv, |
jbe/bsw@0 | 44 module = "medium", |
jbe/bsw@0 | 45 action = "update", |
jbe/bsw@0 | 46 id = id, |
jbe/bsw@0 | 47 routing = { |
jbe/bsw@0 | 48 default = { |
jbe/bsw@0 | 49 mode = "redirect", |
jbe/bsw@0 | 50 module = "medium", |
jbe/bsw@0 | 51 view = "index" |
jbe/bsw@0 | 52 } |
jbe/bsw@0 | 53 }, |
jbe/bsw@0 | 54 content = function() |
jbe/bsw@0 | 55 if id then |
jbe/bsw@0 | 56 ui.field.integer{ label = _"Id", name = "id", readonly = true } |
jbe/bsw@0 | 57 end |
jbe/bsw@0 | 58 ui.field.select{ |
jbe/bsw@0 | 59 label = _"Media type", |
jbe/bsw@0 | 60 name = "media_type_id", |
jbe/bsw@0 | 61 foreign_records = MediaType:new_selector():exec(), |
jbe/bsw@0 | 62 foreign_id = "id", |
jbe/bsw@0 | 63 foreign_name = "name" |
jbe/bsw@0 | 64 } |
jbe/bsw@0 | 65 ui.field.text{ label = _"Name", name = "name" } |
jbe/bsw@0 | 66 ui.field.boolean{ label = _"Copy protected", name = "copyprotected" } |
jbe/bsw@0 | 67 |
jbe/bsw@0 | 68 ui.multiselect{ |
jbe/bsw@0 | 69 name = "genres[]", |
jbe/bsw@0 | 70 label = _"Genres", |
jbe/bsw@0 | 71 style = "select", |
jbe/bsw@0 | 72 attr = { size = 5 }, |
jbe/bsw@0 | 73 foreign_records = Genre:new_selector():exec(), |
jbe/bsw@0 | 74 connecting_records = medium and medium.classifications or {}, |
jbe/bsw@0 | 75 own_id = "id", |
jbe/bsw@0 | 76 own_reference = "medium_id", |
jbe/bsw@0 | 77 foreign_reference = "genre_id", |
jbe/bsw@0 | 78 foreign_id = "id", |
jbe/bsw@0 | 79 foreign_name = "name", |
jbe/bsw@0 | 80 } |
jbe/bsw@0 | 81 local tracks = medium and medium.tracks or {} |
jbe/bsw@0 | 82 for i = 1, 5 do |
jbe/bsw@0 | 83 tracks[#tracks+1] = Track:new() |
jbe/bsw@0 | 84 end |
jbe/bsw@0 | 85 ui.list{ |
jbe/bsw@0 | 86 label = _"Tracks", |
jbe/bsw@0 | 87 prefix = "tracks", |
jbe/bsw@0 | 88 records = tracks, |
jbe/bsw@0 | 89 columns = { |
jbe/bsw@0 | 90 { |
jbe/bsw@0 | 91 label = _"Pos", |
jbe/bsw@0 | 92 name = "position", |
jbe/bsw@0 | 93 }, |
jbe/bsw@0 | 94 { |
jbe/bsw@0 | 95 label = _"Name", |
jbe/bsw@0 | 96 name = "name", |
jbe/bsw@0 | 97 }, |
jbe/bsw@0 | 98 { |
jbe/bsw@0 | 99 label = _"Description", |
jbe/bsw@0 | 100 name = "description", |
jbe/bsw@0 | 101 }, |
jbe/bsw@0 | 102 { |
jbe/bsw@0 | 103 label = _"Duration", |
jbe/bsw@0 | 104 name = "duration", |
jbe/bsw@0 | 105 }, |
jbe/bsw@0 | 106 { |
jbe/bsw@0 | 107 content = function() |
jbe/bsw@0 | 108 ui.field.hidden{ name = "id" } |
jbe/bsw@0 | 109 end |
jbe/bsw@0 | 110 } |
jbe/bsw@0 | 111 } |
jbe/bsw@0 | 112 } |
jbe/bsw@0 | 113 |
jbe/bsw@0 | 114 ui.submit{ text = _"Save" } |
jbe/bsw@0 | 115 end |
jbe/bsw@0 | 116 } |
jbe/bsw@0 | 117 end) |