Roeland Jago Douma
1b07dcf35c
Merge pull request #18904 from nextcloud/enh/noid/flow-logging
...
Log Flow activity
2020-02-10 15:09:51 +01:00
Joas Schilling
bbc9381358
Fix "Call to undefined method OCA\\WorkflowEngine\\Entity\\File::t()"
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-01-29 09:22:42 +01:00
Arthur Schiwon
e008444887
always require a message paramter for data logging
...
also ensure it plays well with current log reader
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-28 13:00:13 +01:00
Arthur Schiwon
46aaeb4561
log Flow activity
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-28 10:58:57 +01:00
Arthur Schiwon
4a0926f5de
make the mime type checker for flow available to regular users
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2020-01-09 12:29:26 +01:00
Roeland Jago Douma
25d4f3230d
Use the new Events in Flow
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-02 16:40:49 +01:00
Julius Härtl
75b217cf8d
Remove style loading of non-existing file
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-02 11:07:36 +01:00
Julius Härtl
e7ad044826
Validate check array in the backend
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-27 08:45:39 +01:00
Arthur Schiwon
2799064573
report list of entities without array keys to frontend
...
lead to a blank flow settings page when a third party entity was
registered.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-12-21 00:46:37 +01:00
blizzz
5a986f02a3
Merge pull request #18162 from nextcloud/enh/noid/url-fileentity
...
flow file entity to provide the internal URL
2019-12-19 13:00:39 +01:00
Arthur Schiwon
0a00903261
Flows that are managing themselves do not necessarily set the entity
...
for instance files_automatedtagging, which works on a lower level. Fixes a
Call to a member function isLegitimatedForUserId() on null.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-12-18 09:35:03 +01:00
Arthur Schiwon
1378614f67
pass the proper storage-internal path
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-12-17 15:00:44 +01:00
Arthur Schiwon
8b18b0c97d
lower to debug, since we fire two events, so it is legitimate
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-12-16 15:30:50 +01:00
Arthur Schiwon
ea7294f7d5
do not add (user) flows twice
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-12-16 15:30:18 +01:00
Arthur Schiwon
f8394e3551
flow file entity to provide the internal URL
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-12-13 12:33:35 +01:00
Joas Schilling
4a151c545a
Allow to specify apps that somethign is a dir
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-10 09:11:43 +01:00
Joas Schilling
511a4ba66f
Improve mimetype detection in workflow components
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-12-10 09:11:43 +01:00
Julius Härtl
c3061e6929
Make sure event names is always an array
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-06 10:32:55 +01:00
Julius Härtl
260f0fab4d
Set fileInfo in the rule matcher
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-28 13:51:21 +01:00
Arthur Schiwon
b3749fbe16
add convenience interfaces so entities can provide presentable details
...
the File entity starts with a display text (used by talk)
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 13:51:21 +01:00
Arthur Schiwon
7a7a415fdc
expose user of running flows
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 13:51:20 +01:00
Arthur Schiwon
7210852f07
allow user flows when the acting user is legitimate, but not its owner
...
for instance, when a sharee changes a file, the owner can act upon
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-28 13:51:16 +01:00
Julius Härtl
d10b313186
Rename to flow
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-26 22:00:03 +01:00
Roeland Jago Douma
68748d4f85
Some php-cs fixes
...
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +01:00
Arthur Schiwon
2efe8aad38
relax dependency on GenericEvent, instead stay compatible with old events
...
* also fixes tagging events
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-11-13 14:23:39 +01:00
Jan-Christoph Borchardt
cef0e622fb
Add Flow app icon
...
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2019-11-07 17:09:32 +01:00
Arthur Schiwon
9c766cf03f
do not break on Checkers that do not need specific context info
...
request time, for example
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-10-29 18:03:57 +01:00
Julius Härtl
8a0164b6b9
Adjust user UserWorkflowController methods to AWorflowController
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-29 18:03:56 +01:00
Julius Härtl
6830daf104
Decode list of events when returning them
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-29 18:03:54 +01:00
Julius Härtl
99c30453dd
Ignore unavailable entity/operation classes
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-10-15 12:54:22 +02:00
Joas Schilling
d4d3725bfe
Only cache the mimetype if the file exists
...
Otherwise files access control will cache "application/octet-stream"
for all the target node on:
rename, move, copy and all other methods which create a new item
To check this:
1. Add an automated tagging rule which tags on mimetype NOT "httpd/unix-directory"
2. Add an access control rule which checks for any mimetype
3. Create a folder and rename it, the folder should not be tagged, but it is
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-14 10:05:45 +02:00
Joas Schilling
0f3de7828e
Don't call basename on null
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-10-01 17:30:52 +02:00
Joas Schilling
f23d49266f
Merge pull request #17286 from nextcloud/bugfix/noid/correctly-detect-mimetype-from-uploads
...
Correctly detect the mimetype from uploads
2019-09-27 10:51:10 +02:00
Joas Schilling
744b635d5c
Correctly detect the mimetype from uploads
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-26 17:43:47 +02:00
Joas Schilling
2959e15c7a
Fix "Cannot add a NOT NULL column with default value NULL"
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-26 15:51:55 +02:00
Julius Härtl
e7e9166efe
Add endpoint to test operations before submitting
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-10 09:01:22 +02:00
Julius Härtl
72a7fe8185
Fix type hinting on setFileInfo
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-10 08:52:13 +02:00
Arthur Schiwon
d363654132
fix order/entity types when setting the context
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-10 00:52:27 +02:00
Arthur Schiwon
5610f73b7a
File entity supports tagging events now
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 23:59:31 +02:00
Arthur Schiwon
ae1cc1d14d
entities equip the RuleMatcher on the events they are aware of
...
Operations will receive the matcher instance
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:06 +02:00
Arthur Schiwon
849d025d09
let a dedicate service serve a stateful process
...
* includes making ICheck not requiring any context setter
* and IFileCheck extending the IEntityCheck as entity data can be handed in
via Dispatcher
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Arthur Schiwon
4cd931fcc6
require IChecks to receive entity context
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Arthur Schiwon
fd2de58503
seperate setFileInfo from ICheck
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:05 +02:00
Julius Härtl
687edb4bc8
No need to get the class since the entity is already the class string
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:05 +02:00
Julius Härtl
32279ed062
Extend missing check classes
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:05 +02:00
Arthur Schiwon
36624def94
add type hint for IDE
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Arthur Schiwon
c2a52813e2
extends ICheck with scope and entity support, provide them as initialState
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Arthur Schiwon
d2c8b939d5
WFE as proxy listen to relevent events and forwards them
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Arthur Schiwon
bed518e8ab
introduce GenericEntityEvent and adapt File entity
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
Arthur Schiwon
0d7f7e5495
kill old non-OCS Controller
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:04 +02:00
blizzz
dcfe4ab2cc
fix parameter for OCSExcpetion
...
Signed-off-by: blizzz <blizzz@arthur-schiwon.de>
Co-Authored-By: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:04 +02:00
blizzz
ce4f3598ff
use correct builder instance
...
Signed-off-by: blizzz <blizzz@arthur-schiwon.de>
Co-Authored-By: Julius Härtl <jus@bitgrid.net>
2019-09-09 22:56:03 +02:00
Arthur Schiwon
f0f0a7b43e
adds a trigger hint for complex operations
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:03 +02:00
Arthur Schiwon
54bdc95cc1
fix missing value and run against empty tables in migration script
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:03 +02:00
Arthur Schiwon
ed58343e60
split events DB field into entity and events, adjust biz logic
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:03 +02:00
Arthur Schiwon
827dd896fa
extend DB table, manager, controller with support for entity events
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:03 +02:00
Arthur Schiwon
26b19b73a4
remove IEntity's getId in favor of class name
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
4c2fdbb908
merge IOperator with IOperation for simplicity
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
ec36c0ae80
add operator interfaces / API
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
1c67357db8
section and settings for users
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
4aba1f1cff
scope aware workflow controller and manager
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:02 +02:00
Arthur Schiwon
bd5c455da4
the workflow manager becomes scope aware, Part 1
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Arthur Schiwon
804d4fe69f
introducing Entity interfaces and a File one as first implementation
...
also adds admin settings that pass entities as initial state
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Arthur Schiwon
9a6f7cc8cb
add scope table for workflows and switch to migrations
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Arthur Schiwon
445d6eb839
open the WFE to deal with other subjects but files
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:56:01 +02:00
Arthur Schiwon
d015cd9c55
provides an OCS workflow controller for admins
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-09-09 22:55:56 +02:00
Roeland Jago Douma
f57fa231f7
Be sure to get the jailed path if the storage is a jail
...
Fixes: https://github.com/nextcloud/groupfolders/issues/583
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-09-03 09:57:09 +02:00
Arthur Schiwon
e5fefd1338
webpackify workflowengine
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2019-05-09 18:42:52 +02:00
Roeland Jago Douma
7c68bf7859
Change Workflow to Tag Management
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-19 14:36:51 +01:00
Roeland Jago Douma
635aa23b8c
Do not load bundled jstimezonedetect
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-06 09:16:45 +01:00
Roeland Jago Douma
a201f2b4d0
No need to explicitly load bundle dependencies
...
oc-webdav-backbone is loaded by default
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-02-04 19:34:51 +01:00
Roeland Jago Douma
90dc8fb42e
A folder should get a folder mimetype
...
If doing achunked upload the mimetype of the folder would otherwise be
guessed from the path. Which always returned application/octet-stream.
If an access control rule to block that is in place this means that all
chunked uploads fail hard in directories as the isCreatable on the
directory always fails.
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-29 21:35:08 +01:00
Roeland Jago Douma
8c4c4b700f
Move workflowengine to compiled handlebars
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-15 14:55:25 +02:00
Daniel Kesselberg
28fc7b5061
Ignore case for is and !is
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-05 17:54:48 +02:00
Daniel Kesselberg
4c4f50ee2d
Remove unused import
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-04 14:23:45 +02:00
Daniel Kesselberg
0721627943
Make code strict
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-03 20:26:00 +02:00
Daniel Kesselberg
fe838de4f7
Add FileName to Workflow engine
...
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2018-10-03 18:24:42 +02:00
Joas Schilling
c574212422
Fix mimetype detection for junked uploads
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-08-24 10:42:59 +02:00
Joas Schilling
1e137a85b8
Make sure to always use an array as parameter
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-07-19 10:38:15 +02:00
Joas Schilling
f81d4eb060
Make the Outlook and Thunderbird addons identifyable
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-02-27 14:37:32 +01:00
Morris Jobke
954da26e26
Use non aliased method instead
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-02-13 21:48:24 +01:00
Morris Jobke
eb51f06a3b
Use ::class statement instead of string
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-29 12:03:47 +01:00
Morris Jobke
464f024fa9
Use stripos instead of strpos(strtolower(), 'something')
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-25 22:59:50 +01:00
Morris Jobke
4ef302c0be
Request->getHeader() should always return a string
...
PHPDoc (of the public API) says that this method returns string but it also returns null, which is not allowed in some method calls. This fixes that behaviour and returns an empty string and fixes all code paths that explicitly checked for null to be still compliant.
Found while enabling the strict_typing for lib/private for the PHP7+ migration.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-17 09:51:31 +01:00
Roeland Jago Douma
ede15f0988
Fix L10N::t
...
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-01 08:20:17 +02:00
Joas Schilling
738730f7b2
Also add the root of external storages to the file id list
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-30 23:26:19 +02:00
Joas Schilling
394a61f1e6
Fix workflow engine mimetype detection when creating a directory
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-23 12:45:36 +01:00
Joas Schilling
76e52eb2f6
Fix admin panel missing some JS files
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-06 12:05:31 +01:00
Joas Schilling
e8be73f485
Fix mimetype detection on public uploads for the workflow engine
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-06 12:04:54 +01:00
Joas Schilling
17a7eaabcd
Add the icons for shipped apps
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-01-19 10:42:22 +01:00
Joas Schilling
410e0fc28f
Require password confirmation when changing workflow rules
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-11-18 12:10:50 +01:00
Joas Schilling
4d6ec43402
Do not reset the list after adding cached entries
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2016-10-17 15:43:21 +02:00
Joas Schilling
2d61ee3c13
Make mimetype also work for READ and DELETE operations
2016-09-05 09:48:23 +02:00
Joas Schilling
d08240e364
Better detection of mimetypes while uploading a zip on a mac
2016-09-05 09:48:22 +02:00
Arthur Schiwon
cb3c1eee97
add section to worklfowengine
2016-08-22 08:29:44 +02:00
Joas Schilling
a111181eb3
Validate the operation
2016-08-19 12:23:05 +02:00
Joas Schilling
b4313f1969
Load the Template class in case it's not loaded
2016-08-18 12:00:59 +02:00
Joas Schilling
bcf022c964
Ooops
2016-08-02 12:52:46 +02:00
Joas Schilling
6aa5d674d6
Translate the errors
2016-08-01 17:56:33 +02:00
Joas Schilling
ea4c6bd285
Load the timezones via select2
2016-08-01 17:19:05 +02:00