Skip to content
This repository
Browse code

v1.0

  • Loading branch information...
commit d3784687943e0bd699d73d82a6bc6cac39689473 1 parent 0f43e98
Dmitriy Zaporozhets authored October 13, 2011

Showing 317 changed files with 11,347 additions and 0 deletions. Show diff stats Hide diff stats

  1. 3  .rails_footnotes
  2. 1  .rspec
  3. 1  .rvmrc
  4. 28  CHANGELOG
  5. 50  Gemfile
  6. 277  Gemfile.lock
  7. 19  LICENSE
  8. 85  README.rdoc
  9. 7  Rakefile
  10. 1  VERSION
  11. 4  app/assets/images/.directory
  12. BIN  app/assets/images/ajax-loader.gif
  13. BIN  app/assets/images/blueprint_add.png
  14. BIN  app/assets/images/blueprint_delete.png
  15. BIN  app/assets/images/blueprint_info.png
  16. BIN  app/assets/images/blueprint_notice.png
  17. BIN  app/assets/images/dir.png
  18. BIN  app/assets/images/favicon.ico
  19. BIN  app/assets/images/favicon.png
  20. BIN  app/assets/images/git.png
  21. BIN  app/assets/images/jquery_ui/images/ui-bg_flat_0_aaaaaa_40x100.png
  22. BIN  app/assets/images/jquery_ui/images/ui-bg_flat_75_ffffff_40x100.png
  23. BIN  app/assets/images/jquery_ui/images/ui-bg_glass_55_fbf9ee_1x400.png
  24. BIN  app/assets/images/jquery_ui/images/ui-bg_glass_65_ffffff_1x400.png
  25. BIN  app/assets/images/jquery_ui/images/ui-bg_glass_75_dadada_1x400.png
  26. BIN  app/assets/images/jquery_ui/images/ui-bg_glass_75_e6e6e6_1x400.png
  27. BIN  app/assets/images/jquery_ui/images/ui-bg_glass_95_fef1ec_1x400.png
  28. BIN  app/assets/images/jquery_ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png
  29. BIN  app/assets/images/jquery_ui/images/ui-icons_222222_256x240.png
  30. BIN  app/assets/images/jquery_ui/images/ui-icons_2e83ff_256x240.png
  31. BIN  app/assets/images/jquery_ui/images/ui-icons_454545_256x240.png
  32. BIN  app/assets/images/jquery_ui/images/ui-icons_888888_256x240.png
  33. BIN  app/assets/images/jquery_ui/images/ui-icons_cd0a0a_256x240.png
  34. BIN  app/assets/images/list_view_icon.jpg
  35. BIN  app/assets/images/no_avatar.png
  36. BIN  app/assets/images/rails.png
  37. BIN  app/assets/images/txt.png
  38. 18  app/assets/javascripts/application.js
  39. 9  app/assets/javascripts/commits.js
  40. 3  app/assets/javascripts/dashboard.js.coffee
  41. 3  app/assets/javascripts/issues.js.coffee
  42. 791  app/assets/javascripts/jquery-ui-1.8.16.custom.min.js
  43. 41  app/assets/javascripts/jquery.cookie.js
  44. 845  app/assets/javascripts/jquery.ui.selectmenu.js
  45. 3  app/assets/javascripts/profile.js.coffee
  46. 41  app/assets/javascripts/projects.js
  47. 7  app/assets/stylesheets/application.css
  48. 3  app/assets/stylesheets/dashboard.css.scss
  49. 135  app/assets/stylesheets/highlight.css.scss
  50. 3  app/assets/stylesheets/issues.css.scss
  51. 33  app/assets/stylesheets/jquery.ui.selectmenu.css
  52. 3  app/assets/stylesheets/profile.css.scss
  53. 541  app/assets/stylesheets/projects.css.scss
  54. 44  app/controllers/admin/mailer_controller.rb
  55. 74  app/controllers/admin/projects_controller.rb
  56. 75  app/controllers/admin/team_members_controller.rb
  57. 84  app/controllers/admin/users_controller.rb
  58. 44  app/controllers/application_controller.rb
  59. 44  app/controllers/commits_controller.rb
  60. 5  app/controllers/dashboard_controller.rb
  61. 5  app/controllers/errors_controller.rb
  62. 72  app/controllers/issues_controller.rb
  63. 38  app/controllers/keys_controller.rb
  64. 49  app/controllers/notes_controller.rb
  65. 21  app/controllers/profile_controller.rb
  66. 152  app/controllers/projects_controller.rb
  67. 66  app/controllers/team_members_controller.rb
  68. 2  app/helpers/admin/projects_helper.rb
  69. 2  app/helpers/admin/users_helper.rb
  70. 77  app/helpers/application_helper.rb
  71. 24  app/helpers/commits_helper.rb
  72. 2  app/helpers/dashboard_helper.rb
  73. 2  app/helpers/issues_helper.rb
  74. 2  app/helpers/keys_helper.rb
  75. 2  app/helpers/profile_helper.rb
  76. 6  app/helpers/projects_helper.rb
  77. 2  app/helpers/team_members_helper.rb
  78. 0  app/mailers/.gitkeep
  79. 41  app/mailers/notify.rb
  80. 0  app/models/.gitkeep
  81. 34  app/models/ability.rb
  82. 39  app/models/issue.rb
  83. 58  app/models/key.rb
  84. 41  app/models/note.rb
  85. 164  app/models/project.rb
  86. 62  app/models/user.rb
  87. 35  app/models/users_project.rb
  88. 49  app/uploaders/attachment_uploader.rb
  89. 6  app/views/admin/_top_menu.html.haml
  90. 29  app/views/admin/mailer/preview.html.haml
  91. 30  app/views/admin/projects/_form.html.haml
  92. 5  app/views/admin/projects/edit.html.haml
  93. 26  app/views/admin/projects/index.html.haml
  94. 5  app/views/admin/projects/new.html.haml
  95. 45  app/views/admin/projects/show.html.haml
  96. 34  app/views/admin/team_members/_form.html.haml
  97. 5  app/views/admin/team_members/edit.html.haml
  98. 30  app/views/admin/team_members/index.html.haml
  99. 5  app/views/admin/team_members/new.html.haml
  100. 32  app/views/admin/team_members/show.html.haml
  101. 38  app/views/admin/users/_form.html.haml
  102. 4  app/views/admin/users/edit.html.haml
  103. 24  app/views/admin/users/index.html.haml
  104. 6  app/views/admin/users/new.html.haml
  105. 45  app/views/admin/users/show.html.haml
  106. 22  app/views/commits/_commits.html.haml
  107. 58  app/views/commits/_diff.html.haml
  108. 9  app/views/commits/_index.html.haml
  109. 13  app/views/commits/index.html.haml
  110. 2  app/views/commits/index.js.erb
  111. 39  app/views/commits/show.html.haml
  112. 6  app/views/commits/show.js.haml
  113. 1  app/views/dashboard/index.html.haml
  114. 12  app/views/devise/confirmations/new.html.erb
  115. 5  app/views/devise/mailer/confirmation_instructions.html.erb
  116. 8  app/views/devise/mailer/reset_password_instructions.html.erb
  117. 7  app/views/devise/mailer/unlock_instructions.html.erb
  118. 16  app/views/devise/passwords/edit.html.erb
  119. 15  app/views/devise/passwords/new.html.erb
  120. 28  app/views/devise/registrations/edit.html.erb
  121. 18  app/views/devise/registrations/new.html.erb
  122. 20  app/views/devise/sessions/new.html.erb
  123. 25  app/views/devise/shared/_links.erb
  124. 12  app/views/devise/unlocks/new.html.erb
  125. 24  app/views/issues/_form.html.haml
  126. 10  app/views/issues/_issues.html.haml
  127. 18  app/views/issues/_show.html.haml
  128. 9  app/views/issues/create.js.haml
  129. 12  app/views/issues/edit.js.haml
  130. 24  app/views/issues/index.html.haml
  131. 2  app/views/issues/index.js.haml
  132. 12  app/views/issues/new.js.haml
  133. 44  app/views/issues/show.html.haml
  134. 14  app/views/issues/update.js.haml
  135. 16  app/views/keys/_form.html.haml
  136. 4  app/views/keys/_show.html.haml
  137. 8  app/views/keys/create.js.haml
  138. 7  app/views/keys/edit.html.haml
  139. 15  app/views/keys/index.html.haml
  140. 5  app/views/keys/new.html.haml
  141. 11  app/views/keys/new.js.haml
  142. 18  app/views/layouts/_flash.html.haml
  143. 34  app/views/layouts/_head_panel.html.erb
  144. 29  app/views/layouts/application.html.haml
  145. 36  app/views/layouts/notify.html.haml
  146. 28  app/views/notes/_form.html.haml
  147. 14  app/views/notes/_notes.html.haml
  148. 19  app/views/notes/_show.html.haml
  149. 8  app/views/notes/create.js.haml
  150. 18  app/views/notify/new_issue_email.html.haml
  151. 23  app/views/notify/new_user_email.html.haml
  152. 23  app/views/notify/note_commit_email.html.haml
  153. 25  app/views/notify/note_issue_email.html.haml
  154. 22  app/views/notify/note_wall_email.html.haml
  155. 5  app/views/profile/_top_menu.html.haml
  156. 1  app/views/profile/index.html.haml
  157. 20  app/views/profile/password.html.haml
  158. 8  app/views/profile/show.html.haml
  159. 50  app/views/projects/_form.html.haml
  160. 26  app/views/projects/_list.html.haml
  161. 16  app/views/projects/_projects_top_menu.html.haml
  162. 14  app/views/projects/_side_panel.html.haml
  163. 18  app/views/projects/_team.html.haml
  164. 16  app/views/projects/_tile.html.haml
  165. 24  app/views/projects/_top_menu.html.haml
  166. 60  app/views/projects/_tree.html.haml
  167. 21  app/views/projects/_tree_file.html.haml
  168. 15  app/views/projects/_tree_item.html.haml
  169. 6  app/views/projects/create.js.haml
  170. 1  app/views/projects/edit.html.erb
  171. 49  app/views/projects/empty.html.erb
  172. 4  app/views/projects/index.html.haml
  173. 1  app/views/projects/new.html.erb
  174. 3  app/views/projects/show.html.haml
  175. 3  app/views/projects/team.html.haml
  176. 5  app/views/projects/tree.html.erb
  177. 5  app/views/projects/tree.js.haml
  178. 6  app/views/projects/update.js.haml
  179. 1  app/views/projects/wall.html.haml
  180. 25  app/views/team_members/_form.html.haml
  181. 18  app/views/team_members/_show.html.haml
  182. 9  app/views/team_members/create.js.haml
  183. 15  app/views/team_members/new.js.haml
  184. 6  app/views/team_members/update.js.haml
  185. 0  assets/.gitkeep b/lib/assets/.gitkeep
  186. 4  config.ru
  187. 48  config/application.rb
  188. 6  config/boot.rb
  189. 25  config/database.yml
  190. 7  config/environment.rb
  191. 32  config/environments/development.rb
  192. 70  config/environments/production.rb
  193. 42  config/environments/test.rb
  194. 4  config/gitosis.yml
  195. 7  config/initializers/backtrace_silencers.rb
  196. 211  config/initializers/devise.rb
  197. 10  config/initializers/inflections.rb
  198. 1  config/initializers/load_config.rb
  199. 5  config/initializers/mime_types.rb
  200. 5  config/initializers/rails_footnotes.rb
  201. 7  config/initializers/secret_token.rb
  202. 8  config/initializers/session_store.rb
  203. 14  config/initializers/wrap_parameters.rb
  204. 58  config/locales/devise.en.yml
  205. 10  config/locales/en.yml
  206. 47  config/routes.rb
  207. 5  configure.rb
  208. 11  db/fixtures/development/001_admin.rb
  209. 10  db/fixtures/production/001_admin.rb
  210. 11  db/fixtures/test/001_repo.rb
  211. 28  db/migrate/20110913200833_devise_create_users.rb
  212. 11  db/migrate/20110913204141_create_projects.rb
  213. 13  db/migrate/20110914221600_create_users_projects.rb
  214. 5  db/migrate/20110915205627_add_private_flag_to_project.rb
  215. 9  db/migrate/20110915213352_create_keys.rb
  216. 5  db/migrate/20110916123731_add_name_to_user.rb
  217. 7  db/migrate/20110916162511_add_key_title_to_key.rb
  218. 5  db/migrate/20110917212932_add_identifier_to_key.rb
  219. 13  db/migrate/20110921192501_create_issues.rb
  220. 5  db/migrate/20110922110156_add_code_to_project.rb
  221. 5  db/migrate/20110923211333_add_status_to_issue.rb
  222. 18  db/migrate/20110924214549_create_rails_admin_histories_table.rb
  223. 5  db/migrate/20110924215658_add_admin_field_to_user.rb
  224. 9  db/migrate/20110926082616_remove_admin.rb
  225. 12  db/migrate/20110927130352_create_notes.rb
  226. 9  db/migrate/20110928140106_add_project_id_for_note.rb
  227. 9  db/migrate/20110928142747_change_noteable_id_for_note.rb
  228. 5  db/migrate/20110928161328_add_attachment_to_note.rb
  229. 9  db/migrate/20111005193700_add_allow_repo_creation_for_user.rb
  230. 5  db/migrate/20111009101738_add_ownerto_project.rb
  231. 5  db/migrate/20111009110913_add_projects_limit_to_user.rb
  232. 9  db/migrate/20111009111204_remove_allow_create_repo_from_user.rb
  233. 3  db/pkey.example
  234. 89  db/schema.rb
  235. 2  doc/README_FOR_APP
  236. 51  install/prepare.rb
  237. 65  lib/file_size_validator.rb
  238. 73  lib/gitosis.rb
  239. 8  lib/utils.rb
  240. 0  log/.gitkeep
  241. 25  public/404.html
  242. 25  public/422.html
  243. 25  public/500.html
  244. 0  public/favicon.ico
  245. 26  public/gitosis_error.html
  246. 241  public/index.html.example
  247. 5  public/robots.txt
  248. 6  script/rails
  249. 0  seeds.rb b/db/seeds.rb
  250. 45  spec/factories.rb
  251. 29  spec/factory.rb
  252. 42  spec/models/issue_spec.rb
  253. 32  spec/models/key_spec.rb
  254. 78  spec/models/note_spec.rb
  255. 57  spec/models/project_security_spec.rb
  256. 127  spec/models/project_spec.rb
  257. 43  spec/models/user_spec.rb
  258. 32  spec/models/users_project_spec.rb
  259. 31  spec/monkeypatch.rb
  260. 106  spec/requests/admin/admin_projects_spec.rb
  261. 102  spec/requests/admin/admin_users_spec.rb
  262. 27  spec/requests/admin/security_spec.rb
  263. 24  spec/requests/commits_notes_spec.rb
  264. 39  spec/requests/commits_spec.rb
  265. 27  spec/requests/issues_notes_spec.rb
  266. 147  spec/requests/issues_spec.rb
  267. 54  spec/requests/keys_spec.rb
  268. 55  spec/requests/profile_spec.rb
  269. 111  spec/requests/projects_security_spec.rb
  270. 152  spec/requests/projects_spec.rb
  271. 92  spec/requests/projects_tree_spec.rb
  272. 33  spec/requests/projects_wall_spec.rb
  273. 46  spec/requests/team_members_spec.rb
  274. 34  spec/requests/top_panel_spec.rb
  275. 37  spec/requests/user_security_spec.rb
  276. BIN  spec/seed_project.tar.gz
  277. 56  spec/spec_helper.rb
  278. 6  spec/support/js_patch.rb
  279. 29  spec/support/login.rb
  280. 46  spec/support/matchers.rb
  281. 0  spec/support/security.rb
  282. 18  spec/support/shared_examples.rb
  283. 25  spec/support/valid_commit.rb
  284. 0  tasks/.gitkeep b/lib/tasks/.gitkeep
  285. 0  vendor/assets/stylesheets/.gitkeep
  286. 36  vendor/assets/stylesheets/blueprint/ie.css
  287. BIN  vendor/assets/stylesheets/blueprint/plugins/buttons/icons/cross.png
  288. BIN  vendor/assets/stylesheets/blueprint/plugins/buttons/icons/key.png
  289. BIN  vendor/assets/stylesheets/blueprint/plugins/buttons/icons/tick.png
  290. 32  vendor/assets/stylesheets/blueprint/plugins/buttons/readme.txt
  291. 97  vendor/assets/stylesheets/blueprint/plugins/buttons/screen.css
  292. 14  vendor/assets/stylesheets/blueprint/plugins/fancy-type/readme.txt
  293. 71  vendor/assets/stylesheets/blueprint/plugins/fancy-type/screen.css
  294. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/doc.png
  295. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/email.png
  296. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/external.png
  297. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/feed.png
  298. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/im.png
  299. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/lock.png
  300. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/pdf.png
  301. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/visited.png
  302. BIN  vendor/assets/stylesheets/blueprint/plugins/link-icons/icons/xls.png
  303. 18  vendor/assets/stylesheets/blueprint/plugins/link-icons/readme.txt
  304. 42  vendor/assets/stylesheets/blueprint/plugins/link-icons/screen.css
  305. 10  vendor/assets/stylesheets/blueprint/plugins/rtl/readme.txt
  306. 110  vendor/assets/stylesheets/blueprint/plugins/rtl/screen.css
  307. 29  vendor/assets/stylesheets/blueprint/print.css
  308. 265  vendor/assets/stylesheets/blueprint/screen.css
  309. 82  vendor/assets/stylesheets/blueprint/src/forms.css
  310. 280  vendor/assets/stylesheets/blueprint/src/grid.css
  311. BIN  vendor/assets/stylesheets/blueprint/src/grid.png
  312. 79  vendor/assets/stylesheets/blueprint/src/ie.css
  313. 92  vendor/assets/stylesheets/blueprint/src/print.css
  314. 65  vendor/assets/stylesheets/blueprint/src/reset.css
  315. 123  vendor/assets/stylesheets/blueprint/src/typography.css
  316. 577  vendor/assets/stylesheets/jquery_ui/jquery-ui-1.8.16.custom.css
  317. 0  vendor/plugins/.gitkeep
