Commit ae47d692 authored by gitlabhq's avatar gitlabhq

Merge branch 'dev'

parents fb40d27d 3fa770dd
......@@ -5,7 +5,7 @@ gem 'rails', '3.1.0'
gem 'sqlite3'
gem 'devise', "1.4.7"
gem 'stamp'
gem 'will_paginate', '~> 3.0'
gem 'kaminari'
gem 'haml-rails'
gem 'jquery-rails'
gem 'grit', :git => 'git://github.com/gitlabhq/grit.git'
......@@ -16,7 +16,6 @@ gem 'faker'
gem 'seed-fu', :git => 'git://github.com/mbleigh/seed-fu.git'
gem "inifile"
gem "pygments.rb", "0.2.3"
gem "kaminari"
gem "thin"
gem "git"
gem "acts_as_list"
......@@ -34,7 +33,7 @@ end
group :development, :test do
gem 'rspec-rails'
gem 'shoulda'
gem "shoulda", "~> 3.0.0.beta2"
gem 'capybara'
gem 'autotest'
gem 'autotest-rails'
......
......@@ -200,7 +200,11 @@ GEM
ffi (>= 1.0.7)
json_pure
rubyzip
shoulda (2.11.3)
shoulda (3.0.0.beta2)
shoulda-context (~> 1.0.0.beta1)
shoulda-matchers (~> 1.0.0.beta1)
shoulda-context (1.0.0.beta1)
shoulda-matchers (1.0.0.beta3)
simplecov (0.5.3)
multi_json (~> 1.0.3)
simplecov-html (~> 0.5.3)
......@@ -232,7 +236,6 @@ GEM
multi_json (>= 1.0.2)
warden (1.0.5)
rack (>= 1.0)
will_paginate (3.0.0)
xpath (0.1.4)
nokogiri (~> 1.3)
......@@ -265,7 +268,7 @@ DEPENDENCIES
ruby-debug19
sass-rails (~> 3.1.0)
seed-fu!
shoulda
shoulda (~> 3.0.0.beta2)
simplecov
six
sqlite3
......@@ -274,4 +277,3 @@ DEPENDENCIES
thin
turn
uglifier
will_paginate (~> 3.0)
......@@ -5,11 +5,14 @@
// the compiled file.
//
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require jquery.ui.selectmenu
//= require jquery.cookie
//= require_tree .
$(function(){
$(".one_click_select").click(function(){
$(".one_click_select").live("click", function(){
$(this).select();
});
......
This diff is collapsed.
......@@ -2,6 +2,8 @@
* This is a manifest file that'll automatically include all the stylesheets available in this directory
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require jquery-ui/jquery-ui
*= require jquery-ui/jquery.ui.selectmenu
*= require_self
*= require_tree .
*/
......@@ -53,7 +53,6 @@ table.highlighttable pre{
text-align:left;
}
.git-empty .highlight {
@include round-borders-all(4px);
background:#eee;
......@@ -74,7 +73,6 @@ table.highlighttable pre{
box-shadow:0 5px 15px #000;
}
.hll { background-color: #ffffff }
.c { color: #888888; font-style: italic } /* Comment */
.err { color: #a61717; background-color: #e3d2d2 } /* Error */
......
......@@ -157,7 +157,6 @@ table.round-borders {
background: transparent 9 !important;
}
#header-panel {
@include panel-color;
height:40px;
......@@ -230,7 +229,6 @@ a {
}
}
.view_file_content{
.old_line, .new_line {
background:#ECECEC;
......@@ -281,8 +279,6 @@ input.ssh_project_url {
text-align:center;
}
.day-commits-table li.commit {
cursor:pointer;
......@@ -599,7 +595,6 @@ tbody tr:nth-child(2n) td, tbody tr.even td {
}
}
span{
border: 1px solid #aaa;
color:black;
......@@ -667,6 +662,10 @@ tbody tr:nth-child(2n) td, tbody tr.even td {
background: #4466cc;
color:white;
}
&.normal {
background: #2c5ca6;
color:white;
}
&.notes {
background: #2c5c66;
color:white;
......@@ -681,3 +680,23 @@ tbody tr:nth-child(2n) td, tbody tr.even td {
}
}
}
.top_panel_issues{
#issue_search_form {
margin:5px 0;
input {
border:1px solid #D3D3D3;
padding: 3px;
height: 28px;
width: 300px;
-webkit-appearance:none;
box-sizing: border-box;
-moz-box-sizing: border-box;
&:focus {
border-color:#c2e1ef;
}
}
}
}
......@@ -4,29 +4,14 @@ class Admin::ProjectsController < ApplicationController
def index
@admin_projects = Project.page(params[:page])
respond_to do |format|
format.html # index.html.erb
format.json { render json: @admin_projects }
end
end
def show
@admin_project = Project.find_by_code(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @admin_project }
end
end
def new
@admin_project = Project.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @admin_project }
end
end
def edit
......@@ -37,28 +22,20 @@ class Admin::ProjectsController < ApplicationController
@admin_project = Project.new(params[:project])
@admin_project.owner = current_user
respond_to do |format|
if @admin_project.save
format.html { redirect_to [:admin, @admin_project], notice: 'Project was successfully created.' }
format.json { render json: @admin_project, status: :created, location: @admin_project }
redirect_to [:admin, @admin_project], notice: 'Project was successfully created.'
else
format.html { render action: "new" }
format.json { render json: @admin_project.errors, status: :unprocessable_entity }
end
render :action => "new"
end
end
def update
@admin_project = Project.find_by_code(params[:id])
respond_to do |format|
if @admin_project.update_attributes(params[:project])
format.html { redirect_to [:admin, @admin_project], notice: 'Project was successfully updated.' }
format.json { head :ok }
redirect_to [:admin, @admin_project], notice: 'Project was successfully updated.'
else
format.html { render action: "edit" }
format.json { render json: @admin_project.errors, status: :unprocessable_entity }
end
render :action => "edit"
end
end
......@@ -66,9 +43,6 @@ class Admin::ProjectsController < ApplicationController
@admin_project = Project.find_by_code(params[:id])
@admin_project.destroy
respond_to do |format|
format.html { redirect_to admin_projects_url }
format.json { head :ok }
end
redirect_to admin_projects_url
end
end
......@@ -4,29 +4,14 @@ class Admin::TeamMembersController < ApplicationController
def index
@admin_team_members = UsersProject.page(params[:page]).per(100).order("project_id DESC")
respond_to do |format|
format.html # index.html.erb
format.json { render json: @admin_team_members }
end
end
def show
@admin_team_member = UsersProject.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @admin_team_member }
end
end
def new
@admin_team_member = UsersProject.new(params[:team_member])
respond_to do |format|
format.html # new.html.erb
format.json { render json: @admin_team_member }
end
end
def edit
......@@ -37,14 +22,10 @@ class Admin::TeamMembersController < ApplicationController
@admin_team_member = UsersProject.new(params[:team_member])
@admin_team_member.project_id = params[:team_member][:project_id]
respond_to do |format|
if @admin_team_member.save
format.html { redirect_to admin_team_member_path(@admin_team_member), notice: 'UsersProject was successfully created.' }
format.json { render json: @admin_team_member, status: :created, location: @team_member }
redirect_to admin_team_member_path(@admin_team_member), notice: 'UsersProject was successfully created.'
else
format.html { render action: "new" }
format.json { render json: @admin_team_member.errors, status: :unprocessable_entity }
end
render action: "new"
end
end
......@@ -52,14 +33,10 @@ class Admin::TeamMembersController < ApplicationController
@admin_team_member = UsersProject.find(params[:id])
@admin_team_member.project_id = params[:team_member][:project_id]
respond_to do |format|
if @admin_team_member.update_attributes(params[:team_member])
format.html { redirect_to admin_team_member_path(@admin_team_member), notice: 'UsersProject was successfully updated.' }
format.json { head :ok }
redirect_to admin_team_member_path(@admin_team_member), notice: 'UsersProject was successfully updated.'
else
format.html { render action: "edit" }
format.json { render json: @admin_team_member.errors, status: :unprocessable_entity }
end
render action: "edit"
end
end
......@@ -67,9 +44,6 @@ class Admin::TeamMembersController < ApplicationController
@admin_team_member = UsersProject.find(params[:id])
@admin_team_member.destroy
respond_to do |format|
format.html { redirect_to admin_team_members_url }
format.json { head :ok }
end
redirect_to admin_team_members_url
end
end
......@@ -4,29 +4,14 @@ class Admin::UsersController < ApplicationController
def index
@admin_users = User.page(params[:page])
respond_to do |format|
format.html # index.html.erb
format.json { render json: @admin_users }
end
end
def show
@admin_user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @admin_user }
end
end
def new
@admin_user = User.new(:projects_limit => 10)
respond_to do |format|
format.html # new.html.erb
format.json { render json: @admin_user }
end
end
def edit
......
......@@ -34,7 +34,7 @@ class IssuesController < ApplicationController
end
def show
@notes = @issue.notes
@notes = @issue.notes.order("created_at ASC")
@note = @project.notes.new(:noteable => @issue)
end
......@@ -57,7 +57,6 @@ class IssuesController < ApplicationController
end
end
def destroy
return access_denied! unless can?(current_user, :admin_issue, @issue)
......@@ -78,6 +77,22 @@ class IssuesController < ApplicationController
render :nothing => true
end
def search
terms = params['terms']
@project = Project.find(params['project'])
@issues = case params[:status].to_i
when 1 then @project.issues
when 2 then @project.issues.closed
when 3 then @project.issues.opened.assigned(current_user)
else @project.issues.opened
end
@issues = @issues.where("title LIKE ? OR content LIKE ?", "%#{terms}%", "%#{terms}%") unless terms.blank?
render :partial => 'issues'
end
protected
def issue
......
......@@ -15,7 +15,6 @@ class NotesController < ApplicationController
notify if params[:notify] == '1'
end
respond_to do |format|
format.html {redirect_to :back}
format.js
......
......@@ -115,7 +115,7 @@ class ProjectsController < ApplicationController
respond_to do |format|
format.html # show.html.erb
format.js do
# disable cache to allow back button works
# diasbale cache to allow back button works
response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"
......
module SnippetsHelper
def lifetime_select_options
options = [
['forever', nil],
['1 day', "#{Date.current + 1.day}"],
['1 week', "#{Date.current + 1.week}"],
['1 month', "#{Date.current + 1.month}"]
]
options_for_select(options)
end
end
......@@ -14,9 +14,9 @@ class Issue < ActiveRecord::Base
:presence => true,
:length => { :within => 0..255 }
validates :content,
:presence => true,
:length => { :within => 0..2000 }
#validates :content,
#:presence => true,
#:length => { :within => 0..2000 }
scope :critical, where(:critical => true)
scope :non_critical, where(:critical => false)
......
......@@ -13,7 +13,7 @@ class Note < ActiveRecord::Base
validates :note,
:presence => true,
:length => { :within => 0..255 }
:length => { :within => 0..5000 }
validates :attachment,
:file_size => {
......
......@@ -22,6 +22,8 @@ class Snippet < ActiveRecord::Base
:presence => true,
:length => { :within => 0..10000 }
scope :fresh, order("created_at DESC")
scope :non_expired, where(["expires_at IS NULL OR expires_at > ?", Time.current])
def self.content_types
[
......@@ -34,6 +36,10 @@ class Snippet < ActiveRecord::Base
def colorize
system_colorize(content, file_name)
end
def expired?
expires_at && expires_at < Time.current
end
end
# == Schema Information
#
......@@ -47,5 +53,6 @@ end
# created_at :datetime
# updated_at :datetime
# file_name :string(255)
# expires_at :datetime
#
......@@ -23,7 +23,6 @@
%div
%iframe{ :src=> admin_mailer_preview_note_path(:type => "Wall"), :width=>"100%", :height=>"350"}
:javascript
$(function() {
$( "#accordion" ).accordion(); });
......@@ -11,7 +11,6 @@
%b Since:
= @admin_team_member.updated_at
.span-10
.span-6
%b Access:
......
......@@ -2,5 +2,4 @@
= render 'form'
= link_to 'Back', admin_users_path, :class => "right lbutton"
......@@ -24,7 +24,6 @@
%b Twitter:
= @admin_user.twitter
.clear
= link_to 'Edit', edit_admin_user_path(@admin_user)
\|
......
......@@ -2,6 +2,7 @@
- line_new = 0
- lines_arr = diff.diff.lines.to_a
- lines_arr.each do |line|
- next if line.match(/^--- \/dev\/null/)
- next if line.match(/^--- a/)
- next if line.match(/^\+\+\+ b/)
- if line.match(/^@@ -/)
......
......@@ -7,10 +7,10 @@
.span-8
= f.label :title
= f.text_field :title, :style => "width:450px"
.span-8
= f.label :content
= f.text_area :content, :style => "width:450px; height:130px"
= f.text_area :title, :style => "width:450px; height:100px", :maxlength => 255
-#.span-8
-#= f.label :content
-#= f.text_area :content, :style => "width:450px; height:130px"
.span-8.append-bottom
= f.label :assignee_id
= f.select(:assignee_id, @project.users.all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" })
......
%tr{ :id => dom_id(issue), :class => "issue #{issue.critical ? "critical" : ""}", :url => project_issue_path(@project, issue) }
- if can?(current_user, :admin_issue, @project) && !params[:f] || params[:f] == "0"
- if can?(current_user, :admin_issue, @project) && (!params[:f] || params[:f] == "0")
%td
= image_tag "move.png" , :class => [:handle, :left]
%td
......@@ -7,7 +7,7 @@
= truncate issue.assignee.name, :lenght => 20
%td ##{issue.id}
%td
= html_escape issue.title
= truncate(html_escape(issue.title), :length => 60)
%br
- if issue.critical
%span.tag.high critical
......
%div
.top_panel_issues
- if can? current_user, :write_issue, @project
.left= link_to 'New Issue', new_project_issue_path(@project), :remote => true, :class => "lbutton vm"
%div{:class => "left", :style => "margin-right: 10px;" }
= link_to 'New Issue', new_project_issue_path(@project), :remote => true, :class => "lbutton vm"
= form_tag search_project_issues_path(@project), :method => :get, :remote => true, :class => :left, :id => "issue_search_form" do
= hidden_field_tag :project_id, @project.id, { :id => 'project_id' }
= search_field_tag :issue_search, nil, { :placeholder => 'Search', :class => 'issue_search' }
.right
= form_tag project_issues_path(@project), :method => :get do
.span-2
= radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "this.form.submit()", :id => "open_issues"
= radio_button_tag :f, 0, (params[:f] || "0") == "0", :onclick => "this.form.submit()", :id => "open_issues", :class => "status"
= label_tag "open_issues","Open"
.span-2
= radio_button_tag :f, 2, params[:f] == "2", :onclick => "this.form.submit()", :id => "closed_issues"
= radio_button_tag :f, 2, params[:f] == "2", :onclick => "this.form.submit()", :id => "closed_issues", :class => "status"
= label_tag "closed_issues","Closed"
.span-2
= radio_button_tag :f, 3, params[:f] == "3", :onclick => "this.form.submit()", :id => "my_issues"
= radio_button_tag :f, 3, params[:f] == "3", :onclick => "this.form.submit()", :id => "my_issues", :class => "status"
= label_tag "my_issues","To Me"
.span-2
= radio_button_tag :f, 1, params[:f] == "1", :onclick => "this.form.submit()", :id => "all_issues"
= radio_button_tag :f, 1, params[:f] == "1", :onclick => "this.form.submit()", :id => "all_issues", :class => "status"
= label_tag "all_issues","All"
#issues-table-holder= render "issues"
%br
:javascript
var href = $('.issue_search').parent().attr('action');
var last_terms = '';
$('.issue_search').keyup(function() {
var terms = $(this).val();
var project_id = $('#project_id').val();
var status = $('.status:checked').val();
if (terms != last_terms) {
last_terms = terms;
if (terms.length >= 2 || terms.length == 0) {
$.get(href, { 'status': status, 'terms': terms, project: project_id }, function(response) {
$('#issues-table').html(response);
setSortable();
});
}
}
});
$('.delete-issue').live('ajax:success', function() {
$(this).closest('tr').fadeOut(); });
$(this).closest('tr').fadeOut(); updatePage();});
function setSortable(){
$('#issues-table>tbody').sortable({
......
%h2
= "Issue ##{@issue.id} - #{@issue.title}"
= "Issue ##{@issue.id} - #{html_escape(@issue.title)}"
.span-15
= simple_format html_escape(@issue.content)
-#= simple_format html_escape(@issue.content)
.issue_notes= render "notes/notes"
.span-8.right
.span-8
......@@ -29,6 +28,16 @@
%td
= image_tag gravatar_icon(@issue.assignee.email), :class => "left", :width => 40, :style => "padding:0 5px;"
= @issue.assignee.name
%tr
%td Tags
%td
- if @issue.critical
%span.tag.high critical
- else
%span.tag.normal normal
- if @issue.today?
%span.tag.today today
%tr
%td Closed?
%td
......@@ -40,5 +49,9 @@
= check_box_tag "closed", 1, @issue.closed, :disabled => true
- if can?(current_user, :admin_issue, @issue)
.clear
= link_to 'Edit', edit_project_issue_path(@project, @issue), :class => "lbutton positive", :remote => true
.right= link_to 'Destroy', [@project, @issue], :confirm => 'Are you sure?', :method => :delete, :class => "lbutton delete-issue negative", :id => "destroy_issue_#{@issue.id}"
.clear
......@@ -6,7 +6,7 @@
- if @issue.valid?
:plain
$("#edit_issue_dialog").dialog("close");
$.ajax({type: "GET", url: location.href, dataType: "script"});
updatePage();
- else
:plain
$("#edit_issue_dialog").empty();
......
......@@ -22,7 +22,6 @@
</div>
</div>
<% if current_user %>
<%= javascript_tag do %>
$(function() {
......
......@@ -7,7 +7,6 @@
= stylesheet_link_tag 'blueprint/print', :media => "print"
= stylesheet_link_tag 'blueprint/plugins/buttons/screen', :media => "screen, projection"
= stylesheet_link_tag 'blueprint/plugins/link-icons/screen', :media => "screen, projection"
= stylesheet_link_tag 'jquery_ui/jquery-ui-1.8.16.custom', :media => "screen, projection"
= stylesheet_link_tag "application"
= javascript_include_tag "application"
= csrf_meta_tags
......
......@@ -10,7 +10,7 @@
%div
= f.label :note
%cite (255 symbols only)
%cite
%br
= f.text_area :note, :size => 255
......
......@@ -20,7 +20,6 @@
$("#submit_note").removeAttr("disabled");
})
- if ["issues", "projects"].include?(controller.controller_name)
:javascript
$(function(){
......
......@@ -23,7 +23,7 @@
= link_to project_snippets_path(@project), :class => (controller.controller_name == "snippets") ? "current" : nil do
Snippets
- if @project.snippets.count > 0
%span{ :class => "top_menu_count" }= @project.snippets.count
%span{ :class => "top_menu_count" }= @project.snippets.non_expired.count
- if @commit
%span= link_to truncate(commit_name(@project,@commit), :length => 15), project_commit_path(@project, :id => @commit.id), :class => current_page?(:controller => "commits", :action => "show", :project_id => @project, :id => @commit.id) ? "current" : nil
......
......@@ -21,3 +21,8 @@
%h3 Talk
=render "projects/recent_messages"
:javascript
function updateDashboard(){
$('#content-container').load("#{escape_javascript(project_path(@project))} #content-container>*");
}
setInterval("updateDashboard()", 300000);
......@@ -12,6 +12,9 @@
%tr
%td= f.label :file_name
%td= f.text_field :file_name, :placeholder => "example.rb"
%tr
%td= f.label "Lifetime"
%td= f.select :expires_at, lifetime_select_options
%tr
%td{:colspan => 2}
= f.label :content, "Code"
......
%tr{ :id => dom_id(snippet), :class => "snippet", :url => project_snippet_path(@project, snippet) }
- unless snippet.expired?
%tr{ :id => dom_id(snippet), :class => "snippet", :url => project_snippet_path(@project, snippet) }
%td
= image_tag gravatar_icon(snippet.author.email), :class => "left", :width => 40, :style => "padding:0 5px;"
= truncate snippet.author.name, :lenght => 20
......
......@@ -8,7 +8,7 @@
%th Title
%th File name
%th
= render @snippets
= render @snippets.fresh
:javascript
$('.delete-snippet').live('ajax:success', function() {
$(this).closest('tr').fadeOut(); });
%h2
- if !@snippet.expired?
%h2
= "Snippet ##{@snippet.id} - #{@snippet.title}"
.view_file
.view_file
.view_file_header
%strong
= @snippet.file_name
......@@ -10,13 +11,16 @@
:erb
<%= raw @snippet.colorize %>
- if can?(current_user, :admin_snippet, @project) || @snippet.author == current_user
- if can?(current_user, :admin_snippet, @project) || @snippet.author == current_user
= link_to 'Edit', edit_project_snippet_path(@project, @snippet), :class => "lbutton positive"
- if can?(current_user, :admin_snippet, @project) || @snippet.author == current_user
- if can?(current_user, :admin_snippet, @project) || @snippet.author == current_user
= link_to 'Destroy', [@project, @snippet], :confirm => 'Are you sure?', :method => :delete, :class => "lbutton delete-snippet negative", :id => "destroy_snippet_#{@snippet.id}"
.clear
%br
.snippet_notes= render "notes/notes"
.clear
%br
.snippet_notes= render "notes/notes"
.clear
.clear
- else
%h2
Sorry, this snippet is no longer exists
......@@ -25,4 +25,3 @@
%b Twitter:
= user.twitter
......@@ -44,5 +44,8 @@ module Gitlab
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.0'
# Extend assets path
config.assets.paths << Rails.root.join('vendor', 'assets', 'images', 'jquery-ui')
end
end
......@@ -58,7 +58,6 @@ Gitlab::Application.configure do
# Send deprecation notices to registered listeners
config.active_support.deprecation = :notify
config.action_mailer.delivery_method = :sendmail
# Defaults to:
# # config.action_mailer.sendmail_settings = {
......
......@@ -47,6 +47,9 @@ Gitlab::Application.routes.draw do
collection do
post :sort
end
collection do
get :search
end
end
resources :notes, :only => [:create, :destroy]
end
......
......@@ -11,7 +11,6 @@ class DeviseCreateUsers < ActiveRecord::Migration
# t.lockable :lock_strategy => :failed_attempts, :unlock_strategy => :both
# t.token_authenticatable
t.timestamps
end
......
class AddExpiresAtToSnippets < ActiveRecord::Migration
def change
add_column :snippets, :expires_at, :datetime
end
end
class ChangeNoteNoteToText < ActiveRecord::Migration
def up
change_column :notes, :note, :text, :limit => false
end
def down
end
end
class IssueContenToNote < ActiveRecord::Migration
def up
puts "Issue content is deprecated -> move to notes"
Issue.find_each(:batch_size => 100) do |issue|
next if issue.content.blank?
note = Note.new(
:note => issue.content,
:project_id => issue.project_id,
:noteable => issue,
:created_at => issue.created_at,
:updated_at => issue.created_at
)
note.author_id = issue.author_id
if note.save
issue.update_attributes(:content => nil)
print "."
else
print "F"
end
end
total = Issue.where("content is not null").count
if total > 0
puts "content of #{total} issues were not migrated"
else
puts "Done"
end
end
def down
end
end
......@@ -11,7 +11,7 @@
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20111025134235) do
ActiveRecord::Schema.define(:version => 20111027152724) do
create_table "issues", :force => true do |t|
t.string "title"
......@@ -36,7 +36,7 @@ ActiveRecord::Schema.define(:version => 20111025134235) do
end
create_table "notes", :force => true do |t|
t.string "note"
t.text "note"
t.string "noteable_id"
t.string "noteable_type"
t.integer "author_id"
......@@ -65,6 +65,7 @@ ActiveRecord::Schema.define(:version => 20111025134235) do
t.datetime "created_at"
t.datetime "updated_at"
t.string "file_name"
t.datetime "expires_at"
end
create_table "users", :force => true do |t|
......
......@@ -25,7 +25,6 @@
text-decoration: none;
}
#page {
background-color: #f0f0f0;
width: 750px;
......@@ -57,7 +56,6 @@
padding-right: 30px;
}
#header {
background-image: url("/assets/rails.png");
background-repeat: no-repeat;
......@@ -71,7 +69,6 @@
font-size: 16px;
}
#about h3 {
margin: 0;
margin-bottom: 10px;
......@@ -112,7 +109,6 @@
padding: 10px;
}
#getting-started {
border-top: 1px solid #ccc;
margin-top: 25px;
......@@ -149,7 +145,6 @@
font-size: 13px;
}
#sidebar ul {
margin-left: 0;
padding-left: 0;
......
......@@ -32,7 +32,6 @@ end
Factory.add(:issue, Issue) do |obj|
obj.title = Faker::Lorem.sentence
obj.content = Faker::Lorem.sentences
end
Factory.add(:snippet, Snippet) do |obj|
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment