Commit Graph

1280 Commits

Author SHA1 Message Date
Bharat Mediratta
0efbfcbe61 Return the url of the newly created item from post().
Don't try to access ORM::$changed -- it's protected.
2010-01-22 01:10:31 -08:00
Bharat Mediratta
cb8b31d70c Updated tests to pass after recent refactor of gallery_rest -> item_rest. 2010-01-22 00:49:05 -08:00
Bharat Mediratta
2744b2e938 Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_dev 2010-01-22 00:27:56 -08:00
Bharat Mediratta
bcf1caad14 Reshape the rest code to be more consistent with regards to
relationships.  Now when you view a resource, it has 4 top level
elements:

url: the url of this resource
resource: array of key value pairs describing the resource
members: array of urls to members of this collection
relationships: array of array of members.

Relationships are a special type of collection that links two
different resources together.  To remove a relationship, just
DELETE its url.  To create a relationship, POST to its
collection.

Individual modules can add their own relationships to any
resource via a callback mechanism.

Example:
  Array(
    [url] => http://g3.com/rest/item/1
    [resource] => Array (
      [id] => 1
      [album_cover_item_id] => 4
      [captured] =>
      [created] => 1264056417
      [description] =>
      [height] =>
      ...
    )
    [members] => Array(
      [0] => http://g3.com/rest/item/2
      [1] => http://g3.com/rest/item/3
      [2] => http://g3.com/rest/item/4
      [3] => http://g3.com/rest/item/5
      ...
    )
    [relationships] => Array(
      [tags] => Array (
      [0] => http://g3.com/rest/tag_item/2,1
      [1] => http://g3.com/rest/tag_item/23,1
      )
    )
  )
2010-01-22 00:27:00 -08:00
Andy Staudacher
07ba5fe43a Use Unicode instead of HTML entity (since the l10n server normalizes this way and rejects submissions that change under the normalization step) 2010-01-21 23:53:21 -08:00
Bharat Mediratta
318c86ab56 Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_dev 2010-01-21 20:38:25 -08:00
Tim Almdal
0da5d9e606 Internationalize all strings in admin_modules.hmtl and corrected comments. 2010-01-21 20:33:26 -08:00
Bharat Mediratta
8788880065 We don't need CSRF in Rest_Controller::__call() because we use access tokens. 2010-01-21 20:18:19 -08:00
Bharat Mediratta
709d797408 Make sure that we actually don't have permissions, to avoid contamination w/ other tests. 2010-01-21 20:10:45 -08:00
Bharat Mediratta
f7f4df64b9 Exclude modules/gallery_unit_test/views/kohana/error.php 2010-01-21 20:04:46 -08:00
Bharat Mediratta
313f816818 Fix a minor bad expectation. 2010-01-21 19:06:32 -08:00
Bharat Mediratta
b278f9680c Can't call ORM_MPTT::move_to() externally, so call Item_Model::save() instead. 2010-01-21 19:05:53 -08:00
Tim Almdal
d59c6ed4f1 The admin module controller allows modules to provide a check_environment method
which is called prior to installation.  The method allows the module to provide
an error message or warnings if the module can not be installed or activated
without issues.  The admin module controller also will fire a pre_deactivate
event, which allows modules to indicate issues that may arise be deactivating the
specified module.

These messages are displayed in a dialog box prior to installation in order to
allow the gallery administrator to determine the appropriate action before proceeding.

Lays the foundation for implementing a fix for ticket #937
2010-01-21 12:57:45 -08:00
Bharat Mediratta
1e35cf28ee Reload the album after adding the photo so that MPTT pointers are correct. 2010-01-21 08:29:30 -08:00
Bharat Mediratta
dde429f71e Whitespace. 2010-01-20 23:49:20 -08:00
Bharat Mediratta
16ccda0f3d Two fixes:
1) Don't call ORM_MPTT::move_to() directly.  Use the new
   model-based-validation approach of changing the parent_id and saving.

2) Item_Model::parent() can return null; check for it.
2010-01-20 23:49:10 -08:00
Bharat Mediratta
e2b6cfc2d9 Make move_to protected since we don't want folks calling it on
Item_Model.  If there's a need to make this public, we should override
it in Item_Model and throw an exception there.
2010-01-20 23:47:48 -08:00
Bharat Mediratta
46d4d778ad Remove debug code. 2010-01-20 23:33:09 -08:00
Bharat Mediratta
949586c254 Oops, bug in save() -- we weren't returning the saved value! 2010-01-20 23:28:29 -08:00
Andy Staudacher
6dd92cfa1c Fix maintenance tasks / language admin for bug introduced earlier by no longer casting in ORM.
Task->done is now a string, boolean false is stored as integer 0 and loaded as string "0". On the client side that's interpreted as truthy in JavaScript.
Fix: cast "0" to (bool) before encoding to JSON.
2010-01-20 23:12:36 -08:00
Bharat Mediratta
f6c48d757c Delete MY_ORM::original(). We did not have proper containment to
generate $original when we needed it, resulting in inconsistent
behavior.
2010-01-20 22:56:37 -08:00
Bharat Mediratta
feefdfd533 Stop using MY_ORM::original(). 2010-01-20 22:51:18 -08:00
Bharat Mediratta
00957f79ba Throw Kohana_Exception instead of Exception on access denied, since that may bubble all the way up 2010-01-20 22:46:46 -08:00
Bharat Mediratta
995faaa27f Stop using MY_ORM::original(). It's got very odd semantics and we are
not capturing all cases for setting and resetting $original, which
leads to some weird and hard to reproduce behavior.