3  .rails_footnotes
... ...
@@ -0,0 +1,3 @@
  1
+#this code temporarily disables notes for all controllers
  2
+# Footnotes::Filter.notes = []
  3
+
1  .rspec
... ...
@@ -0,0 +1 @@
  1
+--colour
1  .rvmrc
... ...
@@ -0,0 +1 @@
  1
+rvm use 1.9.2-p290
28  CHANGELOG
... ...
@@ -0,0 +1,28 @@
  1
+v 1.0.0
  2
+  - bug fix
  3
+  - projects preview mode
  4
+v 0.9.6
  5
+  - css fix
  6
+  - new repo empty tree until restart server - fixed
  7
+v 0.9.4
  8
+  - security improved
  9
+  - authorization improved
  10
+  - html escaping
  11
+  - bug fix
  12
+  - increassed test coverage
  13
+  - design improvements
  14
+
  15
+v 0.9.1
  16
+  - increassed test coverage
  17
+  - design improvements
  18
+  - new issue email notification
  19
+  - updated app name
  20
+  - issue redesigned
  21
+  - issue can be edit
  22
+v 0.8.0
  23
+  - sytax highlight for main file types
  24
+  - redesign
  25
+  - stability
  26
+  - security fixes
  27
+  - increased test coverage
  28
