Commit Graph

285 Commits

Author SHA1 Message Date
Jozef Selesi
7485740d97 Changed and extended the Atom library a little so that the code for creating entries and feeds has been considerably simplified and reduced. 2008-11-23 12:41:41 +00:00
Jozef Selesi
d14d312d06 * Individual comment views now output valid Atom 1.0 entries:
http://example.gallery.com/index.php/comments/{comment_id}?_format=atom
* Changed Content-Type of Atom feeds and entries to XML for easier debugging.
* Added an Atom helper class with some common functions and cleaned up entry and feed generation code a bit in the comment helper.
* Style fixes.
2008-11-23 00:24:56 +00:00
Jozef Selesi
d93d37a10c * Fixed a bug in the Atom library where child elements were not added to their proper parents.
* Added valid Atom 1.0 feeds for comments. They can be seen at:
  http://gallery.example.com/index.php/comments?item_id={photo_id}&_format=atom
2008-11-22 22:46:17 +00:00
Tim Almdal
55341f14f2 Correct case on helper class names. By convention, helper class names are lower case:
http://docs.kohanaphp.com/general/helpers
2008-11-22 06:06:02 +00:00
Jozef Selesi
bb53a0b99f * Added test for rest::request_method().
* Implemented delete in comment.
2008-11-22 01:31:15 +00:00
Chad Kieffer
ba0f6f9e94 Fixed style issues on comment container, should be plural id (gComments). Removed gCommentForm id, it's not necessary, at least not now. 2008-11-21 07:35:34 +00:00
Tim Almdal
8c06908f7f Use rest::http_content_type() instead of the header() method to set response content 2008-11-20 17:51:12 +00:00
Jozef Selesi
c3fc1cb7ec * Added HTTP status constants and helper functions to REST helper.
* HTTP header setting in comment module now going through REST helper API.
* Fixed items controller test.
* Fixed user installer test.
* Fixed _create() handling in the REST controller.
* Fixed routing for edit and add forms.
* Added some tests for the REST controller.
* Set svn:eol-style to LF on a bunch of files.
* Added preamble to MY_Forge.php.
2008-11-20 01:25:29 +00:00
Bharat Mediratta
5638fc5fb6 Change the way that we do RESTful routing.
1) We now use __call() in REST_Controller to handle any requests to a controller
   that were not already handled.  In the case of RESTful controllers, this should
   be the only entry point (although they're free to break the model and add other
   ones.. nothing stops them).

   This means that we can remove all the catch-all routes in
   routes.php which greatly simplifies it.

2) Move request_method() and output_format() out of REST_Controller and into the REST
   helper in core/helpers/rest.php

3) Experiment with letting the various subclasses check the output_format and deal with
   it themselves.  This simplifies the API, but it might be a bad idea in that it might
   push too much work to the individual controllers.  It's a balancing act, time will tell,
   I'm willing to change it back later.
2008-11-19 04:20:35 +00:00
Jozef Selesi
1992343c2e * Changed REST API. Now there are two separate methods for forms:
GET /form/edit/{controller}/{resource_id} -> controller::_form_edit($resource)
  GET /form/add/{controller}/{parameters}   -> controller::_form_add($parameters)
* Updated comment, user and core modules to reflect the API changes
* Cleaned up routing and handling of requests to /{controller}
2008-11-18 23:40:47 +00:00
Jozef Selesi
b63ea2cdbf - All comments of an item can now be seen /comments?item_id=
- Return proper Content-Type header for GET /comments requests
- Got rid of the query processing for index() in REST_Controller()
- Small misc fixes
2008-11-18 15:48:08 +00:00
Bharat Mediratta
394de8ec0a Gracefully handle the no-comments case 2008-11-18 09:03:26 +00:00
Jozef Selesi
3ebb751cda First iteration of REST controller refactoring. RESTful controllers that refer to collections should now have plural names and there should be only one controller per resource. Updated existing classes that implement REST_Controller. The routing now works like this:
GET    /controller    -> controller::_index()
POST   /controller    -> controller::_create()
GET    /controller/id -> controller::_show()
PUT    /controller/id -> controller::_update()
DELETE /controller/id -> controller::_delete()
GET    /form/edit/controller/resource_id -> controller::_form()
GET    /form/add/controller/data         -> controller::_form()
2008-11-18 08:28:32 +00:00
Bharat Mediratta
c031fcef23 Remove stray <ul> from comment list 2008-11-17 04:54:13 +00:00
Bharat Mediratta
c91e90406b Add output formats to our REST controllers. Add support for JSON and
XML to the comment controllers as a proof of concept.  It's not fully
baked; we should examine ways to create helpers to make this process
easier.
2008-11-17 00:30:18 +00:00
Bharat Mediratta
1a2cb5ff04 Put _method into the edit form's url; Implement Comment::_put() properly 2008-11-16 19:23:41 +00:00
Bharat Mediratta
5d14531af9 Drop the call to render() and just use the View's __toString method to
print it out.
2008-11-16 19:12:01 +00:00
Bharat Mediratta
4610fc8e7f Create Forge::add_rules_from() which pulls validation rules from the model and
associates them with the form.  This replaces the various _add_validation_rules()
functions in the user and comment modules.