Instead, if we need the original just reload it from the database.
This may result in a somewhat excessive load in places, but we'll have
to fix that in a later optimization pass.
2010-01-20 22:45:19 -08:00
Bharat Mediratta
210e02f000 Throw Rest exceptions, not regular exceptions. 2010-01-20 21:13:58 -08:00
Bharat Mediratta
b5cf24456f Forbidden is a 403, not a 503. 2010-01-20 00:51:34 -08:00
Bharat Mediratta
76da85a1a0 Extend Gallery_Unit_Test_Case instead of Unit_Test_Case. 2010-01-19 22:38:19 -08:00
Bharat Mediratta
e39c8df19f Fix some validation checks to check to see if the original was loaded
before deciding whether or not we changed a value.

Change valid_name to be cascading, not parallel.
2010-01-19 21:20:36 -08:00
Bharat Mediratta
6aee6cde25 Move data initialization into the constructor so that it happens
before validate() is called, which is important with our two phase web
controllers.

Make valid_parent smarter about moving existing items, vs new items.
2010-01-19 20:53:21 -08:00
Bharat Mediratta
e02675b730 Change "filename" to "name" in the edit album form. I'd rather have
consistency between field names than deal with underlying issues with
Forge bitching about the "name" property.
2010-01-19 19:31:01 -08:00
Bharat Mediratta
afe2128bb0 Make video/x-flv a valid movie mime_type 2010-01-19 19:30:18 -08:00
Bharat Mediratta
512910962d Change "dirname" to "name" in the edit album form. I'd rather have
consistency between field names than deal with underlying issues with
Forge bitching about the "name" property.
2010-01-19 19:24:46 -08:00
Bharat Mediratta
c3ed64fc6c Use property_exists() on our stdClass instead of array_key_exists() 2010-01-19 01:46:45 -08:00
Bharat Mediratta
c590fed132 Change rest::url() to take a module name and a resource. The module
does the rest.  This function is symmetrical to rest::resolve.
2010-01-19 01:33:57 -08:00
Bharat Mediratta
f95442c314 Rewrite the tests entirely to cover the new REST code. 2010-01-19 01:17:29 -08:00
Bharat Mediratta
069a23e811 Make scope default to direct.
Add slug to the post params.
Fix minor output bug.
2010-01-19 01:16:59 -08:00
Bharat Mediratta
a587426cfd Don't try to set the album cover for the grandparent if we don't have edit permissions for it. 2010-01-19 01:12:09 -08:00
Bharat Mediratta
cb7c263b47 Return arrays instead of calling rest::reply. 2010-01-19 00:36:40 -08:00
Bharat Mediratta
c059a444c7 Updated for model based validation. Fixed
change_photo_no_csrf_fails_test() which has been broken since we
deleted Rest_Controller.
2010-01-18 23:49:00 -08:00
Bharat Mediratta
4418993db9 Add slug_is_url_safe_test() 2010-01-18 23:38:39 -08:00
Bharat Mediratta
2687762aec Update for model validation. Move the url safe tests into Item_Model_Test. 2010-01-18 23:38:18 -08:00
Bharat Mediratta
e06ceebaa6 No longer necessary; all photo and movie helper code is now in the model. 2010-01-18 23:25:09 -08:00
Bharat Mediratta
f021505208 No longer necessary; all relevant album helper code is now in the model. 2010-01-18 23:24:06 -08:00
Bharat Mediratta
c6bd3c5b26 Updated for model based validation.
change_album_no_csrf_fails_test() had been broken since we got rid of
REST_Controller, but was poorly written so we didn't realize it.  Boo.
2010-01-18 23:23:31 -08:00
Bharat Mediratta
cc61e7a3e0 Update for model based validation. Use test helper. Reduce the code size greatly! 2010-01-18 23:11:02 -08:00
Bharat Mediratta
9eedf5c207 switch to test::starts_with(). 2010-01-18 22:55:16 -08:00
Bharat Mediratta
71a8375554 Whitespace. 2010-01-18 22:52:58 -08:00
Bharat Mediratta
dc570aaca9 Switch from ORM_MPTT::$db_builder to db::build(). 2010-01-18 22:52:23 -08:00
Bharat Mediratta
cfc0f3d0c0 Minor test cleanup. 2010-01-18 22:51:40 -08:00
Bharat Mediratta
703882f4df Update valid_parent() to disallow moving an item inside its own hierarchy.
Move move_to() inside save()
2010-01-18 22:50:50 -08:00