+  - email notification
50  Gemfile
... ...
@@ -0,0 +1,50 @@
  1
+source 'http://rubygems.org'
  2
+
  3
+gem 'rails', '3.1.0'
  4
+
  5
+gem 'sqlite3'
  6
+gem 'devise', "1.4.7"
  7
+gem 'stamp'
  8
+gem 'will_paginate', '~> 3.0'
  9
+gem 'haml-rails'
  10
+gem 'jquery-rails'
  11
+gem 'grit', :git => 'git://github.com/gitlabhq/grit.git'
  12
+gem "carrierwave"
  13
+gem 'six'
  14
+gem 'therubyracer'
  15
+gem 'faker'
  16
+gem 'seed-fu', :branch => 'rails-3-1', :git => 'git://github.com/mbleigh/seed-fu.git'
  17
+gem "inifile"
  18
+gem "albino", :git => "git://github.com/gitlabhq/albino.git"
  19
+gem "kaminari"
  20
+gem "thin"
  21
+gem "git"
  22
+
  23
+group :assets do
  24
+  gem 'sass-rails', "  ~> 3.1.0"
  25
+  gem 'coffee-rails', "~> 3.1.0"
  26
+  gem 'uglifier'
  27
+end
  28
+
  29
+group :development do 
  30
+  gem 'rails-footnotes', '>= 3.7.5.rc4'
  31
+  gem 'annotate', :git => 'git://github.com/ctran/annotate_models.git'
  32
+end
  33
+
  34
+group :development, :test do
  35
+  gem 'rspec-rails'
  36
+  gem 'shoulda'
  37
+  gem 'capybara'
  38
+  gem 'autotest'
  39
+  gem 'autotest-rails'
  40
+  gem 'ruby-debug19', :require => 'ruby-debug'
  41