Move user edit form into user helper for consistency with the comment module.

Implement missing _form method in the user controller.
2008-11-16 07:51:42 +00:00
Bharat Mediratta
140736a1e4 Several large changes:
1) Changed the way that we get forms.  Now, if you want to get a form
   for a REST resource you prefix /form to the resource id.  So:
    /form/photo/1    : returns a form for editing photo id 1
    /form/comments/1 : returns a form for adding a comment to photo id 1
    /form/comment/1  : returns a form for editing comment id 1

2) Changed the comment module to have two controllers:
    comment:  deals with a single comment resource
    comments: deal with collections of comments attached to an item

Related stuff:
- Moved the comments js into the theme
- Reworked Comment_Helper for clarity
- Moved form generation code down into Comment_Helper
- Cleaned up routes (eliminating new comment ones added in recent rev)
- Added form() function to all REST controllers
- Changed comment module to use a block instead of an arbitrary helper call from the theme
- Comment controller only returns HTML currently, but returns a 201 Created status
  code when a new comment is added, which the Ajax code can catch and act upon.
- Got rid of a lot of extra views in comment module
2008-11-16 07:14:12 +00:00
Tim Almdal
be67187ad9 Create MY_Forge to specify the defaul html 2008-11-16 06:43:31 +00:00
Bharat Mediratta
2d463c5531 use text::alternate where appropriate 2008-11-15 21:54:16 +00:00
Jozef Selesi
fbc810098f Do comment add in a single request, some code cleanup. 2008-11-15 17:39:14 +00:00
Jozef Selesi
5e10b44a95 Remove unnecessary pasted code. 2008-11-15 17:04:16 +00:00
Jozef Selesi
f9eaa8c220 Initial add comment implementation. 2008-11-15 16:52:23 +00:00
Bharat Mediratta
0fe8d44472 Create module helper and refactor all the code that creates, updates
and deletes modules into it.
2008-11-13 10:38:28 +00:00
Chad Kieffer
c63ddc3432 Major updates to form CSS. Now using unordered lists for layouts. Added .gInline for forms like login, search, tags. Updated comment, login, search, and tagging forms. All form styles live in screen.css now. Still a lot to do, but this is a good foundation. 2008-11-13 03:39:18 +00:00
Jozef Selesi
56dcb953b0 Code cleanup, add test for time formatting function. 2008-11-12 15:43:05 +00:00
Jozef Selesi
a1ca946a89 Make comment post time display more user-friendly by displaying 'today', 'yesterday', 'x days ago' etc. 2008-11-12 12:00:13 +00:00
Bharat Mediratta
b0a3308740 Minor cleanup; localization, indentation, etc. 2008-11-11 22:46:25 +00:00
Jozef Selesi
752459c64c Display comments from the database. 2008-11-11 20:54:12 +00:00
Jozef Selesi
1651b3fe85 Move scaffolding code out of the comments controller to welcome.php. 2008-11-11 12:20:20 +00:00
Jozef Selesi
ddf0a51900 Comment creation controller, helper and test. Add comments from the scaffold. 2008-11-10 17:32:04 +00:00
Bharat Mediratta
1ba012db0e Chain away temporary variables 2008-11-09 23:45:47 +00:00
Jozef Selesi
aa437293e6 Fix line endings. 2008-11-09 23:34:03 +00:00
Jozef Selesi
434e56351e Install/uninstall support for the comment module. Missing from the previous commit. 2008-11-09 23:06:31 +00:00