Feature: Configurable default values for fields#353
Open
andreasferber wants to merge 1 commit intocosmocode:masterfrom
Open
Feature: Configurable default values for fields#353andreasferber wants to merge 1 commit intocosmocode:masterfrom
andreasferber wants to merge 1 commit intocosmocode:masterfrom
Conversation
Add a new configuration option to columns that allows adding default values for fields.
Author
|
The travis check failed because there is a general issue running tests with PHP 7.0 and stable Dokuwiki due to changes in phpunit. Maybe you should disable this test for now until Dokuwiki has released a new stable version? |
splitbrain
requested changes
Nov 1, 2023
Member
splitbrain
left a comment
There was a problem hiding this comment.
Generally not a bad idea. Needs merge conflict resolving and the logic needs to be double checked.
Comment on lines
+217
to
+223
| $val = $col->getType()->getDefaultValue(); | ||
|
|
||
| // multi val data is concatenated | ||
| if($col->isMulti()) { | ||
| $val = explode($sep, $val); | ||
| $val = array_filter($val); | ||
| // multi val data is concatenated | ||
| if($col->isMulti()) { | ||
| $val = explode(',', $val); | ||
| $val = array_map('trim', $val); | ||
| } |
Member
There was a problem hiding this comment.
It seems the else branch logic changed here. The isMulti() check used to be outside the else, now it is inside?
| // output the field | ||
| $value = new Value($this->column, $this->opt['value']); | ||
| $rawvalue = $this->opt['value']; | ||
| if (empty($rawvalue)) { |
Member
There was a problem hiding this comment.
This would overwrite a value of 0 with the default value.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds a new "default" configuration option to fields that can be used to set a default value. The default is applied whenever no existing schema data is found for a page (for example a new page or a newly assigned schema). This also means that when adding a new field with default to a schema, the default value will not apply to already existing pages using this schema.
In addition, the default is used when adding struct fields to a bureaucracy plugin form.
If you merge this PR, please let me know once you have made a release containing the change available on dokuwiki.org, so that I can add the new option to the documentation at https://www.dokuwiki.org/plugin:struct:type.