Release of v5.0.1-alpha5

Add repositories for better integration with gitea. Refactored the Data classes. Add new Data classes.
This commit is contained in:
2024-06-21 03:25:28 +02:00
parent fc6b04cb5c
commit c51ef999a9
120 changed files with 8945 additions and 3699 deletions

View File

@ -229,8 +229,6 @@
COM_COMPONENTBUILDER_FIELD_BASIC_ENCRYPTION_LOCALDBKEY</option>
<option value="5">
COM_COMPONENTBUILDER_FIELD_MEDIUM_ENCRYPTION_LOCALFILEKEY</option>
<option value="4">
COM_COMPONENTBUILDER_FIELD_WHMCSKEY_ENCRYPTION</option>
<option value="6">
COM_COMPONENTBUILDER_FIELD_EXPERT_MODE_CUSTOM</option>
</field>
@ -243,6 +241,21 @@
description="COM_COMPONENTBUILDER_FIELD_CATID_DESCRIPTION"
class="inputbox"
/>
<!-- Note_no_database_settings_needed Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_no_database_settings_needed" label="COM_COMPONENTBUILDER_FIELD_NOTE_NO_DATABASE_SETTINGS_NEEDED_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_NO_DATABASE_SETTINGS_NEEDED_DESCRIPTION" heading="h4" class="alert alert-info note_no_database_settings_needed" />
<!-- On_get_model_field Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="on_get_model_field"
label="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_LABEL"
rows="5"
cols="10"
description="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_HINT"
required="true"
/>
<!-- On_save_model_field Field. Type: Textarea. (joomla) -->
<field
type="textarea"
@ -269,19 +282,6 @@
hint="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_GET_MODEL_HINT"
required="false"
/>
<!-- Initiator_on_save_model Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="initiator_on_save_model"
label="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_LABEL"
rows="5"
cols="10"
description="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_HINT"
required="false"
/>
<!-- Note_filter_information Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_filter_information" description="COM_COMPONENTBUILDER_FIELD_NOTE_FILTER_INFORMATION_DESCRIPTION" class="note_filter_information" />
<!-- Xml Field. Type: Hidden. (joomla) -->
@ -327,8 +327,22 @@
<option value="Other">
COM_COMPONENTBUILDER_FIELD_OTHER</option>
</field>
<!-- Note_database_settings_needed Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_database_settings_needed" label="COM_COMPONENTBUILDER_FIELD_NOTE_DATABASE_SETTINGS_NEEDED_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_DATABASE_SETTINGS_NEEDED_DESCRIPTION" heading="h4" class="alert alert-info note_database_settings_needed" />
<!-- Javascript_view_footer Field. Type: Editor. (joomla) -->
<field
type="editor"
name="javascript_view_footer"
label="COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_LABEL"
description="COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="javascript"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Css_views Field. Type: Editor. (joomla) -->
<field
type="editor"
@ -414,37 +428,8 @@
message="COM_COMPONENTBUILDER_FIELD_DATALENGHT_OTHER_MESSAGE"
hint="COM_COMPONENTBUILDER_FIELD_DATALENGHT_OTHER_HINT"
/>
<!-- On_get_model_field Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="on_get_model_field"
label="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_LABEL"
rows="5"
cols="10"
description="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_FIELD_ON_GET_MODEL_FIELD_HINT"
required="true"
/>
<!-- Javascript_view_footer Field. Type: Editor. (joomla) -->
<field
type="editor"
name="javascript_view_footer"
label="COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_LABEL"
description="COM_COMPONENTBUILDER_FIELD_JAVASCRIPT_VIEW_FOOTER_DESCRIPTION"
width="100%"
height="450px"
cols="15"
rows="30"
buttons="no"
syntax="javascript"
editor="codemirror|none"
filter="raw"
validate="code"
/>
<!-- Note_no_database_settings_needed Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_no_database_settings_needed" label="COM_COMPONENTBUILDER_FIELD_NOTE_NO_DATABASE_SETTINGS_NEEDED_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_NO_DATABASE_SETTINGS_NEEDED_DESCRIPTION" heading="h4" class="alert alert-info note_no_database_settings_needed" />
<!-- Note_database_settings_needed Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_database_settings_needed" label="COM_COMPONENTBUILDER_FIELD_NOTE_DATABASE_SETTINGS_NEEDED_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_DATABASE_SETTINGS_NEEDED_DESCRIPTION" heading="h4" class="alert alert-info note_database_settings_needed" />
<!-- Javascript_views_footer Field. Type: Editor. (joomla) -->
<field
type="editor"
@ -527,12 +512,23 @@
<option value="0">
COM_COMPONENTBUILDER_FIELD_NO</option>
</field>
<!-- Note_whmcs_encryption Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_whmcs_encryption" label="COM_COMPONENTBUILDER_FIELD_NOTE_WHMCS_ENCRYPTION_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_WHMCS_ENCRYPTION_DESCRIPTION" heading="h4" class="alert alert-success note_whmcs_encryption" />
<!-- Helpnote Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="helpnote" label="COM_COMPONENTBUILDER_FIELD_HELPNOTE_LABEL" class="helpNote helpnote" />
<!-- Note_expert_field_save_mode Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="note_expert_field_save_mode" label="COM_COMPONENTBUILDER_FIELD_NOTE_EXPERT_FIELD_SAVE_MODE_LABEL" description="COM_COMPONENTBUILDER_FIELD_NOTE_EXPERT_FIELD_SAVE_MODE_DESCRIPTION" heading="h4" class="alert alert-success note_expert_encryption note_expert_field_save_mode" />
<!-- Helpnote Field. Type: Note. A None Database Field. (joomla) -->
<field type="note" name="helpnote" label="COM_COMPONENTBUILDER_FIELD_HELPNOTE_LABEL" class="helpNote helpnote" />
<!-- Initiator_on_save_model Field. Type: Textarea. (joomla) -->
<field
type="textarea"
name="initiator_on_save_model"
label="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_LABEL"
rows="5"
cols="10"
description="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_DESCRIPTION"
class="text_area span12"
filter="raw"
hint="COM_COMPONENTBUILDER_FIELD_INITIATOR_ON_SAVE_MODEL_HINT"
required="false"
/>
<!-- Guid Field. Type: Text. (joomla) -->
<field
type="text"

