Commit graph

1600 commits

Author SHA1 Message Date
Jeremy Benoist
5a9bc00726
Retrieve username/password from database
Inject the current user & the repo to retrieve username/password from the database
2017-06-20 16:03:13 +02:00
Jeremy Benoist
fc6d92c63d
Update route & user verification 2017-06-20 16:03:13 +02:00
Jeremy Benoist
f92fcb53ca
Add CRUD for site credentials 2017-06-20 16:03:08 +02:00
matteocoder
508f248676 revised messages.it 2017-06-17 13:42:28 +02:00
Thomas Citharel
caa0b1765b Add client_credentials oAuth2 auth method
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-06-14 17:30:12 +02:00
Thomas Citharel
41d45c6122 Fix empty language and preview pics 2017-06-12 16:46:33 +02:00
Jeremy Benoist
d9da186fb8
CS 2017-06-10 16:08:24 +02:00
Jeremy Benoist
a9c6577f0c
Few fixes 2017-06-10 15:37:25 +02:00
Jeremy Benoist
1112e54772
Add public filter/field in the API
Listing entries can now be filtered by “public”.
Creating or patching an entry can now set is to public or remove the public.
Entry response now include “is_public” boolean field
2017-06-10 15:31:57 +02:00
Jeremy Benoist
e8911f7c09
Add isPublic filter on entries 2017-06-10 15:00:52 +02:00
Jeremy Benoist
873f6b8e03
Merge remote-tracking branch 'origin/master' into 2.3 2017-06-10 14:41:30 +02:00
Jérémy Benoist
f6d45eca76 Merge pull request #3206 from wallabag/mruminski-patch-1
Update validators.pl.yml
2017-06-10 13:17:20 +02:00
Jérémy Benoist
de9445cd25 Merge pull request #3203 from wallabag/fix-tag-count-baggy
Fix tags count in tags list on baggy
2017-06-10 13:16:10 +02:00
Mateusz Rumiński
8da86b3f93 Update validators.pl.yml
add "quote_length_too_high" translation
2017-06-10 12:40:40 +02:00
Jérémy Benoist
679aaf0836 Merge pull request #3173 from wallabag/domain-name-param
remove craueconfig domain name setting and add a proper one in parame…
2017-06-10 11:36:03 +02:00
Jeremy Benoist
3fd6790893
Update translations 2017-06-10 11:29:56 +02:00
Jeremy Benoist
a9b984feee
Fix tags count in tags list on baggy 2017-06-10 11:21:47 +02:00
Jérémy Benoist
a899399989 Merge pull request #3192 from wallabag/validate-content-fields
Validate language & preview picture fields
2017-06-09 13:51:26 +02:00
Pierre de Vésian
491371a051 Config label improvement #3199 2017-06-09 12:11:48 +02:00
Jeremy Benoist
80e49ba7b0
Convert - to _ in language
Mostly to increase language supports
2017-06-09 11:42:09 +02:00
Jeremy Benoist
42f3bb2c63
Use Locale instead of Language 2017-06-09 11:28:04 +02:00
Jeremy Benoist
f81a34e379
Use a listener to catch auth failure 2017-06-09 09:45:43 +02:00
Jeremy Benoist
fa1c9d7cc7
CS 2017-06-08 22:52:26 +02:00
Jeremy Benoist
63f9f22fa3
Log an error level message when user auth fail
When a user login using the form we know log an error level information with information about the user:
- username used
- IP
- User agent

For example:

> Authentication failure for user "eza", from IP "127.0.0.1", with UA: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36".

It’ll allows server admin using fail2ban to configure it to block these people if they generate too much failure authentication.
2017-06-08 22:24:49 +02:00
Jeremy Benoist
be54dfe4e6
CS 2017-06-08 21:56:20 +02:00
Jeremy Benoist
0d349ea670
Validate language & preview picture fields
Instead of saving the value of each field right into the content without any validation, it seems better to validate them.
This might sounds obvious now we say that.
2017-06-08 21:51:46 +02:00
Jeremy Benoist
80f4d85ac9
Review 2017-06-08 19:15:33 +02:00
Jeremy Benoist
a8d3fe50df
Add ability to name the client 2017-06-08 14:25:44 +02:00
Jeremy Benoist
eb570e49c8
CS 2017-06-07 23:31:14 +02:00
Jeremy Benoist
0c00e52516
Create a client when creating a user using the api
While creating a new user using the API, we also create a new client for the current user.
So the app which just create the user can use its newly created client to configure the app.

