Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@ type UseManagedWordpressWebsitesParams = Omit<
> & {
defaultFQDN?: string;
shouldFetchAll?: boolean;
disableRefetchInterval?: boolean;
};

export const useManagedWordpressWebsites = (props: UseManagedWordpressWebsitesParams = {}) => {
const { defaultFQDN, shouldFetchAll, ...options } = props;
const { defaultFQDN, shouldFetchAll, disableRefetchInterval, ...options } = props;
const [allPages, setAllPages] = useState(!!shouldFetchAll);
const { serviceName } = useParams();
const searchParams = buildURLSearchParams({
Expand All @@ -54,7 +55,7 @@ export const useManagedWordpressWebsites = (props: UseManagedWordpressWebsitesPa
: typeof props.enabled !== 'boolean' || props.enabled,
getNextPageParam: (lastPage) => lastPage.cursorNext,
select: (data) => data?.pages.flatMap((page: WebsitesResponse) => page.data) ?? [],
refetchInterval: DATAGRID_REFRESH_INTERVAL,
refetchInterval: disableRefetchInterval ? false : DATAGRID_REFRESH_INTERVAL,
refetchOnMount: DATAGRID_REFRESH_ON_MOUNT,
});
const fetchAllPages = useCallback(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { Status } from '../ssl';
export type PostImportTaskPayload = {
inputs: {
'import.cmsSpecific.wordpress.selection': {
plugins: { name: string; version: string; enabled: boolean }[];
themes: { name: string; version: string; active: boolean }[];
plugins: { name: string; version: string; enabled?: boolean }[];
themes: { name: string; version: string; active?: boolean }[];
wholeDatabase: boolean;
media: boolean;
posts: boolean;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ export default function CreatePage() {
const { refetch } = useManagedWordpressResourceDetails(serviceName);
const { data: phpVersion } = useManagedCmsLatestPhpVersion();
const { addError, addSuccess } = useNotifications();

const {
control,
handleSubmit,
Expand All @@ -55,7 +54,7 @@ export default function CreatePage() {
adminPassword: '',
cmsSpecific: {
wordpress: {
language: '',
language: 'en_GB',
},
},
phpVersion: '',
Expand Down Expand Up @@ -135,7 +134,7 @@ export default function CreatePage() {
adminLogin,
adminPassword,
cmsSpecific: {
wordpress: { language },
wordpress: { language: language || 'en_GB' },
},
phpVersion,
});
Expand Down Expand Up @@ -165,12 +164,13 @@ export default function CreatePage() {
render={({ field }) => (
<OdsFormField className="w-full mb-4">
<label slot="label">
{t('managedWordpress:web_hosting_managed_wordpress_create_webiste_language_admin')}*
{t('managedWordpress:web_hosting_managed_wordpress_create_webiste_language_admin')}
</label>
<OdsSelect
name={field.name}
data-testid="input-language"
value={field.value}
defaultValue={'en_gb'}
placeholder={t(
'managedWordpress:web_hosting_managed_wordpress_create_webiste_select_language',
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,16 +221,8 @@ export default function ImportForm() {
const inputs: PostImportTaskPayload = {
inputs: {
'import.cmsSpecific.wordpress.selection': {
plugins: values.plugins
.filter((plugin) => plugin.enabled)
.map(({ name, version, enabled }) => ({
name,
version,
enabled,
})),
themes: values.themes
.filter((theme) => theme.active)
.map(({ name, version, active }) => ({ name, version, active })),
plugins: values.plugins,
themes: values.themes,
wholeDatabase: values.wholeDatabase,
media: values.media,
posts: values.posts,
Expand All @@ -241,7 +233,6 @@ export default function ImportForm() {
},
},
};

return putManagedCmsResourceWebsiteTasks(serviceName, inputs, taskId);
},
onSuccess: () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,12 @@ type Step2Props = {
export default function Step2({ t, step2Form, data, isValid, isSubmitting, onSubmit }: Step2Props) {
const { control, watch } = step2Form;
const wholeDatabase = watch('wholeDatabase');
const watchedPlugins = step2Form.watch('plugins');
const themes = watch('themes');
const hasActivePlugin =
watchedPlugins?.length > 0 ? watchedPlugins.some((plugin) => plugin.enabled) : true;
const hasActiveTheme = themes?.length > 0 ? themes.some((t) => t.active) : true;

return (
<form onSubmit={onSubmit}>
<div className="flex flex-col">
<form onSubmit={onSubmit} className="flex flex-col h-full">
<div className="flex-grow">
<OdsText preset={ODS_TEXT_PRESET.heading3} className="mb-4">
{t('managedWordpress:web_hosting_managed_wordpress_import_select_element')}
</OdsText>
Expand Down Expand Up @@ -411,12 +408,7 @@ export default function Step2({ t, step2Form, data, isValid, isSubmitting, onSub
<ManagerButton
type="submit"
label={t('common:web_hosting_common_action_launch_import')}
isDisabled={
!isValid ||
isSubmitting ||
(watchedPlugins?.length > 0 && !hasActivePlugin) ||
(themes?.length > 0 && !hasActiveTheme)
}
isDisabled={!isValid || isSubmitting || (themes?.length > 0 && !hasActiveTheme)}
isLoading={isSubmitting}
color={ODS_BUTTON_COLOR.primary}
id="import-step2"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ export default function TasksPage() {

const { data, refetch, isFetching } = useManagedWordpressResourceTasks(serviceName);
const formatDate = useFormatDate();
const { data: websitesList } = useManagedWordpressWebsites();
const { data: websitesList } = useManagedWordpressWebsites({
disableRefetchInterval: true,
});
/* const navigate = useNavigate();
const goToStep2 = useGenerateUrl(`../import`, 'path');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ export const zForm = (t: (key: string, params?: Record<string, unknown>) => stri

cmsSpecific: z.object({
wordpress: z.object({
language: z.string().min(1, t(`${NAMESPACES.FORM}:required_field`)),
language: z.string(),
}),
}),
phpVersion: z.string().min(1, t(`${NAMESPACES.FORM}:required_field`)),
Expand Down
Loading