Skip to content

Commit

Permalink
EPMRPP-87053 || resolve conflicts
Browse files Browse the repository at this point in the history
  • Loading branch information
BlazarQSO committed Oct 30, 2023
2 parents 25212a0 + 35c3aac commit bbfcca8
Show file tree
Hide file tree
Showing 14 changed files with 103 additions and 31 deletions.
5 changes: 2 additions & 3 deletions app/localization/translated/be.json
Original file line number Diff line number Diff line change
Expand Up @@ -541,7 +541,7 @@
"DefectTypesTab.defectShortNameHint": "Абрэвіятура Тыпу Дэфекту павінна мець памер ад '1' да '4' сімвалаў",
"DefectTypesTab.deleteModalContent": "Вы ўпэўненыя, што хочаце выдаліць тып дэфекту? Усе дэфекты, якія прызнаныя '<b>{name}</b>', будуць адзначаны як '<b>{parentName}</b>'.",
"DefectTypesTab.deleteModalHeader": "Выдаліць тып дэфекту",
"DefectTypesTab.description": "Тыпы Дэфектаў - гэта набор дэфектаў, якія найбольш верагодна з'явяцца падчас выканання тэстаў. Вы можаце выкарыстоўваць Тыпы Дэфектаў па змаўчанні, каб пазначыць элементы тэсту, або стварыць уласныя Тыпы Дэфектаў, каб было прасцей аналізаваць выкананне тэстаў.",
"DefectTypesTab.description": "Тыпы Дэфектаў - гэта набор дэфектаў, якія найбольш верагодна з'явяцца падчас выканання тэстаў. Вы можаце выкарыстоўваць Тыпы Дэфектаў па змаўчанні, каб пазначыць элементы тэсту, або стварыць уласныя Тыпы Дэфектаў, каб было прасцей аналізаваць выкананне тэстаў. Больш падрабязную інфармацыю аб Тыпах Дэфектаў вы можаце прачытаць у <a>Дакументацыі</a>.",
"DefectTypesTab.diagramCol": "Дыяграма",
"DefectTypesTab.informationMessage": "У вас засталося толькі {length} {slot} для стварэння тыпаў дэфектаў",
"DefectTypesTab.informationMessageMultiply": "слотаў",
Expand Down Expand Up @@ -1057,8 +1057,7 @@
"IntegrationsDescription.noGlobalIntegrationsDescription": "Інтэграцыі не настроены. Вы можаце ўручную наладзіць інтэграцыю для гэтага праекту.",
"IntegrationsDescription.noGlobalIntegrationsMessage": "Ніякіх Iнтэграцый",
"IntegrationsDescription.projectIntegrationCreate": "Стварыць інтэграцыю праекта",
"IntegrationsDescription.projectIntegrationDelete": "Выдаліць",
"IntegrationsDescription.projectIntegrationDeleteDescription": "Вы ўпэўненыя, што жадаеце выдаліць Інтэграцыю праекту",
"ConnectionSection.deleteIntegrationDescription": "Вы ўпэўненыя, што жадаеце выдаліць Інтэграцыю",
"IntegrationsDescription.projectIntegrationReset": "Скід да глабальных інтэграцый",
"IntegrationsDescription.projectIntegrationResetDescription": "Вы ўпэўненыя, што хочаце скінуць наладкі да Глабальных Інтэграцый? Усе вашыя прэктныя інтэграцыі будуць выдаленыя без магчымасці аднаўлення.",
"IntegrationsDescription.projectIntegrationText": "Інтэграцыі праекта ствараюцца для кожнага праекта",
Expand Down
5 changes: 2 additions & 3 deletions app/localization/translated/ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@
"DefectTypesTab.defectShortNameHint": "Аббревиатура Типа Дефекта должна иметь размер от '1' до '4' символов",
"DefectTypesTab.deleteModalContent": "Вы уверены, что хотите удалить тип дефекта? Все дефекты, которые признаны '<b>{name}</b>', будут отмечены как '<b>{parentName}</b>'.",
"DefectTypesTab.deleteModalHeader": "Удалить тип дефекта",
"DefectTypesTab.description": "Типы Дефектов — это набор дефектов, которые с наибольшей вероятностью могут появиться во время выполнения тестов. Вы можете использовать Типы Дефектов по умолчанию, чтобы пометить элементы теста, или создать свои собственные Типы Дефектов, чтобы упростить анализ выполнения тестов.",
"DefectTypesTab.description": "Типы Дефектов — это набор дефектов, которые с наибольшей вероятностью могут появиться во время выполнения тестов. Вы можете использовать Типы Дефектов по умолчанию, чтобы пометить элементы теста, или создать свои собственные Типы Дефектов, чтобы упростить анализ выполнения тестов. Более подробную информацию о Типах Дефектов вы можете прочитать в <a>Документации</a>.",
"DefectTypesTab.diagramCol": "Диаграмма",
"DefectTypesTab.informationMessage": "У вас осталось только {length} {slot} для создания типов дефектов",
"DefectTypesTab.informationMessageMultiply": "слотов",
Expand Down Expand Up @@ -1054,8 +1054,7 @@
"IntegrationsDescription.noGlobalIntegrationsDescription": "Интеграции не настроены. Вы можете вручную настроить интеграцию для этого проекта.",
"IntegrationsDescription.noGlobalIntegrationsMessage": "Нет Интеграций",
"IntegrationsDescription.projectIntegrationCreate": "Создать интеграцию проекта",
"IntegrationsDescription.projectIntegrationDelete": "Удалить",
"IntegrationsDescription.projectIntegrationDeleteDescription": "Вы уверены, что хотите удалить Интеграцию проекта",
"ConnectionSection.deleteIntegrationDescription": "Вы уверены, что хотите удалить Интеграцию",
"IntegrationsDescription.projectIntegrationReset": "Сброс к глобальным интеграциям",
"IntegrationsDescription.projectIntegrationResetDescription": "Вы уверены, что хотите сбросить настройки к Глобальным Интеграциям? Все ваши пректные интеграции будут удалены без возможности восстановления.",
"IntegrationsDescription.projectIntegrationText": "Интеграции проекта создаются для каждого проекта",
Expand Down
5 changes: 2 additions & 3 deletions app/localization/translated/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -539,7 +539,7 @@
"DefectTypesTab.defectShortNameHint": "Абревіатура Типу Дефекту повинна мати розмір від '1' до '4' символів",
"DefectTypesTab.deleteModalContent": "Вы уверены, что хотите удалить тип дефекта? Все дефекты, которые признаны '<b>{name}</b>', будут отмечены как '<b>{parentName}</b>'.",
"DefectTypesTab.deleteModalHeader": "Видалити дефекту тип",
"DefectTypesTab.description": "Типи Дефектів — це набір дефектів, які з найбільшою ймовірністю можуть з’явитися під час виконання тестів. Ви можете використовувати Типи Дефектів за замовчуванням, щоб позначити елементи тесту, або створити власні Типи Дефектів, щоб полегшити аналіз виконання тестів.",
"DefectTypesTab.description": "Типи Дефектів — це набір дефектів, які з найбільшою ймовірністю можуть з’явитися під час виконання тестів. Ви можете використовувати Типи Дефектів за замовчуванням, щоб позначити елементи тесту, або створити власні Типи Дефектів, щоб полегшити аналіз виконання тестів. Більш детальну інформацію про типи дефектів ви можете прочитати в <a>Документації</a>.",
"DefectTypesTab.diagramCol": "Діаграма",
"DefectTypesTab.informationMessage": "У вас залишилося лише {length} {slot} для створення типів дефектів",
"DefectTypesTab.informationMessageMultiply": "слотів",
Expand Down Expand Up @@ -1055,8 +1055,7 @@
"IntegrationsDescription.noGlobalIntegrationsDescription": "Інтеграції не налаштовані. Ви можете вручну настроїти інтеграцію для цього проекту.",
"IntegrationsDescription.noGlobalIntegrationsMessage": "Ніяких Iнтеграцій",
"IntegrationsDescription.projectIntegrationCreate": "Створити інтеграцію проекту",
"IntegrationsDescription.projectIntegrationDelete": "Вилучити",
"IntegrationsDescription.projectIntegrationDeleteDescription": "Ви впевнені, що хочете видалити Інтеграцію проекту",
"ConnectionSection.deleteIntegrationDescription": "Ви впевнені, що хочете видалити Інтеграцію",
"IntegrationsDescription.projectIntegrationReset": "Скидання до глобальних інтеграцій",
"IntegrationsDescription.projectIntegrationResetDescription": "Ви впевнені, що хочете скинути налаштування до Глобальних Інтеграцій? Всі ваші проектні інтеграції будуть видалені без можливості відновлення.",
"IntegrationsDescription.projectIntegrationText": "Інтеграції проекту створюються для кожного проекту",
Expand Down
5 changes: 2 additions & 3 deletions app/localization/translated/zh.json
Original file line number Diff line number Diff line change
Expand Up @@ -536,7 +536,7 @@
"DefectTypesTab.defectShortNameHint": "简称的长度应为1到4个字符",
"DefectTypesTab.deleteModalContent": "您确定要删除此缺陷类型吗?所有被标记为“<b>{name}</b>”的缺陷都将被替换为“<b>{parentName}</b>”。",
"DefectTypesTab.deleteModalHeader": "删除缺陷类型",
"DefectTypesTab.description": "缺陷类型是在测试执行期间最有可能出现的一组缺陷。您可以使用默认缺陷类型来标记您的测试项,或创建自己的缺陷类型以便更轻松地分析测试执行。",
"DefectTypesTab.description": "缺陷类型是在测试执行期间最有可能出现的一组缺陷。您可以使用默认缺陷类型来标记您的测试项,或创建自己的缺陷类型以便更轻松地分析测试执行。有关缺陷类型的更多信息,您可以<a>在文档中</a>阅读",
"DefectTypesTab.diagramCol": "图表",
"DefectTypesTab.informationMessage": "您只剩下{length}个{slot}可用于创建缺陷类型",
"DefectTypesTab.informationMessageMultiply": "可用缺陷类型",
Expand Down Expand Up @@ -1050,8 +1050,7 @@
"IntegrationsDescription.noGlobalIntegrationsDescription": "未配置任何集成。您可以手动为此项目设置集成。",
"IntegrationsDescription.noGlobalIntegrationsMessage": "无集成",
"IntegrationsDescription.projectIntegrationCreate": "创建项目集成",
"IntegrationsDescription.projectIntegrationDelete": "删除",
"IntegrationsDescription.projectIntegrationDeleteDescription": "您确定要删除项目集成吗",
"ConnectionSection.deleteIntegrationDescription": "您确定要删除项目集成吗",
"IntegrationsDescription.projectIntegrationReset": "重置为全局集成",
"IntegrationsDescription.projectIntegrationResetDescription": "您确定要重置为全球集成吗?您的所有项目集成都将被永久删除。",
"IntegrationsDescription.projectIntegrationText": "项目集成已基于项目创建",
Expand Down
1 change: 1 addition & 0 deletions app/src/common/utils/referenceDictionary.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,4 +47,5 @@ export const docsReferences = {
'https://reportportal.io/docs/reportportal-configuration/IntegrationViaPlugin',
authorizationWithUsersApiKeyForAgents:
'https://reportportal.io/docs/reportportal-configuration/HowToGetAnAccessTokenInReportPortal/#2-authorization-with-users-api-key-for-agents',
workWithReports: 'https://reportportal.io/docs/work-with-reports/InvestigationOfFailure',
};
5 changes: 5 additions & 0 deletions app/src/componentLibrary/fieldText/fieldText.scss
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,11 @@

