Commit Graph

362 Commits

Author SHA1 Message Date
Roeland Jago Douma eea7de4c9f
Correctly format OCS response with favorites
The helper funtion did not handle the response correctly and basically
only returned the last share with tags.

This is a simple rewrite. That is still understandable. Loops maybe more
than strictly required. But preformance is not the issue here.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-29 12:03:13 +02:00
Morris Jobke cfe5d35862 Merge pull request #6252 from nextcloud/only_show1_error
Don't try the actual file upload if the checks already error out
2017-08-26 12:46:01 +02:00
Roeland Jago Douma 69d2d0178a
Don't try the actual file upload if the checks already error out
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-26 11:30:04 +02:00
Jan-Christoph Borchardt d0d6a92054 Fix sorting of entries in Files sidebar
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-08-25 18:40:28 +02:00
Robin Appelman e1d6ca3c53
fix test
Signed-off-by: Robin Appelman <robin@icewind.nl>
2017-07-11 14:03:11 +02:00
Daniel Calviño Sánchez be56374c51 Fix sorting of favorite files
The sort comparator checks the "isFavorite" property of the FileInfo
objects to compare. That property is set when the file list is loaded
and the response from the server is parsed, and thus a freshly loaded
file list has the proper sorting for favorite files. However, the
property is not set in other cases, like when the FileInfo objects are
derived from FileInfoModels due to a file being marked as a favorite or
a text editor being closed, which causes the file to be sorted in the
wrong position.

There is no need to add the property in those situations, though; in all
cases the TagsPlugin adds a "tags" array property that contains an
OC.TAG_FAVORITE tag, so that tag can be checked instead of "isFavorite".
Moreover, although "isFavorite" was added by the main "_parseFileInfo"
function it did not really belong there but to the "FileInfoParser" from
the TagsPlugin; however, as that property now is not used anywhere it
was removed altogether.

A cleaner solution would have been to make the sort comparator
extensible by plugins like other behaviours of the file list and then
add the sorting logic related to favorite files to the TagsPlugin.
However, right now only the TagsPlugin would need to alter the main
sorting logic, and it seems like a corner case anyway. Even if it is
implemented as a plugin, favorite files is a core feature, so for the
time being it will be taken into account directly in the main sorting
logic; making the sort comparator extensible by plugins is defered until
there are other use cases for that.

Fixes #5410

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-07-05 15:01:23 +02:00
Joas Schilling b481fa40ef
Adjust the unit test
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-06-13 11:17:44 +02:00
Daniel Calviño Sánchez 0a3d9f25c1 Make possible to know the registered detail views in a details view
In some cases, an app may need to act on a detail view registered by
another app or the core, for example, to add extra elements to the
element of the detail view.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-06-09 03:14:23 +02:00
Roeland Jago Douma 8d66e325a9
Do not reload the filelist on first open
Fixes: #4644

Without this patch the filelist would always reload. However since not
all the correct data was set yet it would often:

1. fireoff a propfind to ../webdav/
2. fireoff a propfind to ../webdav/<PATH>

When just opening the file list those are the same so the result is just
fine. However if opening a direct link it means that there is a race
condition on which finishes first.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-05-04 13:29:49 +02:00
Vincent Petry 3f36548a6d
Reload file list when leaving hidden state
Whenever a file list is already initialized and was hidden when
switching to another file list in the navigation bar, if the user comes
back to this list it gets redisplayed. At this point the list needs to
be refreshed to be able to reflect any potential file changes done from
the other lists.
2017-04-26 13:51:44 +02:00
Roeland Jago Douma 97c27395aa Merge pull request #4458 from nextcloud/fix/sinon-stub-deprecation-warnings
Fix sinon.stub deprecation warnings
2017-04-24 13:47:46 +02:00
Christoph Wurst 2317d7bb49
Fix sinon.stub deprecation warnings
Calls to `sinon.stub(obj, 'meth', fn)` are deprecated and therefore
replaced by `sinon.stub(obj, 'meth).callsFake(fn)` as instructed by
the deprecation warning.

