Skip to content

Commit 5a32521

Browse files
committed
refactor: acpt update action slug
1 parent 4b44517 commit 5a32521

File tree

4 files changed

+16
-34
lines changed

4 files changed

+16
-34
lines changed

frontend-dev/src/components/AllIntegrations/ACPT/ACPTIntegLayout.jsx

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,9 @@ export default function ACPTIntegLayout({
3939
draftConf.label_field_map = []
4040

4141
if (val === 'create_cpt' || val === 'update_cpt') {
42-
draftConf.acptFields =
43-
val === 'update_cpt'
44-
? [{ label: __('Slug', 'bit-integrations'), key: 'slug', required: true }, ...cptFields]
45-
: cptFields
46-
42+
draftConf.acptFields = cptFields
4743
draftConf.acptLabels = cptLabels
44+
4845
draftConf.label_field_map = generateMappedField(cptLabels)
4946
} else if (val === 'delete_cpt' || val === 'delete_taxonomy') {
5047
draftConf.acptFields = [

frontend-dev/src/components/AllIntegrations/ACPT/staticData.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export const modules = [
2020
]
2121

2222
export const cptFields = [
23-
{ label: __('Post Name', 'bit-integrations'), key: 'post_name', required: true },
23+
{ label: __('Post Name or Slug', 'bit-integrations'), key: 'post_name', required: true },
2424
{ label: __('Singular Label', 'bit-integrations'), key: 'singular_label', required: true },
2525
{ label: __('Plural Label', 'bit-integrations'), key: 'plural_label', required: true },
2626
{ label: __('REST API base slug', 'bit-integrations'), key: 'rest_base', required: false },

includes/Actions/ACPT/ACPTHelper.php

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -26,23 +26,14 @@ public static function generateReqDataFromFieldMap($data, $fieldMap)
2626
return $dataFinal;
2727
}
2828

29-
public static function cptValidateRequired($finalData, $isUpdate = false)
29+
public static function cptValidateRequired($finalData)
3030
{
3131
$required = [
3232
'post_name' => __('Post Name', 'bit-integrations'),
3333
'singular_label' => __('Singular Label', 'bit-integrations'),
3434
'plural_label' => __('Plural Label', 'bit-integrations'),
3535
];
3636

37-
if ($isUpdate) {
38-
$required = array_merge(
39-
[
40-
'slug' => __('Slug', 'bit-integrations')
41-
],
42-
$required
43-
);
44-
}
45-
4637
foreach ($required as $key => $label) {
4738
if (empty($finalData[$key])) {
4839
return [
@@ -54,7 +45,7 @@ public static function cptValidateRequired($finalData, $isUpdate = false)
5445
}
5546
}
5647

57-
public static function taxonomyValidateRequired($finalData, $isUpdate = false)
48+
public static function taxonomyValidateRequired($finalData)
5849
{
5950
$requiredFields = [
6051
'slug' => __('Slug', 'bit-integrations'),
@@ -68,11 +59,10 @@ public static function taxonomyValidateRequired($finalData, $isUpdate = false)
6859
public static function optionPageValidateRequired($finalData)
6960
{
7061
$requiredFields = [
71-
'pageTitle' => __('Page Title', 'bit-integrations'),
72-
'menuTitle' => __('Menu Title', 'bit-integrations'),
73-
'capability' => __('Capability', 'bit-integrations'),
74-
'menuSlug' => __('Menu Slug', 'bit-integrations'),
75-
'position' => __('Menu Position', 'bit-integrations'),
62+
'pageTitle' => __('Page Title', 'bit-integrations'),
63+
'menuTitle' => __('Menu Title', 'bit-integrations'),
64+
'menuSlug' => __('Menu Slug', 'bit-integrations'),
65+
'position' => __('Menu Position', 'bit-integrations'),
7666
];
7767

7868
return self::validateFields($requiredFields, $finalData);
@@ -145,11 +135,7 @@ public static function validateResponse($response)
145135

146136
public static function convertToSlug($string)
147137
{
148-
$string = strtolower(trim($string));
149-
$string = preg_replace('/[^a-z0-9-]/', '-', $string);
150-
$string = preg_replace('/-+/', '-', $string);
151-
152-
return trim($string, '-');
138+
return str_replace(' ', '-', strtolower($string));
153139
}
154140

155141
private static function validateFields($requiredFields, $finalData)

includes/Actions/ACPT/RecordApiHelper.php

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,11 @@ public function createCPT($finalData, $fieldValues)
6464

6565
public function updateCPT($finalData, $fieldValues)
6666
{
67-
if ($error = ACPTHelper::cptValidateRequired($finalData, true)) {
67+
if ($error = ACPTHelper::cptValidateRequired($finalData)) {
6868
return $error;
6969
}
7070

71-
$slug = ACPTHelper::convertToSlug($finalData['slug']);
72-
73-
unset($finalData['slug']);
71+
$slug = ACPTHelper::convertToSlug($finalData['post_name']);
7472

7573
$finalData['icon'] = $this->integrationDetails->icon;
7674

@@ -106,6 +104,7 @@ public function createOrUpdateTaxonomy($finalData, $fieldValues, $isUpdate = fal
106104
}
107105

108106
$slug = ACPTHelper::convertToSlug($finalData['slug']);
107+
$finalData['slug'] = $slug;
109108

110109
$finalData = ACPTHelper::prepareTaxonomyData($finalData, $fieldValues, $this->integrationDetails);
111110

@@ -129,9 +128,9 @@ public function deleteTaxonomy($finalData)
129128
];
130129
}
131130

132-
$finalData['slug'] = ACPTHelper::convertToSlug($finalData['slug']);
131+
$slug = ACPTHelper::convertToSlug($finalData['slug']);
133132

134-
$apiEndpoint = $this->apiUrl . '/taxonomy/' . $finalData['slug'];
133+
$apiEndpoint = $this->apiUrl . '/taxonomy/' . $slug;
135134

136135
$response = apply_filters('btcbi_acpt_delete_taxonomy', false, $apiEndpoint, $this->apikey);
137136

@@ -303,7 +302,7 @@ public function execute($fieldValues, $fieldMap, $module)
303302
break;
304303
case 'update_taxonomy':
305304
$type = 'Taxonomy';
306-
$typeName = 'Create Taxonomy';
305+
$typeName = 'Update Taxonomy';
307306

308307
$apiResponse = $this->createOrUpdateTaxonomy($finalData, $fieldValues, true);
309308

0 commit comments

Comments
 (0)