input {
border: none;

&:disabled::placeholder,
&:disabled {
color: $COLOR--e-300;
}
}

&.input {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import PropTypes from 'prop-types';
import classNames from 'classnames/bind';
import { connect } from 'react-redux';
import { injectIntl, defineMessages } from 'react-intl';
import { COMMON_LOCALE_KEYS } from 'common/constants/localization';
import track from 'react-tracking';
import moment from 'moment';
import Parser from 'html-react-parser';
Expand Down Expand Up @@ -64,13 +65,9 @@ const messages = defineMessages({
id: 'ConnectionSection.warningMessageDescription',
defaultMessage: 'Global Integrations are inactive as you have configured Project Integration',
},
projectIntegrationDelete: {
id: 'IntegrationsDescription.projectIntegrationDelete',
defaultMessage: 'Delete',
},
projectIntegrationDeleteDescription: {
id: 'IntegrationsDescription.projectIntegrationDeleteDescription',
defaultMessage: 'Are you sure you want to delete Project Integration',
deleteIntegrationDescription: {
id: 'ConnectionSection.deleteIntegrationDescription',
defaultMessage: 'Are you sure you want to delete Integration',
},
});

Expand Down Expand Up @@ -140,8 +137,8 @@ export class ConnectionSection extends Component {
id: 'deleteProjectIntegrationModal',
data: {
onConfirm: this.props.onRemoveIntegration,
modalTitle: `${formatMessage(messages.projectIntegrationDelete)} ${data.name}`,
description: `${formatMessage(messages.projectIntegrationDeleteDescription)} ${data.name}?`,
modalTitle: `${formatMessage(COMMON_LOCALE_KEYS.DELETE)} ${data.name}`,
description: `${formatMessage(messages.deleteIntegrationDescription)} ${data.name}?`,
},
});
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ const NOTIFICATIONS = 'notifications';
const DEFECT_TYPES = 'defect_types';
const INTEGRATIONS = 'integrations';
const PATTERN_ANALYSIS = 'pattern_analysis';
const GENERAL = 'general';
const BASIC_EVENT_PARAMETERS = {
...getBasicClickEventParameters(PROJECT_SETTINGS),
element_name: 'button_submit',
Expand All @@ -47,6 +48,18 @@ const BASIC_EVENT_PARAMETERS_PATTERN_ANALYSIS = {
place: PATTERN_ANALYSIS,
};

const BASIC_EVENT_PARAMETERS_GENERAL = getBasicClickEventParameters(PROJECT_SETTINGS);

export const PROJECT_SETTINGS_GENERAL_TAB_EVENTS = {
CLICK_SUBMIT: (inactivityTimeout, type) => ({
...BASIC_EVENT_PARAMETERS_GENERAL,
place: GENERAL,
element_name: 'button_submit',
number: inactivityTimeout,
type,
}),
};

const getStatus = (status) => (status ? 'active' : 'disabled');
const getSwitcher = (switcher) => (switcher ? 'on' : 'off');

Expand Down Expand Up @@ -155,6 +168,10 @@ export const PROJECT_SETTINGS_DEFECT_TYPES_EVENTS = {
...BASIC_EVENT_PARAMETERS_DEFECT_TYPES,
icon_name: 'icon_create_defect',
},
CLICK_DOCUMENTATION_LINK: {
...BASIC_EVENT_PARAMETERS_DEFECT_TYPES,
link_name: 'documentation',
},
};