This makes the js unit testing output readable again.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2017-04-24 10:39:37 +02:00
Morris Jobke c54a59d51e
Remove unused use statements
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-22 19:23:31 -05:00
Joas Schilling 0564392cb9
Fix the tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-26 21:26:45 +02:00
noveens 40228c0c2b
added quit option in commentstabview.js
added quit option in notif in app.js

added quit option in notif in file-upload.js

added quit option in notif in fileinfomodel.js

added quit option in notif in filelist.js

added quit option in notif in filelist.js

added quit option in notif in tagsplugin.js

added quit option in notif in statusmanager.js

added quit option in notif in external.js

added quit option in notif in versionstabview.js

added quit option in notif in notification.js

changes according to the latest review.

timeout removed since there is a button to close it

translation capability added

typo fixed

test files updated

small errors fixed

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-23 13:12:29 -06:00
Felix Heidecke 11f838f9e4
Add ignore_files to config,
test files against ignore_files list on upload

fix typo and indentation

Move blacklist declaration to lib/public/Files/FileInfo.php,

Rename *ignored to *blacklisted

Mocked blacklist_files for testing

Mocked blacklist_files for testing

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 01:17:12 -06:00
noveens 93f9db4d59
filelist only refreshed if directory changes
check introduced at another method

comment added to explain one check

comment added to explain one check

unit tests added

small fixes in unit tests