View File

@ -135,8 +135,6 @@
COM_COMPONENTBUILDER_FIELDTYPE_BASIC_ENCRYPTION_LOCALDBKEY</option>
<option value="5">
COM_COMPONENTBUILDER_FIELDTYPE_MEDIUM_ENCRYPTION_LOCALFILEKEY</option>
<option value="4">
COM_COMPONENTBUILDER_FIELDTYPE_WHMCSKEY_ENCRYPTION</option>
<option value="6">
COM_COMPONENTBUILDER_FIELDTYPE_EXPERT_MODE_CUSTOM</option>
</field>

View File

@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addruleprefix="VDM\Component\Componentbuilder\Administrator\Rule"
addfieldprefix="VDM\Component\Componentbuilder\Administrator\Field"
>
<fields name="filter">
<field
type="text"
name="search"
inputmode="search"
label="COM_COMPONENTBUILDER_FILTER_SEARCH"
description="COM_COMPONENTBUILDER_FILTER_SEARCH_REPOSITORIES"
hint="JSEARCH_FILTER"
/>
<field
type="status"
name="published"
label="COM_COMPONENTBUILDER_FILTER_PUBLISHED"
description="COM_COMPONENTBUILDER_FILTER_PUBLISHED_REPOSITORIES"
class="js-select-submit-on-change"
>
<option value="">JOPTION_SELECT_PUBLISHED</option>
</field>
<field
type="accesslevel"
name="access"
label="JGRID_HEADING_ACCESS"
hint="JOPTION_SELECT_ACCESS"
multiple="true"
class="js-select-submit-on-change"
layout="joomla.form.field.list-fancy-select"
/>
<field
type="repositoriesfilterorganisation"
name="organisation"
label="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<field
type="repositoriesfilterrepository"
name="repository"
label="COM_COMPONENTBUILDER_REPOSITORY_REPOSITORY_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<field
type="repositoriesfiltertarget"
name="target"
label="COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<field
type="repositoriesfilterbase"
name="base"
label="COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL"
multiple="false"
class="js-select-submit-on-change"
/>
<input type="hidden" name="form_submited" value="1"/>
</fields>
<fields name="list">
<field
name="fullordering"
type="list"
label="JGLOBAL_SORT_BY"
class="js-select-submit-on-change"
default="a.id DESC"
validate="options"
>
<option value="">JGLOBAL_SORT_BY</option>
<option value="a.ordering ASC">JGRID_HEADING_ORDERING_ASC</option>
<option value="a.ordering DESC">JGRID_HEADING_ORDERING_DESC</option>
<option value="a.published ASC">JSTATUS_ASC</option>
<option value="a.published DESC">JSTATUS_DESC</option>
<option value="a.organisation ASC">COM_COMPONENTBUILDER_FILTER_ORGANISATION_ASCENDING</option>
<option value="a.organisation DESC">COM_COMPONENTBUILDER_FILTER_ORGANISATION_DESCENDING</option>
<option value="a.repository ASC">COM_COMPONENTBUILDER_FILTER_REPOSITORY_ASCENDING</option>
<option value="a.repository DESC">COM_COMPONENTBUILDER_FILTER_REPOSITORY_DESCENDING</option>
<option value="a.target ASC">COM_COMPONENTBUILDER_FILTER_TARGET_CONTENT_ASCENDING</option>
<option value="a.target DESC">COM_COMPONENTBUILDER_FILTER_TARGET_CONTENT_DESCENDING</option>
<option value="a.type ASC">COM_COMPONENTBUILDER_FILTER_TYPE_ASCENDING</option>
<option value="a.type DESC">COM_COMPONENTBUILDER_FILTER_TYPE_DESCENDING</option>
<option value="a.base ASC">COM_COMPONENTBUILDER_FILTER_BASE_URL_ASCENDING</option>
<option value="a.base DESC">COM_COMPONENTBUILDER_FILTER_BASE_URL_DESCENDING</option>
<option value="a.id ASC">JGRID_HEADING_ID_ASC</option>
<option value="a.id DESC">JGRID_HEADING_ID_DESC</option>
</field>
<field
name="limit"
type="limitbox"
label="JGLOBAL_LIST_LIMIT"
default="25"
class="js-select-submit-on-change"
/>
</fields>
</form>