+  gem 'awesome_print'
  42
+  gem 'database_cleaner'
  43
+  gem 'launchy'
  44
+end
  45
+
  46
+
  47
+group :test do
  48
+  gem 'turn', :require => false
  49
+  gem 'simplecov', :require => false
  50
+end
277  Gemfile.lock
... ...
@@ -0,0 +1,277 @@
  1
+GIT
  2
+  remote: git://github.com/ctran/annotate_models.git
  3
+  revision: cfeec96c9ca0fa5035b10be3d73e798cc4fc52f7
  4
+  specs:
  5
+    annotate (2.4.1.beta1)
  6
+
  7
+GIT
  8
+  remote: git://github.com/gitlabhq/albino.git
  9
+  revision: 118380924969f3a856659f86ea1f40c1ba7bfcb1
  10
+  specs:
  11
+    albino (1.3.3)
  12
+      posix-spawn (>= 0.3.6)
  13
+
  14
+GIT
  15
+  remote: git://github.com/gitlabhq/grit.git
  16
+  revision: ff015074ef35bd94cba943f9c0f98e161ab5851c
  17
+  specs:
  18
+    grit (2.4.1)
  19
+      diff-lcs (~> 1.1)
  20
+      mime-types (~> 1.15)
  21
+      posix-spawn (~> 0.3.6)
  22
+
  23
+GIT
  24
+  remote: git://github.com/mbleigh/seed-fu.git
  25
+  revision: 29fe8c61ca6cc4408115ea7475fe2647081bd348
  26
+  branch: rails-3-1
  27
+  specs:
  28
+    seed-fu (2.0.1.rails31)
  29
+      activerecord (~> 3.1.0.rc4)
  30
+      activesupport (~> 3.1.0.rc4)
  31
+
  32
+GEM
  33
+  remote: http://rubygems.org/
  34
+  specs:
  35
+    ZenTest (4.5.0)
  36
+    actionmailer (3.1.0)
  37
+      actionpack (= 3.1.0)
  38
+      mail (~> 2.3.0)
  39
+    actionpack (3.1.0)
  40
+      activemodel (= 3.1.0)
  41
+      activesupport (= 3.1.0)
  42
+      builder (~> 3.0.0)
  43
+      erubis (~> 2.7.0)
  44
+      i18n (~> 0.6)
  45
+      rack (~> 1.3.2)
  46
+      rack-cache (~> 1.0.3)
  47
+      rack-mount (~> 0.8.2)
  48
+      rack-test (~> 0.6.1)
  49
+      sprockets (~> 2.0.0)
  50
+    activemodel (3.1.0)
  51
+      activesupport (= 3.1.0)
  52
+      bcrypt-ruby (~> 3.0.0)
  53
+      builder (~> 3.0.0)
  54
+      i18n (~> 0.6)
  55
+    activerecord (3.1.0)
  56
+      activemodel (= 3.1.0)
  57
+      activesupport (= 3.1.0)
  58
+      arel (~> 2.2.1)
  59
+      tzinfo (~> 0.3.29)
  60
+    activeresource (3.1.0)
  61
+      activemodel (= 3.1.0)
  62
+      activesupport (= 3.1.0)
  63
+    activesupport (3.1.0)
  64
+      multi_json (~> 1.0)
  65
+    addressable (2.2.6)
  66
+    ansi (1.3.0)
  67
+    archive-tar-minitar (0.5.2)
  68
+    arel (2.2.1)
  69
+    autotest (4.4.6)
  70
+      ZenTest (>= 4.4.1)
  71
+    autotest-rails (4.1.1)
  72
+      ZenTest (= 4.5)
  73
+    awesome_print (0.4.0)
  74
+    bcrypt-ruby (3.0.1)
  75
+    builder (3.0.0)
  76
+    capybara (1.0.1)
  77
+      mime-types (>= 1.16)
  78
+      nokogiri (>= 1.3.3)
  79
+      rack (>= 1.0.0)
  80
+      rack-test (>= 0.5.4)
  81
+      selenium-webdriver (~> 2.0)
  82
+      xpath (~> 0.1.4)
  83
+    carrierwave (0.5.7)
  84
+      activesupport (~> 3.0)
  85
+    childprocess (0.2.2)
  86
+      ffi (~> 1.0.6)
  87
+    coffee-rails (3.1.1)
  88
+      coffee-script (>= 2.2.0)
  89
+      railties (~> 3.1.0)
  90
+    coffee-script (2.2.0)
  91
+      coffee-script-source
  92
+      execjs
  93
+    coffee-script-source (1.1.2)
  94
+    columnize (0.3.4)
  95
+    daemons (1.1.4)
  96
+    database_cleaner (0.6.7)
  97
+    devise (1.4.7)
  98
+      bcrypt-ruby (~> 3.0)
  99
+      orm_adapter (~> 0.0.3)
  100
+      warden (~> 1.0.3)
  101
+    diff-lcs (1.1.3)
  102
+    erubis (2.7.0)
  103
+    eventmachine (0.12.10)
  104
+    execjs (1.2.6)
  105
+      multi_json (~> 1.0)
  106
+    faker (0.9.5)
  107
+      i18n (~> 0.4)
  108
+    ffi (1.0.9)
  109
+    git (1.2.5)
  110
+    haml (3.1.3)
  111
+    haml-rails (0.3.4)
  112
+      actionpack (~> 3.0)
  113
+      activesupport (~> 3.0)
  114
+      haml (~> 3.0)
  115
+      railties (~> 3.0)
  116
+    hike (1.2.1)
  117
+    i18n (0.6.0)
  118
+    inifile (0.4.1)
  119
+    jquery-rails (1.0.14)
  120
+      railties (~> 3.0)
  121
+      thor (~> 0.14)
  122
+    json_pure (1.5.4)
  123
+      spruz (~> 0.2.8)
  124
+    kaminari (0.12.4)
  125
+      rails (>= 3.0.0)
  126
+    launchy (2.0.5)
  127
+      addressable (~> 2.2.6)
  128
+    libv8 (3.3.10.2)
  129
+    linecache19 (0.5.12)
  130
+      ruby_core_source (>= 0.1.4)
  131
+    mail (2.3.0)
  132
+      i18n (>= 0.4.0)
  133
+      mime-types (~> 1.16)
  134
+      treetop (~> 1.4.8)
  135
+    mime-types (1.16)
  136
+    multi_json (1.0.3)
  137
+    nokogiri (1.5.0)
  138
+    orm_adapter (0.0.5)
  139
+    polyglot (0.3.2)
  140
+    posix-spawn (0.3.6)
  141
+    rack (1.3.2)
  142
+    rack-cache (1.0.3)
  143
+      rack (>= 0.4)
  144
+    rack-mount (0.8.3)
  145
+      rack (>= 1.0.0)
  146
+    rack-ssl (1.3.2)
  147
+      rack
  148
+    rack-test (0.6.1)
  149
+      rack (>= 1.0)
  150
+    rails (3.1.0)
  151
+      actionmailer (= 3.1.0)
  152
+      actionpack (= 3.1.0)
  153
+      activerecord (= 3.1.0)
  154
+      activeresource (= 3.1.0)
  155
+      activesupport (= 3.1.0)
  156