missing semicolon added

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-02 21:43:44 -06:00
Morris Jobke b954c2f186
Fix app name of files app
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-02-14 17:36:23 -06:00
Joas Schilling d79838ac9b
Add tests for getUser()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-07 12:01:28 +01:00
Joas Schilling 881c7275a2
Add tests for getFile()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-02-07 11:49:32 +01:00
Michael Jobst a7526b9837
Style modifications of favorite star on main detail view (#26658)
* Style modifications of favorite star on main detail view

* Removed unused opacity change on mouse over

* favorite star title fixed

* favorite star opacity should  always be .7

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-19 17:34:09 +01:00
Joas Schilling 1a802d3383
Add tests for favorite action
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-04 12:54:34 +01:00
Joas Schilling 7c1b288b57
Add some generic tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-12-04 12:41:14 +01:00
Lukas Reschke 9704b4df52
Catch status code 400
In case the server returns a statuscode 400 we should also gracefully return to the home directory.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-12-01 19:13:28 +01:00
Joas Schilling 8f38adaab1 Merge pull request #2123 from nextcloud/downstream-26522
Skip hidden files when counting visible files in list
2016-11-16 19:10:35 +01:00
Joas Schilling 1dc23f2fd6
Remove the old activity extension
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-16 09:25:46 +01:00
Joas Schilling 0d940e581a
Move the favorites filter to IFilter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-16 09:25:44 +01:00
Vincent Petry 1141fcc9ac
Skip hidden files when counting visible files in list (#26522)
The file list UI logic that renders the next page doesn't properly
exclude hidden files when not shown. This fix makes sure that only rows
that are actually visible are counted when rendering a page, this makes
sure that the page will always have enough elements displayed.
2016-11-14 16:21:57 +01:00
Thomas Müller 506ccdbd8d
Introduce an event for first time login based on the last login time stamp
Use firstLogin event to trigger creation of default calendar and default address book

Delay login of admin user after setup so that firstLogin event can properly be processed for the admin

Fixing tests ...

Skeleton files are not copied over -> only 3 cache entries are remaining

Use updateLastLoginTimestamp to properly setup lastLogin value for a test user
2016-11-14 14:50:10 +01:00
Lukas Reschke c0bbae28f0 Merge pull request #1741 from nextcloud/new_preview
Improve previews
2016-11-03 21:07:16 +01:00
Morris Jobke ae5eb79593 Merge pull request #1908 from nextcloud/downstream-26078
Upload autorename on client side
2016-11-03 14:21:35 +01:00
Roeland Jago Douma 87855aa97b
Added genertor helper & tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-03 14:00:33 +01:00
Morris Jobke 39573e602d Merge pull request #1978 from nextcloud/remove-send-mail-option
Remove send mail option
2016-11-02 22:36:05 +01:00
Vincent Petry 6a4ea2c15a
Upload autorename on client side
Removes the need for POST to collection which would hit against upload
limits.

The client tries to auto rename the file by adding a suffix "(2)".
It tries to use the file list on the client side to guess a
suitable name. In case a file still cannot be uploaded and creates a
conflict, which can happen when the file was concurrently uploaded, the
logic will continue increasing the suffix.
2016-11-02 22:15:03 +01:00
Vincent Petry 7e701504be
Remove upload_limit in files app as it is not needed with PUT upload (#26069)
The web UI now uses for PUT uploads which aren't restricted by PHP's
upload_max_filesize and post_max_size

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2016-11-02 20:43:35 +01:00
Bjoern Schiessle f556c58c22
remove 'send mail notification' option from sharing, replaced by send-by-mail feature
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-02 18:30:38 +01:00
Roeland Jago Douma 83e7cfd13a
Fix more tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-28 22:16:28 +02:00
Vincent Petry 50b8221255
Highlight files and update storage stats at end of upload (#26164)
Properly trigger the "stop" even from the uploader.
Also update storage stats at the end of all uploads instead of for each
upload.
2016-10-25 14:51:44 +02:00
Morris Jobke c0adc3c2cf Merge pull request #1883 from nextcloud/downstream-26145
Storage 503 message improvements
2016-10-25 13:19:46 +02:00
Vincent Petry f374eb5f1d
More fixes to file upload
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Vincent Petry f72ffa2f11
Fix js unit tests for webdav put upload changes
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Vincent Petry 59c5be1cc5
Use Webdav PUT for uploads in the web browser
- uses PUT method with jquery.fileupload for regular and public file
  lists
- for IE and browsers that don't support it, use POST with iframe
  transport
- implemented Sabre plugin to handle iframe transport and redirect the
  embedded PUT request to the proper handler
- added RFC5995 POST to file collection with "add-member" property to
  make it possible to auto-rename conflicting file names
- remove obsolete ajax/upload.php and obsolete ajax routes

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 21:45:00 +02:00
Vincent Petry 44cf67accd
Storage 503 message improvements
"Storage not available" is now "Storage temporarily not available".
Exceptions are now logged in DEBUG level, not FATAL.
2016-10-24 15:43:15 +02:00
Vincent Petry 361f008c70
Make it possible to filter by tags with REPORT method
Enhanced the REPORT method on the Webdav endpoint and added a
"oc:favorite" filter rule. When set, it will return a flat list of
results filtered with only favorite files.

The web UI was also adjusted to use this REPORT method instead of the
private API endpoint.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-19 11:06:29 +02:00
Roeland Jago Douma 9cd6374878
Fix getMock files 2016-09-06 09:29:27 +02:00
Joas Schilling 6c81c65eea
Also prevent null byte character 2016-09-01 12:24:14 +02:00
Joas Schilling 7cd86cfe59
Filter out %0A from paths 2016-09-01 10:06:06 +02:00
Vincent Petry 7fa66409ae
Display number of hidden files in files summary (#25870)
When dot files are hidden, the table summary and selection summary will
not show how many hidden files were included.
2016-08-29 14:47:41 +02:00
Lukas Reschke e0ae67545e Merge pull request #956 from nextcloud/fix_952
When using permalinks don't error out if file id can't be found
2016-08-23 00:58:25 +02:00
Vincent Petry f7deb2c2eb
Fix hidden files handling
Hidden files (dot files) are now always rendered in the DOM to make
sure that all file operations and selection still work as expected.

Their visibility is now toggled on CSS level.
2016-08-19 10:26:19 +02:00
Roeland Jago Douma cc9b36131c
When requesting a permalink to an invalid file redirect
We need to do the redirect to update address bar.
2016-08-19 10:10:19 +02:00
Roeland Jago Douma 54f79a28f6
When using permalinks don't error out if file id can't be found
Fixes #952

* Use only the index route (since it went to showFile anyways)
* Fix tests
* Use getUserFolder to force init of users mounts
2016-08-19 08:15:30 +02:00
Marius Blüm c1632c3abd Merge pull request #893 from nextcloud/ie8_be_gone
IE8 be gone!
2016-08-17 09:02:58 +02:00
Roeland Jago Douma 9fd274c447
Remove IE8 support from ViewController
* Update tests
* Fix getMock in tests
2016-08-16 20:58:33 +02:00
Lukas Reschke 7ffb7b0d84
Use MockBuilder instead of createMock
CI uses an older PHPUnit
2016-08-15 16:43:22 +02:00
Lukas Reschke 8a7a0f3287
Add unit tests 2016-08-15 16:25:34 +02:00
Julius Haertl 217b52085d
Fix javascript tests for sidebar animation 2016-07-30 16:30:05 +02:00
Robin Appelman c662e4b983 fix js test 2016-07-27 12:59:43 +02:00
Robin Appelman f18338d932 fix test 2016-07-25 10:41:53 +02:00
Robin Appelman a4ba3eadd0 fix test 2016-07-22 15:20:55 +02:00
Joas Schilling 0215b004da
Update with robin 2016-07-21 18:13:58 +02:00
Joas Schilling 813f0a0f40
Fix apps/ 2016-07-21 18:13:57 +02:00
Morris Jobke ba16fd0d33 Merge branch 'master' into sync-master 2016-07-07 11:29:46 +02:00
Vincent Petry cf6fe95cbf Merge pull request #25325 from owncloud/filelist-prependslash
Filelist change dir auto-prepend slash
2016-07-06 12:44:03 +02:00
Vincent Petry 1f9d728538 Ignore invalid paths in the JS file list (#25368) 2016-07-06 11:55:02 +02:00
Lukas Reschke 76c73d5ec3 Match on 405 2016-07-01 15:19:21 +02:00
Lukas Reschke 4ac9eaab03 Match for /../ 2016-07-01 15:01:48 +02:00
Lukas Reschke 5b65591d84 Do not allow directory traversal using "../"
We should not allow directory traversals using "../" here.

To test access the following URL once with and then without this patch:

http://localhost/server/index.php/apps/files/?dir=../../This+Should+Not+Be+Here
2016-07-01 13:36:05 +02:00
Vincent Petry 4acb06923d Filelist change dir auto-prepend slash
Prepend a slash to directories in case it was missing since many places
assume that it's there.
2016-07-01 11:10:37 +02:00
Lukas Reschke 6670d37658 Merge remote-tracking branch 'upstream/master' into master-sync-upstream 2016-06-27 18:23:00 +02:00
Vincent Petry b4cf297758 Prerender file list pages to include search results
When filtering the file list, if a result is on an unrendered page,
make sure to call _nextPage() to prerender the pages in order to
display all matching results.
2016-06-24 13:55:14 +02:00
Morris Jobke 51b067d603
Fix failing JS unit tests
* fixes #124
2016-06-16 11:00:58 +02:00
Joas Schilling 68a7aed27b
Adjust test to work with phpunit < 5.2 2016-06-08 09:24:00 +02:00
Joas Schilling 77db6d3dbd
Improve the UX for "not found" perma links 2016-06-07 13:53:16 +02:00
Vincent Chan 3538e90ba1
fixes size of the download spinner 2016-05-30 11:23:54 +02:00
Lukas Reschke aba539703c
Update license headers 2016-05-26 19:57:24 +02:00
Joas Schilling b34bacd071 Move Files app to PSR-4 (#24569)
* Move lib/ of Files app to PSR-4

* Move tests to PSR-4
2016-05-12 12:07:06 +02:00
Vincent Petry ceaac03bb5 Make permalinks work for trashed files (#24537)
Opening a permalink that points to a trashed file will now display the
file within the "Deleted Files" section in the files web UI.
2016-05-11 19:41:36 +02:00
Vincent Petry 254576e1f7
Do not encode slashes in "dir" URL param in files JS 2016-05-06 17:00:22 +02:00
Vincent Petry 112b703df0
Add anchor icon in sidebar to copy permalink 2016-05-06 16:46:59 +02:00
Vincent Petry fdeafef6a0
Auto-add fileid in URL for currently displayed folder 2016-05-06 16:46:59 +02:00
Vincent Petry 093e9dd422
Add route to resolve fileid to files app URL
The following routes will redirect to the files app and display the
matching folder. If the fileid is a file, it will scroll to it.
- http://localhost/owncloud/index.php/f/$fileid
- http://localhost/owncloud/index.php/files/?dir=somedir&fileid=$fileid
2016-05-06 16:46:59 +02:00
Joas Schilling 7bfc617b03
Move activity manager to the namespace 2016-05-02 11:57:24 +02:00
Christoph Wurst 6c5696d3a8
filter hidden files on the web interface
add checkbox to toggle show/hide hidden files

persist show hidden setting

fix settings menu layout

test ApiController::showHiddenFiles

don't show hidden files by default

Store config in Backbone model and inject it into FileList

Filter files only temporarily when rending the file list

Fix file rename validation
2016-04-19 16:08:56 +02:00
Christoph Wurst 576f7244e6 fix default value, update js/php tests 2016-04-13 14:25:23 +02:00
Vincent Petry 950530b162 Display share status info in favorite list
Returns the shareTypes share status info to the favorites file list.
2016-03-17 15:35:21 +01:00
Vincent Petry 3a36163e91 Fix download spinner to work with CSS styles
A recent change replaced img elements with CSS icons for file actions.
This fix adjusts the logic to work properly with CSS icons instead of
images.
2016-03-04 10:48:08 +01:00
Lukas Reschke 933f60e314 Update author information
Probably nice for the people that contributed to 9.0 to see themselves in the AUTHORS file :)
2016-03-01 17:25:15 +01:00
Thomas Müller e9237dd83c Merge pull request #22671 from owncloud/issue-22670
Move the tag filter at the end for now
2016-02-26 10:48:55 +01:00
Joas Schilling 4549b82553 Move the tag filter at the end for now 2016-02-26 10:15:07 +01:00
Vincent Petry 867a8aca12 Fix favorite icon unit test for icon image 2016-02-25 23:01:09 +01:00
Roeland Jago Douma 92cff0984d Make file actions use icon CSS classes
This makes theming of file actions possible
2016-02-25 22:49:52 +01:00
Vincent Petry 27544144ce Fix unit tests affected by side effects
The notification tests were not restoring the clock properly, but
indirectly helped other tests pass.

Since now we're restoring the clock properly, the other tests were fixed
to still work.
2016-02-22 17:25:32 +01:00
Thomas Müller 7af7d18cfa Merge pull request #16783 from owncloud/handle-redirects-global
Adding global error handler for ajax calls which run into redirection…
2016-02-17 14:49:04 +01:00
Vincent Petry d565290d16 Close file detail sidebar when selecting/unselecting files
Interacting with the checkboxes, also "Select all" will automatically
close the sidebar now.
2016-02-15 14:58:44 +01:00
Vincent Petry b8b77709c0 Add handler for global ajax errors 2016-02-15 12:48:47 +01:00
Vincent Petry 847a2426b8 Fix unit tests for system tag filter section 2016-02-09 11:22:05 +01:00
Vincent Petry ae367c7e97 Fix elementToFile to also return path when defined
Fixes issue when opening the share dialog for a file inside the favorite
list, and the file is from a subfolder
2016-02-08 22:33:39 +01:00
Arthur Schiwon d537cae063 cleanup jobs for comments and comment read marks 2016-02-05 15:36:21 +01:00
Vincent Petry f0caf41232 Cleanup job for system and user tag orphaned when file was deleted
Whenever a file was deleted (also from trash), the tag mapping is
pointing at a fileid that doesn't exist any more.

This cleanup job will delete such orphaned mapping entries.
2016-01-29 11:51:47 +01:00