That new client is only return after creating the user.
When calling the endpoint /api/user to get user information, the new client information won’t be return.
2017-06-07 23:23:28 +02:00
Nicolas Lœuillet
7bb3aa3177 Merge pull request #3093 from aaa2000/annotation-error-on-save
Displays an error with an annotation with a too long quote
2017-06-07 16:30:27 +02:00
Jérémy Benoist
c0d756f67d Merge pull request #3181 from wallabag/api-content-patch
Add ability to patch an entry with more fields
2017-06-07 15:40:59 +02:00
Jeremy Benoist
db0c48af36
Refactorize the way to save an Entry in the API 2017-06-07 15:07:55 +02:00
Jérémy Benoist
4e4a5b534f Merge pull request #3184 from wallabag/better-way-image-extension
Use an alternative way to detect images
2017-06-07 13:41:25 +02:00
Jérémy Benoist
a3f16a5685 Merge pull request #3179 from wallabag/show-user-command
Show user command
2017-06-07 09:40:56 +02:00
Thomas Citharel
e48b238a3e fix tests 2017-06-06 16:18:25 +02:00
Thomas Citharel
d6c4c484c4 add migration 2017-06-06 16:04:51 +02:00
Thomas Citharel
be9d693e74 remove craueconfig domain name setting and add a proper one in parameters 2017-06-06 15:36:21 +02:00
Jérémy Benoist
6ed2627bb3 Merge pull request #3177 from wallabag/api-create-user-update
API user creation behing a toggle
2017-06-06 15:25:05 +02:00
Jérémy Benoist
9fe87bc2e2 Merge pull request #3165 from wallabag/it-translation-update
Update Italian translation
2017-06-06 11:44:18 +02:00
Jeremy Benoist
577c0b6dd8
Use an alternative way to detect image
When parsing content to retrieve images to save locally, we only check for the content-type of the image response.
In some case, that value is empty.
Now we’re also checking for the first few bytes of the content as an alternative to detect if it’s an image wallabag can handle.
We might get higher image supports using that alternative method.
2017-06-05 22:54:02 +02:00
Thomas Citharel
0d8ecb82a3 Fix review
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-06-04 17:57:40 +02:00
adev
2c3e148b00 Displays an error with an annotation with a too long quote
Fix #2762
2017-06-04 11:38:29 +02:00
Jeremy Benoist
645291e8fe
Add ability to patch an entry with more fields
Like when we create an entry, we can now patch an entry with new fields:
- content
- language
- preview_picture
- published_at
- authors
2017-06-02 20:52:49 +02:00
Jeremy Benoist
a1e6187406
Return 201 on user creation 2017-06-02 20:03:25 +02:00
Thomas Citharel
d143fa243d Add show user command
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-06-02 16:53:03 +02:00
Jeremy Benoist
1b9cd91782
Add translation 2017-06-02 11:32:38 +02:00
Jeremy Benoist
426bb453d2
API user creation behing a toggle
I've added a toggle feature (in internal settings) so that user api creation can be disabled while form registration still can be enabled.
Also, the /api/user endpoint shouldn't require authentication. Even if we check the authentication when sending a GET request, to retrieve current user information.

I've moved all the internal settings definition to config to avoid duplicated place to define them.
I don't know why we didn't did that earlier.
2017-06-02 11:32:38 +02:00
Jérémy Benoist
a687c8d915 Merge pull request #2708 from jcharaoui/import-disablecontentupdate
Import disableContentUpdate
2017-06-02 11:26:37 +02:00
Jérémy Benoist
d06a1ebdfb Update messages.it.yml 2017-06-02 09:17:45 +02:00
Jeremy Benoist
9bf7752f73
CS 2017-06-01 22:58:38 +02:00
Jeremy Benoist
fcad69a427
Replace images with &
Images with `&` in the path weren’t well replaced because they might be with `&amp;` in the html instead.

Replacing `&` with `&amp;` fix the problem.
2017-06-01 22:50:33 +02:00
Jeremy Benoist
f5924e9547
Fix option attributes 2017-06-01 15:44:36 +02:00
Jeremy Benoist
701d3066fb
We don't need that getter 2017-06-01 12:46:07 +02:00
Jeremy Benoist
ec97072152
No need to catch that Exception 2017-06-01 11:45:02 +02:00
Jeremy Benoist
6acadf8e98
Rewrote code & fix tests 2017-06-01 11:31:45 +02:00
Jeremy Benoist
843182c7cf
CS 2017-06-01 09:52:09 +02:00
Jeremy Benoist
d5c2cc54b5
Fix tests 2017-06-01 09:49:15 +02:00
Jeremy Benoist
432a24f502
CS 2017-06-01 09:48:14 +02:00
Jerome Charaoui
704803e182
Replace Wallabag v1 error strings with v2 strings 2017-06-01 09:48:14 +02:00
Jerome Charaoui
d0e9b3d640
Add disableContentUpdate import option
This commit also decouples the "import" and "update" functions inside
ContentProxy. If a content array is available, it must be passed to the
new importEntry method.
2017-06-01 09:48:14 +02:00
Jerome Charaoui
1c5da417e4
Put default fetching error title in global config 2017-06-01 09:43:01 +02:00
Jerome Charaoui
7aba665e48
Avoid returning objects passed by reference.
Objects are always passed by reference, so it doesn't make sense to
return an object which is passed by reference as it will always be the
same object. This change makes the code a bit more readable.
2017-06-01 09:43:01 +02:00
Jeremy Benoist
3a6af6c580
fixup! Set the right variable type 2017-06-01 09:36:01 +02:00
Jeremy Benoist
10bf812a9e
Both parameter wasn't used in the function, removing them 2017-06-01 09:30:38 +02:00
Jeremy Benoist
c3f7a2ca70
Set the right variable type 2017-06-01 09:30:20 +02:00
Jeremy Benoist
53da8ad844
Page parameter was never used in the function
It could have been used if we set the current page inside PreparePagerForEntries.
But we did that in each controller because we can have an OutOfRangeCurrentPageException
2017-06-01 09:29:18 +02:00
Jérémy Benoist
2a0eec07a5 Merge pull request #3137 from aaa2000/isolated-tests
Isolated tests
2017-06-01 07:58:17 +02:00
Nicolas Lœuillet
2e05858e1a
Updated 🇮🇹 translations
Thank you @matteocoder
2017-05-31 22:20:44 +02:00
Nicolas Lœuillet
757ec837be Merge pull request #3077 from wallabag/add-tags-list-view
Added tags on list view
2017-05-31 21:18:14 +02:00
adev
7ab5eb9508 Isolated tests
Use https://github.com/dmaicher/doctrine-test-bundle to have test isolation.
2017-05-31 16:03:54 +02:00
Thomas Citharel
91775f36fe Add some flex magic
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-31 14:34:46 +02:00
Jeremy Benoist
f0378b4d7c
Forced date can now be a timestamp too
Add adding more tests for forced content
2017-05-31 14:00:15 +02:00
Jeremy Benoist
9e349f08a6
Improve docs 2017-05-31 14:00:15 +02:00
Jeremy Benoist
0d6cfb884c
Remove htmlawed and use graby instead
Instead of using htmlawed (which is already used in graby) use graby directly (which require some refacto on graby side).
Still needs some tests.
2017-05-31 14:00:15 +02:00
Jeremy Benoist
74a75f7d43
Use graby ContentExtractor to clean html
It might be better to re-use some graby functionalities to clean html instead of building a new system.
2017-05-31 14:00:15 +02:00
Jeremy Benoist
fb436e8ca0
Add support for authors 2017-05-31 13:59:45 +02:00
Jeremy Benoist
e668a8124c
Allow other fields to be send using API
Entry API can now have these new fields:
- content
- language
- preview_picture
- published_at

