Skip to content
Snippets Groups Projects
Unverified Commit 1dae9127 authored by Nemanja Glumac's avatar Nemanja Glumac Committed by GitHub
Browse files

Fix 19630 (#19655)

* Fix duplicate model tooltip

* Fix archive model title

* Fix edit model modal title

* Fix model verification title

* Fix add model to dashboard title

* Fix failing unit test

* Update model's archive message
parent 05438f7e
Branches
Tags
No related merge requests found
......@@ -12,17 +12,27 @@ ModerationActions.propTypes = {
className: PropTypes.string,
onVerify: PropTypes.func,
moderationReview: PropTypes.object,
isDataset: PropTypes.bool,
};
function ModerationActions({ moderationReview, className, onVerify }) {
function ModerationActions({
moderationReview,
className,
onVerify,
isDataset,
}) {
const isVerified = isItemVerified(moderationReview);
const hasActions = !!onVerify;
const buttonTitle = isDataset
? t`Verify this model`
: t`Verify this question`;
return hasActions ? (
<Container className={className}>
{!isVerified && (
<VerifyButton data-testid="moderation-verify-action" onClick={onVerify}>
{t`Verify this question`}
{buttonTitle}
</VerifyButton>
)}
</Container>
......
......@@ -57,6 +57,7 @@ function QuestionModerationSection({
<ModerationActions
moderationReview={latestModerationReview}
onVerify={isModerator && onVerify}
isDataset={question.isDataset()}
/>
{latestModerationReview && (
<ModerationReviewBanner
......
......@@ -53,7 +53,11 @@ export default class AddToDashSelectDashModal extends Component {
return (
<ModalContent
id="AddToDashSelectDashModal"
title={t`Add this question to a dashboard`}
title={
this.props.card.dataset
? t`Add this model to a dashboard`
: t`Add this question to a dashboard`
}
onClose={this.props.onClose}
>
<DashboardPicker onChange={this.onDashboardSelected} />
......
......@@ -26,6 +26,10 @@ QuestionActionButtons.propTypes = {
export default QuestionActionButtons;
function QuestionActionButtons({ canWrite, isDataset, onOpenModal }) {
const duplicateTooltip = isDataset
? t`Duplicate this model`
: t`Duplicate this question`;
return (
<Container data-testid="question-action-buttons">
{canWrite && (
......@@ -71,7 +75,7 @@ function QuestionActionButtons({ canWrite, isDataset, onOpenModal }) {
</Tooltip>
)}
{canWrite && (
<Tooltip tooltip={t`Duplicate this question`}>
<Tooltip tooltip={duplicateTooltip}>
<Button
onlyIcon
icon="segment"
......
......@@ -19,6 +19,8 @@ const propTypes = {
};
function EditQuestionInfoModal({ question, onClose, onSave }) {
const modalTitle = question.isDataset() ? t`Edit model` : t`Edit question`;
const onSubmit = useCallback(
async card => {
await onSave({ ...question.card(), ...card });
......@@ -31,7 +33,7 @@ function EditQuestionInfoModal({ question, onClose, onSave }) {
PLUGIN_CACHING.getQuestionsImplicitCacheTTL(question) > 0;
return (
<ModalContent title={t`Edit question`} onClose={onClose}>
<ModalContent title={modalTitle} onClose={onClose}>
<Form
initialValues={question.card()}
form={Questions.forms.edit}
......
......@@ -54,6 +54,7 @@ function setup({ cachingEnabled = true } = {}) {
database: () => ({
cache_ttl: null,
}),
isDataset: () => true,
};
renderWithProviders(
......
......@@ -17,17 +17,27 @@ const mapDispatchToProps = {
class ArchiveQuestionModal extends Component {
onArchive = () => {
const { question, archive, router } = this.props;
const card = question.card();
archive(card.id);
router.push(Urls.collection(card.collection));
};
render() {
const { onClose } = this.props;
const { onClose, question } = this.props;
const isModel = question.isDataset();
const title = isModel ? t`Archive this model?` : t`Archive this question?`;
const message = isModel
? t`This model will be removed from any dashboards or pulses using it.`
: t`This question will be removed from any dashboards or pulses using it.`;
return (
<ArchiveModal
title={t`Archive this question?`}
message={t`This question will be removed from any dashboards or pulses using it.`}
title={title}
message={message}
onArchive={this.onArchive}
onClose={onClose}
/>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment