diff --git a/tracks/app/models/context.rb b/tracks/app/models/context.rb index 1c0abccd..8cc0f684 100644 --- a/tracks/app/models/context.rb +++ b/tracks/app/models/context.rb @@ -8,4 +8,13 @@ class Context < ActiveRecord::Base validates_presence_of :name, :message => "context must have a name" validates_length_of :name, :maximum => 255, :message => "context name must be less than %d" validates_uniqueness_of :name, :message => "already exists" + + def self.list_of(hidden=0) + find(:all, :conditions => [ "hide = ?" , hidden ], :order => "position ASC") + end + + def count_undone_todos + Todo.count( "context_id=#{self.id} AND done=0" ) + end + end diff --git a/tracks/app/models/project.rb b/tracks/app/models/project.rb index da486009..13cce765 100644 --- a/tracks/app/models/project.rb +++ b/tracks/app/models/project.rb @@ -8,5 +8,13 @@ class Project < ActiveRecord::Base validates_presence_of :name, :message => "project must have a name" validates_length_of :name, :maximum => 255, :message => "project name must be less than %d" validates_uniqueness_of :name, :message => "already exists" - + + def self.list_of(isdone=0) + find(:all, :conditions => [ "done = ?" , isdone ], :order => "position ASC") + end + + def count_undone_todos + Todo.count( "project_id=#{self.id} AND done=0" ) + end + end diff --git a/tracks/app/models/user.rb b/tracks/app/models/user.rb index df160c8d..d7317c04 100644 --- a/tracks/app/models/user.rb +++ b/tracks/app/models/user.rb @@ -24,7 +24,8 @@ class User < ActiveRecord::Base write_attribute("word", self.class.sha1(word)) end - validates_length_of :password, :login, :within => 5..40 + validates_length_of :password, :within => 5..40 + validates_length_of :login, :within => 3..80 validates_presence_of :password, :login, :word validates_uniqueness_of :login, :on => :create validates_uniqueness_of :word, :on => :create diff --git a/tracks/app/views/context/show.rhtml b/tracks/app/views/context/show.rhtml index 3efc108b..f2b401ca 100644 --- a/tracks/app/views/context/show.rhtml +++ b/tracks/app/views/context/show.rhtml @@ -63,33 +63,42 @@ -

Active Contexts:

- - -

Hidden Contexts:

- - -

Active Projects:

- +

Active Projects:

+ + +

Completed Projects:

+ + +

Active Contexts:

+ + +

Hidden Contexts:

+ -

Completed Projects:

- <% if @flash["confirmation"] %>
<%= @flash["confirmation"] %>
<% end %> diff --git a/tracks/app/views/project/show.rhtml b/tracks/app/views/project/show.rhtml index d91bcc56..f8433aaa 100644 --- a/tracks/app/views/project/show.rhtml +++ b/tracks/app/views/project/show.rhtml @@ -63,34 +63,42 @@ - -

Active Projects:

- - -

Completed Projects:

- - -

Active Contexts:

- -

Hidden Contexts:

- +

Active Projects:

+ + +

Completed Projects:

+ + +

Active Contexts:

+ + +

Hidden Contexts:

+ <% if @flash["confirmation"] %>
<%= @flash["confirmation"] %>
<% end %> diff --git a/tracks/app/views/todo/list.rhtml b/tracks/app/views/todo/list.rhtml index c6a44ca8..cafcb3bd 100644 --- a/tracks/app/views/todo/list.rhtml +++ b/tracks/app/views/todo/list.rhtml @@ -75,33 +75,41 @@ -

Active Projects:

- +

Active Projects:

+ -

Completed Projects:

- +

Completed Projects:

+ -

Active Contexts:

- +

Active Contexts:

+ -

Hidden Contexts:

- +

Hidden Contexts:

+