Re-use the ContentProxy to be able to do the same using the web UI (in the future).
htmLawed is used to clean stuff from content, I hope it’ll be enough to avoid security breach.

Lower content validation when we want to update an entry with content already defined. Before, language & content_type were required. If there weren’t provided, we re-fetched the content using graby. I think these fields aren’t required for an entry to be created. So I removed them.
Which means some import from the v1 export won’t be re-fetched since they provide content, url & title.

Also, remove liberation link from Readability import to avoid overlaping import (from wallabag v1, which had the same link)
2017-05-31 13:59:45 +02:00
Nicolas Lœuillet
812c980fa5 Fixed tags display on grid view 2017-05-31 13:26:29 +02:00
Nicolas Lœuillet
4423b88c5b Merge pull request #3168 from wallabag/instapaper-tags-import
Add support for tag in Instapaper import
2017-05-31 12:32:09 +02:00
Nicolas Lœuillet
d61fd8be4f Merge pull request #3138 from Kdecherf/2835-tags
Ignore ActionMarkAsRead when removing tag from entry
2017-05-31 11:48:42 +02:00
Nicolas Lœuillet
3f8578ded3 Merge pull request #3161 from wallabag/scrutinizer-2.3
Fix some Scrutinizer issues
2017-05-31 11:46:41 +02:00
Jeremy Benoist
7a8ed3cee1
Add support for tag in Instapaper import 2017-05-31 10:38:00 +02:00
Nicolas Lœuillet
7aa5607f29 Merge pull request #3143 from wallabag/fix-wllbg2-import
Fixed is_starred for wallabag v2 import
2017-05-31 09:08:34 +02:00
Kevin Decherf
5dbf3f2326 TagController: ignore ActionMarkAsRead when removing tag from entry
Fixes #2835

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-05-31 00:36:46 +02:00
Jeremy Benoist
047fdc767a
Add tests 2017-05-30 20:27:44 +02:00
Jérémy Benoist
2150576d86 Merge pull request #3065 from wallabag/api-creation-endpoint
Register through API
2017-05-30 15:26:11 +02:00
Jérémy Benoist
ff24cf9c1d Update 🇮🇹 translation 2017-05-30 14:06:38 +02:00
Jeremy Benoist
4ec53ab74c
CS 2017-05-30 13:01:25 +02:00
Jeremy Benoist
26650fdbf8
Use a better way to set input for command
Actually use the correct to way handle that

http://symfony.com/doc/current/components/console/helpers/questionhelper.html#testing-a-command-that-expects-input
2017-05-30 12:47:28 +02:00
Jeremy Benoist
5fe65baee5
Fix some Scrutinizer issues 2017-05-30 11:39:15 +02:00
Nicolas Lœuillet
21242a02a1 Added tags on list view 2017-05-30 09:51:49 +02:00
Jérémy Benoist
7a90ca6171 Merge pull request #3147 from wallabag/delete-confirm
Add some deletion confirmation to avoid mistake
2017-05-30 09:42:56 +02:00
Jeremy Benoist
d069bff4f6
Remove unknown validation_groups
The Profile validation_groups does not exist and then for validation to be skipped (like password length)
2017-05-30 08:04:11 +02:00
Jeremy Benoist
5709ecb368
Re-use NewUserType to validate registration
The only ugly things is how we handle error by generating the view and then parse the content to retrieve all errors…