+      bundler (~> 1.0)
  157
+      railties (= 3.1.0)
  158
+    rails-footnotes (3.7.5.rc4)
  159
+      rails (>= 3.0.0)
  160
+    railties (3.1.0)
  161
+      actionpack (= 3.1.0)
  162
+      activesupport (= 3.1.0)
  163
+      rack-ssl (~> 1.3.2)
  164
+      rake (>= 0.8.7)
  165
+      rdoc (~> 3.4)
  166
+      thor (~> 0.14.6)
  167
+    rake (0.9.2)
  168
+    rdoc (3.9.4)
  169
+    rspec (2.6.0)
  170
+      rspec-core (~> 2.6.0)
  171
+      rspec-expectations (~> 2.6.0)
  172
+      rspec-mocks (~> 2.6.0)
  173
+    rspec-core (2.6.4)
  174
+    rspec-expectations (2.6.0)
  175
+      diff-lcs (~> 1.1.2)
  176
+    rspec-mocks (2.6.0)
  177
+    rspec-rails (2.6.1)
  178
+      actionpack (~> 3.0)
  179
+      activesupport (~> 3.0)
  180
+      railties (~> 3.0)
  181
+      rspec (~> 2.6.0)
  182
+    ruby-debug-base19 (0.11.25)
  183
+      columnize (>= 0.3.1)
  184
+      linecache19 (>= 0.5.11)
  185
+      ruby_core_source (>= 0.1.4)
  186
+    ruby-debug19 (0.11.6)
  187
+      columnize (>= 0.3.1)
  188
+      linecache19 (>= 0.5.11)
  189
+      ruby-debug-base19 (>= 0.11.19)
  190
+    ruby_core_source (0.1.5)
  191
+      archive-tar-minitar (>= 0.5.2)
  192
+    rubyzip (0.9.4)
  193
+    sass (3.1.7)
  194
+    sass-rails (3.1.1)
  195
+      actionpack (~> 3.1.0)
  196
+      railties (~> 3.1.0)
  197
+      sass (>= 3.1.4)
  198
+      tilt (~> 1.3.2)
  199
+    selenium-webdriver (2.5.0)
  200
+      childprocess (>= 0.2.1)
  201
+      ffi (>= 1.0.7)
  202
+      json_pure
  203
+      rubyzip
  204
+    shoulda (2.11.3)
  205
+    simplecov (0.5.3)
  206
+      multi_json (~> 1.0.3)
  207
+      simplecov-html (~> 0.5.3)
  208
+    simplecov-html (0.5.3)
  209
+    six (0.2.0)
  210
+    sprockets (2.0.0)
  211
+      hike (~> 1.2)
  212
+      rack (~> 1.0)
  213
+      tilt (~> 1.1, != 1.3.0)
  214
+    spruz (0.2.13)
  215
+    sqlite3 (1.3.4)
  216
+    stamp (0.1.6)
  217
+    therubyracer (0.9.4)
  218
+      libv8 (~> 3.3.10)
  219
+    thin (1.2.11)
  220
+      daemons (>= 1.0.9)
  221
+      eventmachine (>= 0.12.6)
  222
+      rack (>= 1.0.0)
  223
+    thor (0.14.6)
  224
+    tilt (1.3.3)
  225
+    treetop (1.4.10)
  226
+      polyglot
  227
+      polyglot (>= 0.3.1)
  228
+    turn (0.8.2)
  229
+      ansi (>= 1.2.2)
  230
+    tzinfo (0.3.29)
  231
+    uglifier (1.0.3)
  232
+      execjs (>= 0.3.0)
  233
+      multi_json (>= 1.0.2)
  234
+    warden (1.0.5)
  235
+      rack (>= 1.0)
  236
+    will_paginate (3.0.0)
  237
+    xpath (0.1.4)
  238
+      nokogiri (~> 1.3)
  239
+
  240
+PLATFORMS
  241
+  ruby
  242
+
  243
+DEPENDENCIES
  244
+  albino!
  245
+  annotate!
  246
+  autotest
  247
+  autotest-rails
  248
+  awesome_print
  249
+  capybara
  250
+  carrierwave
  251
+  coffee-rails (~> 3.1.0)
  252
+  database_cleaner
  253
+  devise (= 1.4.7)
  254
+  faker
  255
+  git
  256
+  grit!
  257
+  haml-rails
  258
+  inifile
  259
+  jquery-rails
  260
+  kaminari
  261
+  launchy
  262
+  rails (= 3.1.0)
  263
+  rails-footnotes (>= 3.7.5.rc4)
  264
+  rspec-rails
  265
+  ruby-debug19
  266
+  sass-rails (~> 3.1.0)
  267
+  seed-fu!
  268
+  shoulda
  269
+  simplecov
  270
+  six
  271
+  sqlite3
  272
+  stamp
  273
+  therubyracer
  274
+  thin
  275
+  turn
  276
+  uglifier
  277
+  will_paginate (~> 3.0)
19  LICENSE
... ...
@@ -0,0 +1,19 @@
  1
+Copyright (c) 2011 Dmitriy Zaporozhets
  2
+
  3
+Permission is hereby granted, free of charge, to any person obtaining a copy
  4
+of this software and associated documentation files (the "Software"), to deal
  5
+in the Software without restriction, including without limitation the rights
  6
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  7
+copies of the Software, and to permit persons to whom the Software is
  8
+furnished to do so, subject to the following conditions:
  9
+
  10
+The above copyright notice and this permission notice shall be included in
  11
+all copies or substantial portions of the Software.
  12
+
  13
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  14
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  15
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  16
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  17
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  18
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
  19
+THE SOFTWARE.
85  README.rdoc
Source Rendered
... ...
@@ -0,0 +1,85 @@
  1
+== Welcome to GitLab
  2
+
  3
+GitLAb is a free Project/Repository managment application
  4
+
  5
+== Application details
  6
+
  7
+rails 3.1
  8
+works only with gitosis
  9
+sqlite as default db 
  10
+
  11
+
  12
+== Requirements
  13
+
  14
+* ruby 1.9.2
  15
+
  16
+* sqlite
  17
+
  18
+* git
  19
+
  20
+* gitosis
  21
+
  22
+* ubuntu/debian
  23
+
  24
+* pygments lib  - sudo easy_install pygments
  25
+
  26
+
  27
+== Install Project
  28
+
  29
+
  30
+  git clone git://github.com/gitlabhq/gitlabhq.git
  31
+  cd gitlabhq/
  32
+
  33
+  # install this library first
  34
+  sudo easy_install pygments
  35
+
  36
+  sudo gem install bundler
  37
+  bundle
  38
+
  39
+  RAILS_ENV=production rake db:setup
  40
+  
  41
+  # create admin user 
  42
+  # login....admin@local.host
  43
+  # pass.....5iveL!fe
  44
+  RAILS_ENV=production rake db:seed_fu 
  45
+
  46
+Install gitosis, edit conf/gitosis.yml & start server
  47
+
  48
+  rails s
  49
+
  50
+== Install Gitosis
  51
+  sudo aptitude install gitosis
  52
+
  53
+  sudo adduser \
  54
+    --system \
  55
+    --shell /bin/sh \
  56