File diff suppressed because it is too large Load Diff

305
admin/forms/repository.xml Normal file
View File

@ -0,0 +1,305 @@
<?xml version="1.0" encoding="utf-8"?>
<form
addruleprefix="VDM\Component\Componentbuilder\Administrator\Rule"
addfieldprefix="VDM\Component\Componentbuilder\Administrator\Field"
>
<config>
<inlinehelp button="show"/>
</config>
<fieldset name="details">
<!-- Default Fields. -->
<!-- Id Field. Type: Text (joomla) -->
<field
name="id"
type="text" class="readonly" label="JGLOBAL_FIELD_ID_LABEL"
description ="JGLOBAL_FIELD_ID_DESC" size="10" default="0"
readonly="true"
/>
<!-- Date Created Field. Type: Calendar (joomla) -->
<field
name="created"
type="calendar"
label="COM_COMPONENTBUILDER_REPOSITORY_CREATED_DATE_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_CREATED_DATE_DESC"
size="22"
format="%Y-%m-%d %H:%M:%S"
filter="user_utc"
/>
<!-- User Created Field. Type: User (joomla) -->
<field
name="created_by"
type="user"
label="COM_COMPONENTBUILDER_REPOSITORY_CREATED_BY_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_CREATED_BY_DESC"
/>
<!-- Published Field. Type: List (joomla) -->
<field name="published" type="list" label="JSTATUS"
description="JFIELD_PUBLISHED_DESC" class="chzn-color-state"
filter="intval" size="1" default="1" >
<option value="1">
JPUBLISHED</option>
<option value="0">
JUNPUBLISHED</option>
<option value="2">
JARCHIVED</option>
<option value="-2">
JTRASHED</option>
</field>
<!-- Date Modified Field. Type: Calendar (joomla) -->
<field name="modified" type="calendar" class="readonly"
label="COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_DATE_LABEL" description="COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_DATE_DESC"
size="22" readonly="true" format="%Y-%m-%d %H:%M:%S" filter="user_utc" />
<!-- User Modified Field. Type: User (joomla) -->
<field name="modified_by" type="user"
label="COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_MODIFIED_BY_DESC"
class="readonly"
readonly="true"
filter="unset"
/>
<!-- Access Field. Type: Accesslevel (joomla) -->
<field name="access"
type="accesslevel"
label="JFIELD_ACCESS_LABEL"
description="JFIELD_ACCESS_DESC"
default="1"
required="false"
/>
<!-- Ordering Field. Type: Numbers (joomla) -->
<field
name="ordering"
type="number"
class="inputbox validate-ordering"
label="COM_COMPONENTBUILDER_REPOSITORY_ORDERING_LABEL"
description=""
default="0"
size="6"
required="false"
/>
<!-- Version Field. Type: Text (joomla) -->
<field
name="version"
type="text"
class="readonly"
label="COM_COMPONENTBUILDER_REPOSITORY_VERSION_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_VERSION_DESC"
size="6"
default="1"
readonly="true"
filter="unset"
/>
<!-- Was added due to Permissions JS needing a Title field -->
<!-- Let us know at gh-629 should this change -->
<!-- https://github.com/vdm-io/Joomla-Component-Builder/issues/629#issuecomment-750117235 -->
<field
name="title"
type="hidden"
default="componentbuilder repository"
/>
<!-- Dynamic Fields. -->
<!-- System_name Field. Type: Text. (joomla) -->
<field
type="text"
name="system_name"
label="COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_LABEL"
size="10"
maxlength="50"
default=""
description="COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_SYSTEM_NAME_HINT"
/>
<!-- Organisation Field. Type: Text. (joomla) -->
<field
type="text"
name="organisation"
label="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_LABEL"
size="60"
maxlength="150"
description="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_DESCRIPTION"
class="text_area"
required="true"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_ORGANISATION_HINT"
/>
<!-- Repository Field. Type: Text. (joomla) -->
<field
type="text"
name="repository"
label="COM_COMPONENTBUILDER_REPOSITORY_REPOSITORY_LABEL"
size="70"
maxlength="150"
class="text_area"
readonly="false"
required="true"
filter="CMD"
hint="COM_COMPONENTBUILDER_REPOSITORY_REPOSITORY_HINT"
autocomplete="on"
/>
<!-- Target Field. Type: List. (joomla) -->
<field
type="list"
name="target"
label="COM_COMPONENTBUILDER_REPOSITORY_TARGET_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_TARGET_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
filter="INT"
required="true"
validate="int">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_REPOSITORY_SELECT_AN_OPTION</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_SUPER_POWER</option>
<option value="2">
COM_COMPONENTBUILDER_REPOSITORY_JOOMLA_POWER</option>
</field>
<!-- Type Field. Type: List. (joomla) -->
<field
type="list"
name="type"
label="COM_COMPONENTBUILDER_REPOSITORY_TYPE_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_TYPE_DESCRIPTION"
class="list_class"
layout="joomla.form.field.list-fancy-select"
multiple="false"
filter="INT"
required="true"
validate="int">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_REPOSITORY_SELECT_AN_OPTION</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_GITEA</option>
</field>
<!-- Base Field. Type: Url. (joomla) -->
<field
type="url"
name="base"
label="COM_COMPONENTBUILDER_REPOSITORY_BASE_LABEL"
size="70"
maxlength="150"
default="https://git.vdm.dev"
description="COM_COMPONENTBUILDER_REPOSITORY_BASE_DESCRIPTION"
class="text_area"
required="true"
filter="url"
validated="url"
scheme="http,https"
message="COM_COMPONENTBUILDER_REPOSITORY_BASE_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_BASE_HINT"
autocomplete="on"
showon="type:1"
/>
<!-- Guid Field. Type: Text. (joomla) -->
<field
type="text"
name="guid"
label="COM_COMPONENTBUILDER_REPOSITORY_GUID_LABEL"
size="40"
maxlength="40"
description="COM_COMPONENTBUILDER_REPOSITORY_GUID_DESCRIPTION"
class="text_area"
readonly="true"
filter="CMD"
validate="guid"
hint="COM_COMPONENTBUILDER_REPOSITORY_GUID_HINT"
/>
<!-- Access_repo Field. Type: Radio. (joomla) -->
<field
type="radio"
name="access_repo"
label="COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_LABEL"
description="COM_COMPONENTBUILDER_REPOSITORY_ACCESS_REPO_DESCRIPTION"
class="btn-group btn-group-yesno"
default="">
<!-- Option Set. -->
<option value="">
COM_COMPONENTBUILDER_REPOSITORY_GLOBAL</option>
<option value="1">
COM_COMPONENTBUILDER_REPOSITORY_OVERRIDE</option>
</field>
<!-- Write_branch Field. Type: Text. (joomla) -->
<field
type="text"
name="write_branch"
label="COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_LABEL"
size="128"
maxlength="50"
description="COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_WRITE_BRANCH_HINT"
/>
<!-- Read_branch Field. Type: Text. (joomla) -->
<field
type="text"
name="read_branch"
label="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_LABEL"
size="128"
maxlength="50"
description="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_READ_BRANCH_HINT"
/>
<!-- Token Field. Type: Password. (joomla) -->
<field
type="password"
name="token"
label="COM_COMPONENTBUILDER_REPOSITORY_TOKEN_LABEL"
size="128"
description="COM_COMPONENTBUILDER_REPOSITORY_TOKEN_DESCRIPTION"
message="Error! Please add token here."
class="text_area"
filter="STRING"
hint="COM_COMPONENTBUILDER_REPOSITORY_TOKEN_HINT"
autocomplete="off"
showon="type:1[AND]access_repo:1"
/>
<!-- Username Field. Type: Text. (joomla) -->
<field
type="text"
name="username"
label="COM_COMPONENTBUILDER_REPOSITORY_USERNAME_LABEL"
size="128"
maxlength="50"
description="COM_COMPONENTBUILDER_REPOSITORY_USERNAME_DESCRIPTION"
class="text_area"
filter="STRING"
message="COM_COMPONENTBUILDER_REPOSITORY_USERNAME_MESSAGE"
hint="COM_COMPONENTBUILDER_REPOSITORY_USERNAME_HINT"
autocomplete="on"
showon="type:1[AND]access_repo:1"
/>
</fieldset>
<!-- Access Control Fields. -->
<fieldset name="accesscontrol">
<!-- Asset Id Field. Type: Hidden (joomla) -->
<field
name="asset_id"
type="hidden"
filter="unset"
/>
<!-- Rules Field. Type: Rules (joomla) -->
<field
name="rules"
type="rules"
label="Permissions in relation to this repository"
translate_label="false"
filter="rules"
validate="rules"
class="inputbox"
component="com_componentbuilder"
section="repository"
/>
</fieldset>
</form>