Fix exposition fields in User entity
2017-05-30 07:56:01 +02:00
Mateusz Rumiński
6eb463c4ab Update messages.pl.yml
add missing translation
2017-05-29 23:47:00 +02:00
Sven Fischer
2740fc525e update 🇩🇪 messages.de.yml 2017-05-29 21:10:00 +02:00
Thomas Citharel
2251045901
WIP
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-29 10:16:23 +02:00
Thomas Citharel
5d3deafd3e CS
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-28 01:16:01 +02:00
Thomas Citharel
6bc6fb1f60 Move Tags assigner to a separate file
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-27 22:08:14 +02:00
Jeremy Benoist
fa0f5ee12b
Add some deletion confirmation to avoid mistake 2017-05-24 21:33:37 +02:00
Nicolas Lœuillet
4c707d087b Fixed is_starred for wallabag v2 import 2017-05-24 15:36:41 +02:00
Jeremy Benoist
4ab0d25f65
Merge remote-tracking branch 'origin/master' into 2.3 2017-05-19 11:25:19 +02:00
Cedric Girard
5f82fc23a7 modify key name as well 2017-05-18 17:17:21 +02:00
Cedric Girard
1dd76ac650 unify Download/Export wording.
This fixes #2967
2017-05-18 15:23:48 +02:00
Quent-in
21f78f4d4b Update of the oc version of CoreBundle
I hope I didn't break everything with the ' and ".
2017-05-18 10:44:15 +02:00
Nicolas Lœuillet
6b94ee51b8 Fixed documentation URL 2017-05-17 09:03:04 +02:00
Cedric Girard
8544c7e4b6 reorder contrib strings in about page
this fixes #2891
2017-05-16 14:17:13 +02:00
Nicolas Lœuillet
0a033767db
Added logger when we match Tagging rules 2017-05-12 13:13:19 +02:00
Nicolas Lœuillet
1517d5772d Replaced json_array with array
And fixed failing test due to @j0k3r :trollface:
2017-05-11 14:59:53 +02:00
Nicolas Lœuillet
dda6a6addc
Added headers field in Entry 2017-05-11 14:18:21 +02:00
Jérémy Benoist
09edbff336 Merge pull request #3101 from wallabag/credentials-new-extrafields
Skip auth when no credentials are found
2017-05-10 10:58:19 +02:00
Jeremy Benoist
150d9ec1dc
Handle empty configuration 2017-05-10 10:37:53 +02:00
Thomas Citharel
91ba9a5975 Merge pull request #3095 from aaa2000/api-error-on-fail-fetch-content
Create a new entry via API even when its content can't be retrieved
2017-05-10 09:38:55 +02:00
Jeremy Benoist
1594a79fc5
Retrieve tag / tags value from query or request
It allows to request to delete a tag using query string instead of body parameter (which seems to be the standard).
Instead of breaking the previous behavior, I used a generic way to retrieve parameter (which looks into request attributes, query parameters and request parameters)
2017-05-09 23:15:25 +02:00
Jeremy Benoist
94b232bbb8
Skip auth when no credentials are found
If we can’t find a credential for the current host, even if it required login, we won’t add them and website will be fetched without any login.
2017-05-09 22:53:42 +02:00
Jérémy Benoist
0eb8220204 Merge pull request #2751 from bdunogier/2.2-guzzle_subscribers_improvement
Improved Guzzle subscribers extensibility
2017-05-09 17:10:03 +02:00
Nicolas Lœuillet
a2ae05a61c Merge pull request #3076 from wallabag/hotfix/2979
Disable negative numbers in filters
2017-05-09 13:56:44 +02:00
Jeremy Benoist
54c2d164a3
Merge remote-tracking branch 'origin/master' into 2.3 2017-05-09 13:55:31 +02:00
Jeremy Benoist
1b1647175d
Add some tests 2017-05-09 12:12:23 +02:00
Thomas Citharel
b28c5430ef Merge pull request #3022 from wallabag/webpack
Adds Webpack support and remove Grunt
2017-05-09 11:43:48 +02:00
Jeremy Benoist
d047530dc0
CS 2017-05-09 11:17:09 +02:00
Jérémy Benoist
9d7d549712 Update graby* licenses 2017-05-09 09:22:50 +02:00
adev
b60a666df2 Fix API pagination is broken if perPage is custom value
Fix #2720
2017-05-08 16:27:16 +02:00
adev
08f29ae7b6 Create a new entry via API even when its content can't be retrieved
Fix #2988
2017-05-08 14:57:25 +02:00
Thomas Citharel
4c6ee89c9c Fix review again
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-07 17:13:08 +02:00
Aline
34806fab1b Fix reviews
Signed-off-by: Aline <chetta.aline@gmail.com>
2017-05-07 15:07:50 +02:00
adev
f3c300e485 Translate error message in login page
Fix #2933
2017-05-06 22:21:04 +02:00
Jérémy Benoist
43f81a62e9 Merge pull request #3088 from wallabag/execute-migrations-after-install
Added migrations execution after fresh install
2017-05-05 17:42:42 +02:00
Jérémy Benoist
ab742ee9c6 Merge pull request #2920 from wallabag/cleanduplicatescommand
Clean Duplicates Command
2017-05-05 17:42:18 +02:00
Nicolas Lœuillet
7d2d1d6859
Added migrations execution after fresh install 2017-05-05 15:14:58 +02:00
Nicolas Lœuillet
89f108b45a
Fixed @j0k3r review 2017-05-05 14:54:03 +02:00
Nicolas Lœuillet
d09fe4d233
Added test for deduplication 2017-05-05 14:33:36 +02:00
Nicolas Lœuillet
6980304968 Merge pull request #3053 from wallabag/api-bulk-add
Added API endpoint to handle a list of URL
2017-05-05 13:56:34 +02:00
Jeremy Benoist
72db15ca5d
Little refacto and send 400 on reaching urls limit 2017-05-05 12:05:50 +02:00
adev
ab9eb5cdb7 Fix display the form errors correctly
Use `property_path` form option to map underscored form fields
to object properties