+    --gecos 'git version control' \
  57
+    --group \
  58
+    --disabled-password \
  59
+    --home /home/git \
  60
+    git
  61
+
  62
+
  63
+  ssh-keygen -t rsa
  64
+
  65
+  sudo -H -u git gitosis-init < ~/.ssh/id_rsa.pub
  66
+  sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
  67
+
  68
+
  69
+== Install ruby 1.9.2
  70
+
  71
+  sudo aptitude install git-core curl gcc checkinstall libxml2-dev libxslt-dev sqlite3 libsqlite3-dev  libcurl4-openssl-dev libreadline5-dev libc6-dev libssl-dev libmysql++-dev make build-essential zlib1g-dev
  72
+
  73
+  wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz
  74
+
  75
+  tar xfvz ruby-1.9.2-p290.tar.gz
  76
+
  77
+  cd ruby-1.9.2-p290
  78
+  ./configure
  79
+  make
  80
+  sudo checkinstall -D
  81
+
  82
+  sudo gem update --system
  83
+
  84
+
  85
+  echo "gem: --no-rdoc --no-ri" > ~/.gemrc
7  Rakefile
... ...
@@ -0,0 +1,7 @@
  1
+#!/usr/bin/env rake
  2
+# Add your own tasks in files placed in lib/tasks ending in .rake,
  3
+# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
  4
+
  5
+require File.expand_path('../config/application', __FILE__)
  6
+
  7
+Gitlab::Application.load_tasks
1  VERSION
... ...
@@ -0,0 +1 @@
  1
+1.0.0
4  app/assets/images/.directory
... ...
@@ -0,0 +1,4 @@
  1
+[Dolphin]
  2
+ShowPreview=true
  3
+Timestamp=2011,9,14,20,34,18
  4
+Version=2
BIN  app/assets/images/ajax-loader.gif
BIN  app/assets/images/blueprint_add.png
BIN  app/assets/images/blueprint_delete.png
BIN  app/assets/images/blueprint_info.png
BIN  app/assets/images/blueprint_notice.png
BIN  app/assets/images/dir.png
BIN  app/assets/images/favicon.ico
Binary file not shown
BIN  app/assets/images/favicon.png
BIN  app/assets/images/git.png
BIN  app/assets/images/jquery_ui/images/ui-bg_flat_0_aaaaaa_40x100.png
BIN  app/assets/images/jquery_ui/images/ui-bg_flat_75_ffffff_40x100.png
BIN  app/assets/images/jquery_ui/images/ui-bg_glass_55_fbf9ee_1x400.png
BIN  app/assets/images/jquery_ui/images/ui-bg_glass_65_ffffff_1x400.png
BIN  app/assets/images/jquery_ui/images/ui-bg_glass_75_dadada_1x400.png
BIN  app/assets/images/jquery_ui/images/ui-bg_glass_75_e6e6e6_1x400.png
BIN  app/assets/images/jquery_ui/images/ui-bg_glass_95_fef1ec_1x400.png
BIN  app/assets/images/jquery_ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png
BIN  app/assets/images/jquery_ui/images/ui-icons_222222_256x240.png
BIN  app/assets/images/jquery_ui/images/ui-icons_2e83ff_256x240.png
BIN  app/assets/images/jquery_ui/images/ui-icons_454545_256x240.png
BIN  app/assets/images/jquery_ui/images/ui-icons_888888_256x240.png
BIN  app/assets/images/jquery_ui/images/ui-icons_cd0a0a_256x240.png
BIN  app/assets/images/list_view_icon.jpg
BIN  app/assets/images/no_avatar.png
BIN  app/assets/images/rails.png
BIN  app/assets/images/txt.png
18  app/assets/javascripts/application.js
... ...
@@ -0,0 +1,18 @@
  1
+// This is a manifest file that'll be compiled into including all the files listed below.
  2
+// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
  3
+// be included in the compiled file accessible from http://example.com/assets/application.js
  4
+// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
  5
+// the compiled file.
  6
+//
  7
+//= require jquery
  8
+//= require jquery_ujs
  9
+//= require_tree .
  10
+
  11
+$(function(){
  12
+  $(".one_click_select").click(function(){
  13
+    $(this).select();
  14
+  });
  15
+
  16
+  $('select#branch').selectmenu({style:'popup', width:200});
  17
+  $('select#tag').selectmenu({style:'popup', width:200});
  18
+});
9  app/assets/javascripts/commits.js
... ...
@@ -0,0 +1,9 @@
  1
+$(document).ready(function(){
  2
+  $(".day-commits-table li.commit").live('click', function(e){
  3
+    if(e.target.nodeName != "A") {
  4
+      location.href = $(this).attr("url");
  5
+      e.stopPropagation();
  6
+      return false;
  7
+    }
  8
+  });
  9
+});
3  app/assets/javascripts/dashboard.js.coffee
... ...
@@ -0,0 +1,3 @@
  1
+# Place all the behaviors and hooks related to the matching controller here.
  2
+# All this logic will automatically be available in application.js.
  3
+# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
3  app/assets/javascripts/issues.js.coffee
... ...
@@ -0,0 +1,3 @@
  1
+# Place all the behaviors and hooks related to the matching controller here.
  2
+# All this logic will automatically be available in application.js.
  3
+# You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
791  app/assets/javascripts/jquery-ui-1.8.16.custom.min.js
791 additions, 0 deletions not shown
41  app/assets/javascripts/jquery.cookie.js
... ...
@@ -0,0 +1,41 @@
845  app/assets/javascripts/jquery.ui.selectmenu.js
... ...
@@ -0,0 +1,845 @@
  1
+ /*
  2
+ * jQuery UI selectmenu dev version
  3
+ *
  4
+ * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
  5
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
  6
+ * and GPL (GPL-LICENSE.txt) licenses.
  7
+ *
  8
+ * http://docs.jquery.com/UI
  9
+ * https://github.com/fnagel/jquery-ui/wiki/Selectmenu
  10
+ */
  11
+
  12
+(function($) {
  13
+
  14
+$.widget("ui.selectmenu", {
  15
+	getter: "value",
  16
+	version: "1.8",
  17
+	eventPrefix: "selectmenu",
  18
+	options: {
  19
+		transferClasses: true,
  20
+		typeAhead: "sequential",
  21
+		style: 'dropdown',
  22
+		positionOptions: {
  23
+			my: "left top",
  24
+			at: "left bottom",
  25
+			offset: null
  26
+		},
  27
+		width: null,
  28
+		menuWidth: null,
  29
+		handleWidth: 26,
  30
+		maxHeight: null,
  31
+		icons: null,
  32
+		format: null,
  33
+		bgImage: function() {},
  34
+		wrapperElement: "<div />"
  35
+	},
  36
+
  37
+	_create: function() {
  38
+		var self = this, o = this.options;
  39
+
  40
+		// set a default id value, generate a new random one if not set by developer
  41
+		var selectmenuId = this.element.attr( 'id' ) || 'ui-selectmenu-' + Math.random().toString( 16 ).slice( 2, 10 );
  42
+
  43
+		// quick array of button and menu id's
  44
+		this.ids = [ selectmenuId + '-button', selectmenuId + '-menu' ];
  45
+
  46
+		// define safe mouseup for future toggling
  47
+		this._safemouseup = true;
  48
+
  49
+		// create menu button wrapper
  50
+		this.newelement = $( '<a />', {
  51
+			'class': this.widgetBaseClass + ' ui-widget ui-state-default ui-corner-all',
  52
+			'id' : this.ids[ 0 ],
  53
+			'role': 'button',
  54
+			'href': '#nogo',
  55
+			'tabindex': this.element.attr( 'disabled' ) ? 1 : 0,
  56
+			'aria-haspopup': true,
  57
+			'aria-owns': this.ids[ 1 ]
  58
+		});
  59
+		this.newelementWrap = $( o.wrapperElement )
  60
+			.append( this.newelement )
  61
+			.insertAfter( this.element );
  62
+		
  63
+		// transfer tabindex
  64
+		var tabindex = this.element.attr( 'tabindex' );
  65
+		if ( tabindex ) {
  66
+			this.newelement.attr( 'tabindex', tabindex );
  67
+		}
  68
+
  69
+		// save reference to select in data for ease in calling methods
  70
+		this.newelement.data( 'selectelement', this.element );
  71
+
  72
+		// menu icon
  73
+		this.selectmenuIcon = $( '<span class="' + this.widgetBaseClass + '-icon ui-icon"></span>' )
  74
+			.prependTo( this.newelement );
  75
+
  76
+		// append status span to button
  77
+		this.newelement.prepend( '<span class="' + self.widgetBaseClass + '-status" />' );
  78
+
  79
+		// make associated form label trigger focus
  80
+		$( 'label[for="' + selectmenuId + '"]' )
  81
+			.attr( 'for', this.ids[0] )
  82
+			.bind( 'click.selectmenu', function() {
  83
+				self.newelement[0].focus();
  84
+				return false;
  85
+			});
  86
+
  87
+		// click toggle for menu visibility
  88
+		this.newelement
  89
+			.bind('mousedown.selectmenu', function(event) {
  90
+				self._toggle(event, true);
  91
+				// make sure a click won't open/close instantly
  92
+				if (o.style == "popup") {
  93
+					self._safemouseup = false;
  94
+					setTimeout(function() { self._safemouseup = true; }, 300);
  95
+				}
  96
+				return false;
  97
+			})
  98
+			.bind('click.selectmenu', function() {
  99
+				return false;
  100
+			})
  101
+			.bind("keydown.selectmenu", function(event) {
  102
+				var ret = false;
  103
+				switch (event.keyCode) {
  104
+					case $.ui.keyCode.ENTER:
  105
+						ret = true;
  106
+						break;
  107
+					case $.ui.keyCode.SPACE:
  108
+						self._toggle(event);
  109
+						break;
  110
+					case $.ui.keyCode.UP:
  111
+						if (event.altKey) {
  112
+							self.open(event);
  113
+						} else {
  114
+							self._moveSelection(-1);
  115
+						}
  116
+						break;
  117
+					case $.ui.keyCode.DOWN:
  118
+						if (event.altKey) {
  119
+							self.open(event);
  120
+						} else {
  121
+							self._moveSelection(1);
  122
+						}
  123
+						break;
  124
+					case $.ui.keyCode.LEFT:
  125
+						self._moveSelection(-1);
  126
+						break;
  127
+					case $.ui.keyCode.RIGHT:
  128
+						self._moveSelection(1);
  129
+						break;
  130
+					case $.ui.keyCode.TAB:
  131
+						ret = true;
  132
+						break;
  133
+					default:
  134
+						ret = true;
  135
+				}
  136
+				return ret;
  137
+			})
  138
+			.bind('keypress.selectmenu', function(event) {
  139
+				self._typeAhead(event.which, 'mouseup');
  140
+				return true;
  141
+			})
  142
+			.bind('mouseover.selectmenu focus.selectmenu', function() {
  143
+				if (!o.disabled) {
  144
+					$(this).addClass(self.widgetBaseClass + '-focus ui-state-hover');
  145
+				}
  146
+			})
  147
+			.bind('mouseout.selectmenu blur.selectmenu', function() {
  148
+				if (!o.disabled) {
  149
+					$(this).removeClass(self.widgetBaseClass + '-focus ui-state-hover');
  150
+				}
  151
+			});
  152
+
  153
+		// document click closes menu
  154
+		$(document).bind("mousedown.selectmenu", function(event) {
  155
+			self.close(event);
  156
+		});
  157
+
  158
+		// change event on original selectmenu
  159
+		this.element
  160
+			.bind("click.selectmenu", function() {
  161
+				self._refreshValue();
  162
+			})
  163
+			// FIXME: newelement can be null under unclear circumstances in IE8
  164
+			// TODO not sure if this is still a problem (fnagel 20.03.11)
  165
+			.bind("focus.selectmenu", function() {
  166
+				if (self.newelement) {
  167
+					self.newelement[0].focus();
  168
+				}
  169
+			});
  170
+
  171
+		// set width when not set via options
  172
+		if (!o.width) {
  173
+			o.width = this.element.outerWidth();
  174
+		}
  175
+		// set menu button width
  176
+		this.newelement.width(o.width);
  177
+
  178
+		// hide original selectmenu element
  179
+		this.element.hide();
  180
+
  181
+		// create menu portion, append to body		
  182
+		this.list = $( '<ul />', {
  183
+			'class': 'ui-widget ui-widget-content',
  184
+			'aria-hidden': true,
  185
+			'role': 'listbox',
  186
+			'aria-labelledby': this.ids[0],
  187
+			'id': this.ids[1]
  188
+		});
  189
+		this.listWrap = $( o.wrapperElement )
  190
+			.addClass( self.widgetBaseClass + '-menu' )
  191
+			.append( this.list )
  192
+			.appendTo( 'body' );
  193
+		
  194
+		// transfer menu click to menu button
  195
+		this.list
  196
+			.bind("keydown.selectmenu", function(event) {
  197
+				var ret = false;
  198
+				switch (event.keyCode) {
  199
+					case $.ui.keyCode.UP:
  200
+						if (event.altKey) {
  201
+							self.close(event, true);
  202
+						} else {
  203
+							self._moveFocus(-1);
  204
+						}
  205
+						break;
  206
+					case $.ui.keyCode.DOWN:
  207
+						if (event.altKey) {
  208
+							self.close(event, true);
  209
+						} else {
  210
+							self._moveFocus(1);
  211
+						}
  212
+						break;
  213
+					case $.ui.keyCode.LEFT:
  214
+						self._moveFocus(-1);
  215
+						break;
  216
+					case $.ui.keyCode.RIGHT:
  217
+						self._moveFocus(1);
  218
+						break;
  219
+					case $.ui.keyCode.HOME:
  220
+						self._moveFocus(':first');
  221
+						break;
  222
+					case $.ui.keyCode.PAGE_UP:
  223
+						self._scrollPage('up');
  224
+						break;
  225
+					case $.ui.keyCode.PAGE_DOWN:
  226
+						self._scrollPage('down');
  227
+						break;
  228
+					case $.ui.keyCode.END:
  229
+						self._moveFocus(':last');
  230
+						break;
  231
+					case $.ui.keyCode.ENTER:
  232
+					case $.ui.keyCode.SPACE:
  233
+						self.close(event, true);
  234
+						$(event.target).parents('li:eq(0)').trigger('mouseup');
  235
+						break;
  236
+					case $.ui.keyCode.TAB:
  237
+						ret = true;
  238
+						self.close(event, true);
  239
+						$(event.target).parents('li:eq(0)').trigger('mouseup');
  240
+						break;
  241
+					case $.ui.keyCode.ESCAPE:
  242
+						self.close(event, true);
  243
+						break;
  244
+					default:
  245
+						ret = true;
  246
+				}
  247
+				return ret;
  248
+			})
  249
+			.bind('keypress.selectmenu', function(event) {
  250
+				self._typeAhead(event.which, 'focus');
  251
+				return true;
  252
+			})
  253
+			// this allows for using the scrollbar in an overflowed list
  254
+			.bind( 'mousedown.selectmenu mouseup.selectmenu', function() { return false; });
  255
+
  256
+		// needed when window is resized
  257
+		// TODO seems to be useless, but causes errors (fnagel 01.08.11)
  258
+		// see: https://github.com/fnagel/jquery-ui/issues/147
  259
+		// $(window).bind( "resize.selectmenu", $.proxy( self._refreshPosition, this ) );
  260
+	},
  261
+
  262
+	_init: function() {
  263
+		var self = this, o = this.options;
  264
+
  265
+		// serialize selectmenu element options
  266
+		var selectOptionData = [];
  267
+		this.element
  268
+			.find('option')
  269
+			.each(function() {
  270
+				var opt = $(this);
  271
+				selectOptionData.push({
  272
+					value: opt.attr('value'),
  273
+					text: self._formatText(opt.text()),
  274
+					selected: opt.attr('selected'),
  275
+					disabled: opt.attr('disabled'),
  276
+					classes: opt.attr('class'),
  277
+					typeahead: opt.attr('typeahead'),
  278
+					parentOptGroup: opt.parent('optgroup'),
  279
+					bgImage: o.bgImage.call(opt)
  280
+				});
  281
+			});
  282
+
  283
+		// active state class is only used in popup style
  284
+		var activeClass = (self.options.style == "popup") ? " ui-state-active" : "";
  285
+
  286
+		// empty list so we can refresh the selectmenu via selectmenu()
  287
+		this.list.html("");
  288
+
  289
+		// write li's
  290
+		if (selectOptionData.length) {
  291
+			for (var i = 0; i < selectOptionData.length; i++) {
  292
+				var thisLiAttr = { role : 'presentation' };
  293
+				if ( selectOptionData[ i ].disabled ) {
  294
+					thisLiAttr[ 'class' ] = this.namespace + '-state-disabled';
  295
+				}					
  296
+				var thisAAttr = {
  297
+					html: selectOptionData[i].text,
  298
+					href : '#nogo', 
  299
+					tabindex : -1, 
  300
+					role : 'option',
  301
+					'aria-selected' : false
  302
+				};
  303
+				if ( selectOptionData[ i ].disabled ) {
  304
+					thisAAttr[ 'aria-disabled' ] = selectOptionData[ i ].disabled;
  305
+				}
  306
+				if ( selectOptionData[ i ].typeahead ) {
  307
+					thisAAttr[ 'typeahead' ] = selectOptionData[ i ].typeahead;
  308
+				}				
  309
+				var thisA = $('<a/>', thisAAttr);
  310
+				var thisLi = $('<li/>', thisLiAttr)	
  311
+					.append(thisA)				
  312
+					.data('index', i)
  313
+					.addClass(selectOptionData[i].classes)
  314
+					.data('optionClasses', selectOptionData[i].classes || '')
  315
+					.bind("mouseup.selectmenu", function(event) {
  316
+						if (self._safemouseup && !self._disabled(event.currentTarget) && !self._disabled($( event.currentTarget ).parents( "ul>li." + self.widgetBaseClass + "-group " )) ) {
  317
+							var changed = $(this).data('index') != self._selectedIndex();
  318
+							self.index($(this).data('index'));
  319
+							self.select(event);
  320
+							if (changed) {
  321
+								self.change(event);
  322
+							}
  323
+							self.close(event, true);
  324
+						}
  325
+						return false;
  326
+					})
  327
+					.bind("click.selectmenu", function() {
  328
+						return false;
  329
+					})
  330
+					.bind('mouseover.selectmenu focus.selectmenu', function(e) {
  331
+						// no hover if diabled
  332
+						if (!$(e.currentTarget).hasClass(self.namespace + '-state-disabled') && !$(e.currentTarget).parent("ul").parent("li").hasClass(self.namespace + '-state-disabled')) {
  333
+							self._selectedOptionLi().addClass(activeClass);
  334
+							self._focusedOptionLi().removeClass(self.widgetBaseClass + '-item-focus ui-state-hover');
  335
+							$(this).removeClass('ui-state-active').addClass(self.widgetBaseClass + '-item-focus ui-state-hover');
  336
+						}
  337
+					})
  338
+					.bind('mouseout.selectmenu blur.selectmenu', function() {
  339
+						if ($(this).is(self._selectedOptionLi().selector)) {
  340
+							$(this).addClass(activeClass);
  341
+						}
  342
+						$(this).removeClass(self.widgetBaseClass + '-item-focus ui-state-hover');
  343
+					});
  344
+
  345
+				// optgroup or not...
  346
+				if ( selectOptionData[i].parentOptGroup.length ) {
  347
+					var optGroupName = self.widgetBaseClass + '-group-' + this.element.find( 'optgroup' ).index( selectOptionData[i].parentOptGroup );
  348
+					if (this.list.find( 'li.' + optGroupName ).length ) {
  349
+						this.list.find( 'li.' + optGroupName + ':last ul' ).append( thisLi );
  350
+					} else {
  351
+						$(' <li role="presentation" class="' + self.widgetBaseClass + '-group ' + optGroupName + (selectOptionData[i].parentOptGroup.attr("disabled") ? ' ' + this.namespace + '-state-disabled" aria-disabled="true"' : '"' ) + '><span class="' + self.widgetBaseClass + '-group-label">' + selectOptionData[i].parentOptGroup.attr('label') + '</span><ul></ul></li> ')
  352
+							.appendTo( this.list )
  353
+							.find( 'ul' )
  354
+							.append( thisLi );
  355
+					}
  356
+				} else {
  357
+					thisLi.appendTo(this.list);
  358
+				}
  359
+
  360
+				// append icon if option is specified
  361
+				if (o.icons) {
  362
+					for (var j in o.icons) {
  363
+						if (thisLi.is(o.icons[j].find)) {
  364
+							thisLi
  365
+								.data('optionClasses', selectOptionData[i].classes + ' ' + self.widgetBaseClass + '-hasIcon')
  366
+								.addClass(self.widgetBaseClass + '-hasIcon');
  367
+							var iconClass = o.icons[j].icon || "";
  368
+							thisLi
  369
+								.find('a:eq(0)')
  370
+								.prepend('<span class="' + self.widgetBaseClass + '-item-icon ui-icon ' + iconClass + '"></span>');
  371
+							if (selectOptionData[i].bgImage) {