Skip to content

Commit 186a3bc

Browse files
committed
fix(web-hosting): fixes for import on managed cms
ref: #PUWEBPT-102 Signed-off-by: stif59100 <[email protected]>
1 parent d9832c3 commit 186a3bc

File tree

7 files changed

+18
-32
lines changed

7 files changed

+18
-32
lines changed

packages/manager/apps/web-hosting/src/data/hooks/managedWordpress/managedWordpressWebsites/useManagedWordpressWebsites.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@ type UseManagedWordpressWebsitesParams = Omit<
2727
> & {
2828
defaultFQDN?: string;
2929
shouldFetchAll?: boolean;
30+
disableRefetchInterval?: boolean;
3031
};
3132

3233
export const useManagedWordpressWebsites = (props: UseManagedWordpressWebsitesParams = {}) => {
33-
const { defaultFQDN, shouldFetchAll, ...options } = props;
34+
const { defaultFQDN, shouldFetchAll, disableRefetchInterval, ...options } = props;
3435
const [allPages, setAllPages] = useState(!!shouldFetchAll);
3536
const { serviceName } = useParams();
3637
const searchParams = buildURLSearchParams({
@@ -54,7 +55,7 @@ export const useManagedWordpressWebsites = (props: UseManagedWordpressWebsitesPa
5455
: typeof props.enabled !== 'boolean' || props.enabled,
5556
getNextPageParam: (lastPage) => lastPage.cursorNext,
5657
select: (data) => data?.pages.flatMap((page: WebsitesResponse) => page.data) ?? [],
57-
refetchInterval: DATAGRID_REFRESH_INTERVAL,
58+
refetchInterval: disableRefetchInterval ? false : DATAGRID_REFRESH_INTERVAL,
5859
refetchOnMount: DATAGRID_REFRESH_ON_MOUNT,
5960
});
6061
const fetchAllPages = useCallback(() => {

packages/manager/apps/web-hosting/src/data/types/product/managedWordpress/tasks.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { Status } from '../ssl';
33
export type PostImportTaskPayload = {
44
inputs: {
55
'import.cmsSpecific.wordpress.selection': {
6-
plugins: { name: string; version: string; enabled: boolean }[];
7-
themes: { name: string; version: string; active: boolean }[];
6+
plugins: { name: string; version: string; enabled?: boolean }[];
7+
themes: { name: string; version: string; active?: boolean }[];
88
wholeDatabase: boolean;
99
media: boolean;
1010
posts: boolean;

packages/manager/apps/web-hosting/src/pages/managedWordpress/ManagedWordpressResource/create/Create.page.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ export default function CreatePage() {
4444
const { refetch } = useManagedWordpressResourceDetails(serviceName);
4545
const { data: phpVersion } = useManagedCmsLatestPhpVersion();
4646
const { addError, addSuccess } = useNotifications();
47-
4847
const {
4948
control,
5049
handleSubmit,
@@ -55,7 +54,7 @@ export default function CreatePage() {
5554
adminPassword: '',
5655
cmsSpecific: {
5756
wordpress: {
58-
language: '',
57+
language: 'en_GB',
5958
},
6059
},
6160
phpVersion: '',
@@ -135,7 +134,7 @@ export default function CreatePage() {
135134
adminLogin,
136135
adminPassword,
137136
cmsSpecific: {
138-
wordpress: { language },
137+
wordpress: { language: language || 'en_GB' },
139138
},
140139
phpVersion,
141140
});
@@ -165,12 +164,13 @@ export default function CreatePage() {
165164
render={({ field }) => (
166165
<OdsFormField className="w-full mb-4">
167166
<label slot="label">
168-
{t('managedWordpress:web_hosting_managed_wordpress_create_webiste_language_admin')}*
167+
{t('managedWordpress:web_hosting_managed_wordpress_create_webiste_language_admin')}
169168
</label>
170169
<OdsSelect
171170
name={field.name}
172171
data-testid="input-language"
173172
value={field.value}
173+
defaultValue={'en_gb'}
174174
placeholder={t(
175175
'managedWordpress:web_hosting_managed_wordpress_create_webiste_select_language',
176176
)}

packages/manager/apps/web-hosting/src/pages/managedWordpress/ManagedWordpressResource/import/importForm/ImportForm.component.tsx

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -221,16 +221,8 @@ export default function ImportForm() {
221221
const inputs: PostImportTaskPayload = {
222222
inputs: {
223223
'import.cmsSpecific.wordpress.selection': {
224-
plugins: values.plugins
225-
.filter((plugin) => plugin.enabled)
226-
.map(({ name, version, enabled }) => ({
227-
name,
228-
version,
229-
enabled,
230-
})),
231-
themes: values.themes
232-
.filter((theme) => theme.active)
233-
.map(({ name, version, active }) => ({ name, version, active })),
224+
plugins: values.plugins,
225+
themes: values.themes,
234226
wholeDatabase: values.wholeDatabase,
235227
media: values.media,
236228
posts: values.posts,
@@ -241,7 +233,6 @@ export default function ImportForm() {
241233
},
242234
},
243235
};
244-
245236
return putManagedCmsResourceWebsiteTasks(serviceName, inputs, taskId);
246237
},
247238
onSuccess: () => {

packages/manager/apps/web-hosting/src/pages/managedWordpress/ManagedWordpressResource/import/importForm/ImportFormSteps/Step2.tsx

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,12 @@ type Step2Props = {
5050
export default function Step2({ t, step2Form, data, isValid, isSubmitting, onSubmit }: Step2Props) {
5151
const { control, watch } = step2Form;
5252
const wholeDatabase = watch('wholeDatabase');
53-
const watchedPlugins = step2Form.watch('plugins');
5453
const themes = watch('themes');
55-
const hasActivePlugin =
56-
watchedPlugins?.length > 0 ? watchedPlugins.some((plugin) => plugin.enabled) : true;
5754
const hasActiveTheme = themes?.length > 0 ? themes.some((t) => t.active) : true;
5855

5956
return (
60-
<form onSubmit={onSubmit}>
61-
<div className="flex flex-col">
57+
<form onSubmit={onSubmit} className="flex flex-col h-full">
58+
<div className="flex-grow">
6259
<OdsText preset={ODS_TEXT_PRESET.heading3} className="mb-4">
6360
{t('managedWordpress:web_hosting_managed_wordpress_import_select_element')}
6461
</OdsText>
@@ -411,12 +408,7 @@ export default function Step2({ t, step2Form, data, isValid, isSubmitting, onSub
411408
<ManagerButton
412409
type="submit"
413410
label={t('common:web_hosting_common_action_launch_import')}
414-
isDisabled={
415-
!isValid ||
416-
isSubmitting ||
417-
(watchedPlugins?.length > 0 && !hasActivePlugin) ||
418-
(themes?.length > 0 && !hasActiveTheme)
419-
}
411+
isDisabled={!isValid || isSubmitting || (themes?.length > 0 && !hasActiveTheme)}
420412
isLoading={isSubmitting}
421413
color={ODS_BUTTON_COLOR.primary}
422414
id="import-step2"

packages/manager/apps/web-hosting/src/pages/managedWordpress/ManagedWordpressResource/tasks/Tasks.page.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ export default function TasksPage() {
2929

3030
const { data, refetch, isFetching } = useManagedWordpressResourceTasks(serviceName);
3131
const formatDate = useFormatDate();
32-
const { data: websitesList } = useManagedWordpressWebsites();
32+
const { data: websitesList } = useManagedWordpressWebsites({
33+
disableRefetchInterval: true,
34+
});
3335
/* const navigate = useNavigate();
3436
const goToStep2 = useGenerateUrl(`../import`, 'path');
3537

packages/manager/apps/web-hosting/src/utils/formSchemas.utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export const zForm = (t: (key: string, params?: Record<string, unknown>) => stri
4545

4646
cmsSpecific: z.object({
4747
wordpress: z.object({
48-
language: z.string().min(1, t(`${NAMESPACES.FORM}:required_field`)),
48+
language: z.string(),
4949
}),
5050
}),
5151
phpVersion: z.string().min(1, t(`${NAMESPACES.FORM}:required_field`)),

0 commit comments

Comments
 (0)