@see https://github.com/symfony/symfony/issues/9162#issuecomment-25431148

Fix #3067
2017-05-05 00:12:16 +02:00
Bertrand Dunogier
662db41bae Changed parsing of login_extra_fields in guzzle auth 2017-05-04 21:45:06 +02:00
Bertrand Dunogier
5b914b0422 Improved Guzzle subscribers extensibility
Allows 3rd parties to register new guzzle subscribers by adding extra calls to the http_client_factory service.
2017-05-04 21:44:34 +02:00
Thomas Citharel
2003ffa97e Fix according to review 2017-05-04 17:44:42 +02:00
Nicolas Lœuillet
cebed9c01f Merge pull request #3080 from wallabag/use-username-to-import
Use username to import
2017-05-04 15:19:16 +02:00
Thomas Citharel
17cc3aacb7 fix theme changes
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-04 14:49:44 +02:00
Thomas Citharel
64f81bc316 Adds Webpack support and removes the use for Grunt
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

use scss

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

fix build, add babel, fix annotations

fixes (and improvements !) for baggy

add live reload & environments & eslint & theme fixes
2017-05-04 14:49:44 +02:00
Thomas Citharel
d1e5059ea0 Use username to import
Signed-off-by: Thomas Citharel <tcit@tcit.fr>

add docs

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

use username as default

Signed-off-by: Thomas Citharel <tcit@tcit.fr>

rename user to username

typo

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-04 14:41:42 +02:00
Thomas Citharel
6b76ae3d1f Merge pull request #3060 from wallabag/search-users
Search & paginate users
2017-05-04 14:35:14 +02:00
Nicolas Lœuillet
9c09c253fe Merge pull request #3047 from wallabag/add-notmatches-operator
Added notmatches operator for tagging rule
2017-05-03 11:53:01 +02:00
Maxime Marinel
1267905d28 Disable negative numbers in filters 2017-05-03 11:08:56 +02:00
Nicolas Lœuillet
96e4398072
Fixed sandwich menu position in entry view (material theme) 2017-05-02 15:40:15 +02:00
Nicolas Lœuillet
b5b6877976 Merged list and search methods 2017-05-02 15:30:32 +02:00
Thomas Citharel
d01dc5a81e rename index to list
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-02 15:28:39 +02:00
Thomas Citharel
a2daa32d0c Fix tests
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2017-05-02 15:28:39 +02:00