Commit Graph

5887 Commits

Author SHA1 Message Date
Vincent Petry ab22999eb9 Added PlaceholderAvatar with own cached images
When avatar scope is private, the PlaceholderAvatar is used to deliver a
placeholder avatar based on the user's initials.

This was implemented as a separate class for now to avoid messing with
the existing UserAvatar implementation and its generated vs
non-generated logic.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-29 07:03:36 +00:00
Vincent Petry 73ec32d19b Add property scope tests for AccountManager
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-29 07:03:35 +00:00
Vincent Petry 5d76574a81 Map old account scope properties to new names
Use new scope values in settings page.
Adjust all consumers to use the new constants.
Map old scope values to new ones in account property getter.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-29 07:03:31 +00:00
Vincent Petry f45f826b52 Add new v2-private account scope
Added new v2-private account manager scope that restricts the scope
further by excluding public link access.

Avatars with v2-private account scope are now showing the guest avatar
instead of the real avatar.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-29 07:03:31 +00:00
Morris Jobke ffb7c51ca6
Merge pull request #26257 from nextcloud/backport/26198/stable21
[stable21] Handle limit offset and sorting in files search
2021-03-24 17:32:36 +01:00
Morris Jobke ba9e1c0d1a
Merge pull request #26276 from nextcloud/backport/26265/stable21
[stable21] Fix casing of core test folder, bring back missing tests
2021-03-24 17:13:44 +01:00
Vincent Petry bb7ff7f440
Revert controller tests to match stable21 API
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-24 15:22:35 +01:00
Vincent Petry 447ccc1e55 Fix language codes test result order
Fixes issue with Oracle by enforcing the order of the results to check.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-24 12:38:52 +00:00
Vincent Petry bad3243944 Bring back forgotten tests
Remove "ocs-provider" test folder reference as it doesn't exist any
more.
Added back "Test" test subdir and fixed the tests inside.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-24 12:38:52 +00:00
Vincent Petry 3e815f555d Fix more controller tests in Core subdir
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-24 12:38:52 +00:00
Vincent Petry 365c99b0be Fix more tests in the Core subdir
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-24 12:38:51 +00:00
Vincent Petry 2c4b21b2fc Fix core tests command for app enabling/disabling
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-24 12:38:51 +00:00
Vincent Petry 544ea63613 Fix casing of core test folder
It seems Phpunit < 9 was case insensitive.
Fixed the phpunit config to target the correct name for the "Core" test
directory.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-24 12:38:51 +00:00
Robin Appelman d4381c0eac handle ordering in folder search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-23 13:41:18 +00:00
Robin Appelman 8551ee079d folder filtering in sql
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-23 13:41:16 +00:00
Robin Appelman 277c0039f6 cleanup fileinfo creation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-23 13:41:13 +00:00
Robin Appelman 423e1581e0 handle limit and offset in folder file search
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-23 13:41:12 +00:00
Robin Appelman 2500d296c5 only require user to be set in a query that handles tags
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-23 13:41:11 +00:00
Daniel Calviño Sánchez 4cb539bf09 Include additional scripts in Noto fonts
Generated avatars as well as text file previews are rendered using the
"core/fonts/NotoSans-Regular.ttf" font. The file was the standard hinted
"NotoSans-Regular.ttf" file from https://www.google.com/get/noto/.
However that file does not cover some non LGC (Latin, Greek, Cyrillic)
scripts, like Arabic, Devanagari or Hebrew, to name a few.

Markdown file previews also use "core/fonts/NotoSans-Bold.ttf", which is
in the same situation as the regular one.

Due to limitations in the TTF format it is not possible to provide a
single file for each style that includes all Noto fonts. However, it is
possible to add more scripts to the standard "NotoSans-Regular.ttf" and
"NotoSans-Bold.ttf" files (although no CJK (Chinese, Japanese, Korean)
glyph can be included due to the aforementioned limitations).

This commit replaces the standard files with an extended version created
using the Noto Tools. The build script (as well as a patch for the Noto
Tools) is also included for reference and to be able to update the font
files in the future if needed.

Due to the additional scripts added the font files are now much larger,
although this does not seem to increase the time spent rendering LGC
scripts.

Note that the file for the bold style still contains less scripts than
the regular one, as not all scripts supported by Noto have a bold
weight.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-22 20:07:58 +00:00
Joas Schilling 3fd9d0dc50 Also limit to user group in case enumeration is enabled for groups and phonenumbers
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-22 20:07:53 +01:00
Joas Schilling 553a25e1a1 Improve search results when only phonebook-matches can we autocompleted
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-22 20:07:53 +01:00
Morris Jobke eaae526ba7
Merge pull request #26211 from nextcloud/backport/23718/stable21
[stable21] expand 'path is already shared' error message
2021-03-19 15:21:17 +01:00
Robin Appelman def56ca0cd expand 'path is already shared' error message
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-19 12:45:40 +00:00
Vincent Petry 695ccecf26 Update user share must use correct expiration validation
Updating a user or group share now uses the correct method for the
validation of the expiration date. Instead of using the one from links
it uses the one for internal shares.