export const PROJECT_SETTINGS_INTEGRATION = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,6 @@ export const SETTINGS_PAGE_EVENTS = {
action: 'Edit input Keep screenshots on tab General',
label: period,
}),
GENERAL_SUBMIT: {
category: SETTINGS_PAGE,
action: 'Click on Btn Submit on tab General',
label: 'Submit changes on tab General',
},
NOTIFICATIONS_TAB: {
category: SETTINGS_PAGE,
action: 'Click on tab Notifications in Settings',
Expand Down
38 changes: 37 additions & 1 deletion app/src/pages/common/settingsPage/generalTab/generalTab.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ import { SpinningPreloader } from 'components/preloaders/spinningPreloader';
import { BubblesPreloader } from 'components/preloaders/bubblesPreloader';
import { Button } from 'componentLibrary/button';
import { Dropdown } from 'componentLibrary/dropdown';
import { PROJECT_SETTINGS_GENERAL_TAB_EVENTS } from 'analyticsEvents/projectSettingsPageEvents';
import styles from './generalTab.scss';
import { Messages } from './generalTabMessages';

Expand All @@ -52,6 +53,35 @@ const cx = classNames.bind(styles);
const hoursToSeconds = (hours) => moment.duration(hours, 'hours').asSeconds();
const daysToSeconds = (days) => moment.duration(days, 'days').asSeconds();
const selector = formValueSelector('generalForm');
const secondsToHours = (seconds) => moment.duration(seconds, 'seconds').asHours();
const hoursToDays = (hours) => moment.duration(hours, 'hours').asDays();

const getInactivityTimeoutAnalytics = (inactivityTimeoutSeconds) => {
const inactivityTimeoutHours = secondsToHours(inactivityTimeoutSeconds);
const inactivityTimeoutDays = hoursToDays(inactivityTimeoutHours);

const severalHours = inactivityTimeoutHours > 1;
const hoursValue = `${inactivityTimeoutHours}_${severalHours ? 'hours' : 'hour'}`;

const severalDays = inactivityTimeoutDays > 1;
const daysValue = `${inactivityTimeoutDays}_${severalDays ? 'days' : 'day'}`;

return inactivityTimeoutHours >= 24 ? daysValue : hoursValue;
};

const getAnalyticsData = (...periods) =>
periods
.map((periodInSeconds) => {
const isForever = periodInSeconds === 0;

if (isForever) {
return 'forever';
}
const days = hoursToDays(secondsToHours(periodInSeconds));

return days;
})
.join('#');

@reduxForm({
form: 'generalForm',
Expand Down Expand Up @@ -134,7 +164,13 @@ export class GeneralTab extends Component {

onFormSubmit = (formData) => {
this.setState({ processingData: true });
this.props.tracking.trackEvent(SETTINGS_PAGE_EVENTS.GENERAL_SUBMIT);

this.props.tracking.trackEvent(
PROJECT_SETTINGS_GENERAL_TAB_EVENTS.CLICK_SUBMIT(
getInactivityTimeoutAnalytics(formData.interruptJobTime),
getAnalyticsData(formData.keepLaunches, formData.keepLogs, formData.keepScreenshots),
),
);
const preparedData = normalizeAttributesWithPrefix(formData, JOB_ATTRIBUTE_PREFIX);
const data = {
configuration: {
Expand Down
Loading

0 comments on commit bbfcca8

Please sign in to comment.