Katrina Owen
a4ae0c03bf
Fix failing tests
2013-03-18 21:54:19 -06:00
Katrina Owen
a690e4a4cd
Extract methods in pie chart data model
2013-03-18 19:57:42 -06:00
Katrina Owen
961227da0c
Extract pie chart data logic into model layer
...
Move most of the tests for this logic into the unit test layer.
2013-03-18 19:49:54 -06:00
Reinier Balt
22b371ef8c
do a big refactor of rendering collections of todos for home page, tag page, project page, context page
2013-03-18 12:36:40 +01:00
Matt Rogers
f541a4c9d6
Simplify SearchController#results
...
Give names to the various things being searched for and move them out
into their own methods. Also add scopes to give names to things being
queried out of the models.
2013-03-12 19:49:19 -05:00
Katrina Owen
3479585991
Use a more appropriate name for stats domain object
2013-03-05 07:49:44 -07:00
Katrina Owen
d5a555fbac
Encapsulate dependencies of stats index page
...
This may be a bit extreme.
It's modeled after the ideal "rails way".
In the controller, we now know the name of a single resource. It
doesn't happen to be backed by a database table, but it does know all
about the task of collecting stats, leaving the controller concerned
with just munging params and rendering stuff.
I called the resource `IndexPage`, to avoid the temptation of trying to
reuse it, which can get pretty messy.
Later, if a better abstraction appears, it should be fairly painless to
alter.
2013-03-02 17:35:19 -07:00
Katrina Owen
615a9e46c9
Encapsulate counts and totals into a class.
...
Move queries out of the view and into the model layer.
2013-03-02 17:22:15 -07:00
Katrina Owen
6ccb9a81fb
Group context-related pieces in a class
2013-03-02 17:21:03 -07:00
Katrina Owen
8b1f0a34a0
Group project-related stats into a class.
...
Reduce number of instance variables available to the views.
Replace raw SQL with AR-type query.
2013-03-02 17:12:14 -07:00
Katrina Owen
c4433a5ea9
Don't round in ttc.min_sec method
...
This fixes a bug where it would round 1.8 days up to
2 days, and still display the extra hours in addition.
2013-03-02 16:16:45 -05:00
Katrina Owen
03282638af
Move calculation out of view
2013-03-02 16:16:45 -05:00
Katrina Owen
62336f94cd
Move time to complete stats into separate class
...
This separates out the calculations from the queries so we can get
decent tests around them.
2013-03-02 16:16:45 -05:00
Katrina Owen
0ebb98d49f
Encapsulate action stats
...
This gets rid of a bunch of instance variables in the view/controller
layer.
2013-03-02 16:16:45 -05:00
Matt Rogers
004339a2ca
Merge pull request #164 from kytrinyx/adjust-font-size
...
Split up the font size calculation
2013-03-02 05:40:38 -08:00
Katrina Owen
1b7ed32024
Fold two more SQL queries into the query object
2013-03-02 07:54:13 -05:00
Katrina Owen
3f496db4b4
Split up the font size calculation
...
The font size is a view concern, but the relative size belongs in the
model layer.
2013-03-02 07:14:52 -05:00
Matt Rogers
ae42f9c076
Merge pull request #163 from kytrinyx/stats-project-view
...
Simplify stats project view
2013-03-01 22:02:39 -08:00
Matt Rogers
3365b7e79f
Merge pull request #162 from kytrinyx/projects-stats
...
Extract duplicate top projects query from stats controller
2013-03-01 21:58:34 -08:00
Katrina Owen
2686a0d3b5
Don't link to null projects
...
If you have fewer than 10 projects, then empty running projects were
linked to with the path `/projects/-1`.
Copy/pasted the list strategy from the other project sections in the
same partial so the duplication becomes explicit.
2013-03-02 00:19:47 -05:00
Katrina Owen
a23d2eb070
Extract duplicate context query from controller
2013-03-01 23:29:54 -05:00
Katrina Owen
6de4713d38
Extract top projects query object
...
This removed a bit of duplication from the stats controller.
2013-03-01 23:11:44 -05:00
Matt Rogers
f375c06964
Merge pull request #160 from kytrinyx/tag-counts
...
Extract duplicated query from stats controller
2013-03-01 18:52:52 -08:00
Katrina Owen
4dff7538ea
Extract duplicated query
...
This includes a bit of a simplification which assumes that there aren't
any orphan taggings for a user.
2013-03-01 21:27:58 -05:00
Katrina Owen
0aa6ea183b
Extract chart value object
...
This simplifies the views (slightly).
2013-03-01 20:38:24 -05:00
Matt Rogers
8b0f3e986a
Merge branch 'tag-cloud' of https://github.com/kytrinyx/tracks
2013-03-01 16:49:53 -06:00
Katrina Owen
cd7a5e0866
Delete redundant casting in tag cloud
2013-03-01 16:12:00 -05:00
Katrina Owen
a13199cdda
Add unit test for tag cloud
2013-03-01 16:03:35 -05:00
Katrina Owen
a81f5b76f3
Separate query from cloud
...
This will make testing easier
2013-03-01 13:14:27 -05:00
Reinier Balt
4df340bd7b
add ui for changing state of context to closed. This fixes #645
2013-03-01 16:22:30 +01:00
Reinier Balt
acab98d4c7
fix failing tests
2013-03-01 16:22:29 +01:00
Reinier Balt
bf3a1e653a
increate test coverage for user and project model
2013-03-01 16:22:29 +01:00
Reinier Balt
188baa938d
remove unused method from tag model
2013-03-01 16:22:29 +01:00
Reinier Balt
1e84adc91b
get tests running and fix editing context state
2013-03-01 16:22:29 +01:00
Reinier Balt
99eed9f638
add state machine to context including a closed state
2013-03-01 16:22:29 +01:00
Katrina Owen
8f42b25e68
Use lowest tag count as minimum
2013-02-28 23:36:08 -05:00
Katrina Owen
d478efdd01
Move font calculation into tag cloud
2013-02-28 22:30:34 -05:00
Katrina Owen
61e04a8258
Extract methods in tag cloud
...
This gets rid of the compute method, and makes each value that got set
in it its own little method.
2013-02-28 21:53:19 -05:00
Katrina Owen
447178bd7d
Collapse duplication in tag cloud model
2013-02-28 21:30:36 -05:00
Katrina Owen
edc793e703
Rename variables
...
The current user isn't necessarily current when it is in the model
layer.
The exposed attributes on the tag cloud no longer need to contain type
information.
2013-02-28 21:18:00 -05:00
Katrina Owen
8f6d57014a
Extract tag cloud class from stats controller
2013-02-28 21:08:48 -05:00
Reinier Balt
ef91dd0c64
another set of dynamic finder migrations. All non-cucumber tests pass
2013-02-27 11:50:49 +01:00
Katrina Owen
0b733b6183
Override #to_s on Tag for simplified joining
2013-02-19 08:47:47 -07:00
Matt Rogers
01b7f78f3c
Merge pull request #152 from kytrinyx/after-destroy-destroy
...
Rename callback for clarity
2013-02-19 07:15:07 -08:00
Katrina Owen
bb88674856
Rename callback for clarity
2013-02-19 07:54:09 -07:00
Katrina Owen
95a4ed6e4a
Add Tag#label method
2013-02-18 15:12:53 -07:00
Reinier Balt
6fa70db39e
fix updating dependency trees when changin a name. Including invalidating cache when
...
necessary
2013-02-17 17:37:44 +01:00
Reinier Balt
bd656ee1c7
fix #1350 by removing admin_email from preferences model and add it as a site option in
...
site.yml.tmpl. This one needs running migrations
2012-12-23 21:03:37 +01:00
Reinier Balt
5454ba385f
fix styling of error messages
2012-12-16 15:20:43 +01:00
Dan Rice
5b6cbf566a
Don't sort todos when counting them
...
Grouping isn't as lax in PostgreSQL as it is in MySQL or SQLite. All
sort fields also need to be in the GROUP BY, or be aggregated. The order
isn't relevant when counting, so simply don't order in that case.
Fix #1336
2012-10-04 10:43:22 -04:00