To avoid future confusion, the method "validateExpirationDate" has been
renamed to "validateExpirationDateLink".

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-19 09:54:47 +00:00
Roeland Jago Douma 8942d76f72
Merge pull request #26122 from nextcloud/backport/26004/stable21
[stable21] Allow overwriting isAuthenticated
2021-03-18 16:20:46 +01:00
Morris Jobke c1c377f609
Merge pull request #26090 from nextcloud/backport/25722/stable21
[stable21] apply object store copy optimization when 'cross storage' copy is wit…
2021-03-17 20:09:50 +01:00
Robin Appelman c727879073 adjust tests
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:34 +00:00
Robin Appelman ec0985ba68 fix search in nested jails
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:33 +00:00
Robin Appelman eb56b1d0bd fix cachjail searching for root
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:32 +00:00
Robin Appelman 046638abeb do cachejail search filtering in sql
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-15 17:51:32 +00:00
Roeland Jago Douma 8806bbe6fe Allow overwriting isAuthenticated
* Some implementations might check for different things
* IT will not change how the current ones work

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-15 13:59:05 +00:00
Robin Appelman 6308267aff apply object store copy optimization when 'cross storage' copy is within the same object store
Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-03-12 16:16:01 +00:00
Joas Schilling 2d92f1117b Fix Test class name
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-12 10:23:13 +00:00
Joas Schilling 72fb176ec9
Change label also in the acceptance tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:40:38 +01:00
Joas Schilling 77f6d768bc
Add a setting to restrict returning a full match unless in phonebook or same group
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:40:26 +01:00
Joas Schilling c7560ab3a9
Restrict autocompletion also based on the phonebook known users
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-03-11 08:40:03 +01:00
Daniel Calviño Sánchez 8185c46bd8 Find directly the label instead of falling back to it
The input element is always hidden, so the check always ended falling
back to the label. Moreover, the label is the element that the user
interacts with, so it must be the one used.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:45 +00:00
Daniel Calviño Sánchez 3a470c2ebe Assert also element visibility instead of just finding it
Although if the element could not be found an exception would be thrown
and the test aborted if an element is in the DOM but hidden it would be
found and the test would pass.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:44 +00:00
Daniel Calviño Sánchez b086a0f007 Add explicit locator for "Enable all" bundle button
Instead of looking for the bundle button and then checking its value now
the expected value is included in the locator and the button is checked
similarly to other elements.

No "Disable all" locator was added as it was not currently needed
anywhere.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:44 +00:00
Daniel Calviño Sánchez 1058abc97c Find elements through the actor rather than the driver
"Actor::find" is a more robust way to look for elements, as it handles
some exceptions that may be thrown. Therefore, even if the elements are
not actually used and it is only checked whether they exist or not using
the actor is the preferred way when possible (and it also makes it
consistent with the rest of the acceptance tests).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:43 +00:00
Daniel Calviño Sánchez 270db2f523 Add locator for apps list
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:43 +00:00
Daniel Calviño Sánchez 4c98d2949f Fix identation
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:42 +00:00
Daniel Calviño Sánchez 34814adb36 Fix delete user acceptance test
Adding some missing asserts showed that the "delete user" acceptance
test was silently failing, as the deletion was not being confirmed in
the dialog and thus the user was not being deleted.

The dialog button contains a single quote ("user0's"), so the XPath
expression had to be adjusted (it seems that it is not possible to
escape a single quote in a string enclosed in single quotes in XPath
1.0).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:42 +00:00
Daniel Calviño Sánchez d03bc3e535 Verify WaitFor::element... results with an assertion
WaitFor::element... calls only perform the waiting and return whether
the condition succeeded or not, but that result needs to be explicitly
checked to prevent further steps from being executed if the wait failed.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:41 +00:00
Daniel Calviño Sánchez f3a4ec723a Add missing waits when finding elements in the acceptance tests
As no timeout was specified the elements were tried to be found just
once. This caused the steps to fail if the elements did not appear yet
in the page when they were tried to be found.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2021-03-08 07:55:40 +00:00
Roeland Jago Douma 3aba094d86
Merge pull request #25573 from nextcloud/backport/25378/stable21
[stable21] Improve mention matches
2021-03-05 09:55:44 +01:00
Roeland Jago Douma 01b9988a2d
Merge pull request #25571 from nextcloud/backport/25460/stable21
[stable21] Always renew apppasswords on login
2021-03-05 09:07:42 +01:00
Joas Schilling 6ed4c604c7 Send emails on password reset to the displayname
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-18 14:34:38 +00:00
Joas Schilling a745d58133 Cache the user backend info for 300s
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-17 07:59:22 +00:00
Joas Schilling 814a8acccc Fix unit tests
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-02-11 09:35:36 +00:00