Changeset 1108
- Timestamp:
- 06/02/07 19:15:51 (2 years ago)
- Files:
-
- trunk/app/controllers/group_controller.rb (added)
- trunk/app/helpers/group_helper.rb (added)
- trunk/app/models/group.rb (added)
- trunk/app/models/upload.rb (modified) (1 diff)
- trunk/app/models/user.rb (modified) (1 diff)
- trunk/app/views/group (added)
- trunk/app/views/group/_groups.rhtml (added)
- trunk/app/views/group/add.rhtml (added)
- trunk/app/views/group/edit.rhtml (added)
- trunk/app/views/group/manage.rhtml (added)
- trunk/app/views/group/show.rhtml (added)
- trunk/app/views/group/update.rjs (added)
- trunk/app/views/users/_sidebar.rhtml (modified) (1 diff)
- trunk/config/routes.rb (modified) (1 diff)
- trunk/db/migrate/020_create_groups.rb (added)
- trunk/db/schema.rb (modified) (5 diffs)
- trunk/public/stylesheets/screen.css (modified) (3 diffs)
- trunk/test/fixtures/groups.yml (added)
- trunk/test/functional/group_controller_test.rb (added)
- trunk/test/unit/group_test.rb (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/app/models/upload.rb
r788 r1108 9 9 self.key = StringRandom.alphanumeric(16).downcase 10 10 11 Dir.mkdirpath11 FileUtils.mkdir_p path 12 12 File.chmod(02775, path) 13 13 end trunk/app/models/user.rb
r986 r1108 2 2 class User < ActiveRecord::Base 3 3 has_many :reviews, :dependent => :destroy 4 has_and_belongs_to_many :groups 5 has_many :manageable_groups, :class_name => "Group", :foreign_key => "owner_id" 4 6 5 7 validates_uniqueness_of :username, :message => "Ce nom d'utilisateur existe déjà ", :if => Proc.new { |u| u.openid_url.nil? } trunk/app/views/users/_sidebar.rhtml
r986 r1108 11 11 <li><%= link_to("Ajouter un podcast", :controller => "podcasts", :action => "add") %></li> 12 12 </ul> 13 <ul> 14 <li><%= link_to("Gérer vos groupes", :controller => "group", :action => "manage") %></li> 15 <li><%= link_to("Ajouter un groupe", :controller => "group", :action => "add") %></li> 16 </ul> 13 17 <h2>Recherchez</h2> 14 18 <% form_tag({:controller => :users, :action => :find }, :id => "search") do %> trunk/config/routes.rb
r1001 r1108 14 14 map.connect 'documents/:action/:id', :controller => 'documents' 15 15 map.connect 'podcasts/feed/:name', :controller => 'podcasts', :action => 'feed' 16 map.connect 'podcasts/page/:page', :controller => 'podcasts', :action => 'manage' 16 17 map.connect 'podcasts/:action/:id', :controller => 'podcasts' 17 map.connect 'podcasts/page/:page', :controller => 'podcasts', :action => 'manage' 18 map.connect 'groups/page/:page', :controller => 'group', :action => 'manage' 19 map.connect 'groups/:action/:id', :controller => 'group' 18 20 map.connect 'subscriptions/tag/:name', :controller => 'subscriptions', :action => 'tag' 19 21 map.connect 'subscriptions/tag/:name/:page', :controller => 'subscriptions', :action => 'tag' trunk/db/schema.rb
r986 r1108 3 3 # then regenerate this schema definition. 4 4 5 ActiveRecord::Schema.define(:version => 19) do5 ActiveRecord::Schema.define(:version => 20) do 6 6 7 7 create_table "casts", :force => true do |t| 8 t.column "document_id", :integer, :null => false9 t.column "name", :string, : null => false8 t.column "document_id", :integer, :null => false 9 t.column "name", :string, :default => "", :null => false 10 10 end 11 11 … … 15 15 16 16 create_table "documents", :force => true do |t| 17 t.column "title", :string, :null => false18 t.column "description", :string, :null => false17 t.column "title", :string, :default => "", :null => false 18 t.column "description", :string, :default => "", :null => false 19 19 t.column "author_id", :integer, :null => false 20 20 t.column "length", :integer, :default => 0, :null => false 21 21 t.column "size", :integer, :default => 0, :null => false 22 22 t.column "format", :string, :default => "application/octet-stream", :null => false 23 t.column "type", :string, :null => false23 t.column "type", :string, :default => "", :null => false 24 24 t.column "uploaded", :boolean, :default => false 25 25 t.column "updated_at", :datetime … … 29 29 t.column "document_id", :integer, :null => false 30 30 t.column "tag_id", :integer, :null => false 31 end 32 33 create_table "groups", :force => true do |t| 34 t.column "name", :string, :default => "", :null => false 35 t.column "description", :string 36 t.column "owner_id", :integer, :null => false 37 end 38 39 create_table "groups_users", :id => false, :force => true do |t| 40 t.column "group_id", :integer 41 t.column "user_id", :integer 31 42 end 32 43 … … 63 74 64 75 create_table "reviews", :force => true do |t| 65 t.column "document_id", :integer, :null => false66 t.column "user_id", :integer, :null => false67 t.column "rating", :integer, :null => false68 t.column "description", :string, : null => false69 t.column "created_at", :datetime, :null => false76 t.column "document_id", :integer, :null => false 77 t.column "user_id", :integer, :null => false 78 t.column "rating", :integer, :null => false 79 t.column "description", :string, :default => "", :null => false 80 t.column "created_at", :datetime, :null => false 70 81 end 71 82 … … 91 102 92 103 create_table "uploads", :force => true do |t| 93 t.column "document_id", :integer, :null => false94 t.column "key", :string, : null => false104 t.column "document_id", :integer, :null => false 105 t.column "key", :string, :default => "", :null => false 95 106 end 96 107 97 108 create_table "users", :force => true do |t| 98 t.column "username", :string, :null => false99 t.column "password", :string 100 t.column "name", :string 101 t.column "email", :string, :null => false109 t.column "username", :string, :default => "", :null => false 110 t.column "password", :string, :default => "", :null => false 111 t.column "name", :string, :default => "", :null => false 112 t.column "email", :string, :default => "", :null => false 102 113 t.column "organization", :string 103 114 t.column "confirmed", :boolean, :default => false trunk/public/stylesheets/screen.css
r986 r1108 195 195 } 196 196 197 #subscribers, #users {197 #subscribers, #users, #members { 198 198 clear: both; 199 199 border: 1px solid #5884a6; 200 200 } 201 #subscribers li, #users li {201 #subscribers li, #users li, #members li { 202 202 padding: 12px; 203 203 margin: 2px 12px; … … 313 313 } 314 314 315 #wrap:after, #content .vcard:after, #subscribers:after, #users:after, # content .hreview:after, #search:after {315 #wrap:after, #content .vcard:after, #subscribers:after, #users:after, #members:after, #content .hreview:after, #search:after { 316 316 content: "."; 317 317 display: block; … … 320 320 visibility: hidden; 321 321 } 322 * html #wrap, * html #content .vcard, * html #subscribers, * html #users, * html # search { height: 1%; }322 * html #wrap, * html #content .vcard, * html #subscribers, * html #users, * html #members, * html #search { height: 1%; }
