Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2420746f1b | |||
| 2dfd00dd2e | |||
| e043bb48e9 | |||
| 9aaef9d957 | |||
| 87449aae67 | |||
| 191d064fe1 | |||
| dcb3e2feaf | |||
| da9a423e59 | |||
| 3be4510e63 | |||
| a6bb5a239b | |||
| a5fb42609b | |||
| 40c2c1718e | |||
| aeecfd63da | |||
| 1da1e6da9b | |||
| bf9f23ebdd | |||
| 7beb4f8d83 | |||
| 991b859643 | |||
| 9bd74e08db | |||
| cfdf65025d | |||
| bf471e654c | |||
| 5feee1cf55 | |||
| 6af6fc017b | |||
| 8ee9a792fc | |||
| 9ef1c5928f |
@@ -34,6 +34,7 @@ use Espo\Core\Exceptions\HasBody;
|
||||
use Espo\Core\{
|
||||
Api\Request,
|
||||
Api\Response,
|
||||
Exceptions\HasLogMessage,
|
||||
Utils\Log,
|
||||
Utils\Config,
|
||||
};
|
||||
@@ -121,14 +122,16 @@ class ErrorOutput
|
||||
$message = $exception->getMessage();
|
||||
$statusCode = $exception->getCode();
|
||||
|
||||
if ($exception instanceof HasLogMessage) {
|
||||
$message = $exception->getLogMessage();
|
||||
}
|
||||
|
||||
if ($route) {
|
||||
$this->processRoute($route, $request, $exception);
|
||||
}
|
||||
|
||||
$logLevel = 'error';
|
||||
|
||||
$messageLineFile = null;
|
||||
|
||||
$messageLineFile =
|
||||
'line: ' . $exception->getLine() . ', ' .
|
||||
'file: ' . $exception->getFile();
|
||||
@@ -176,10 +179,10 @@ class ErrorOutput
|
||||
}
|
||||
|
||||
if ($toPrintBody) {
|
||||
$codeDesription = $this->getCodeDescription($statusCode);
|
||||
$codeDescription = $this->getCodeDescription($statusCode);
|
||||
|
||||
$statusText = isset($codeDesription) ?
|
||||
$statusCode . ' '. $codeDesription :
|
||||
$statusText = isset($codeDescription) ?
|
||||
$statusCode . ' '. $codeDescription :
|
||||
'HTTP ' . $statusCode;
|
||||
|
||||
if ($message) {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/************************************************************************
|
||||
* This file is part of EspoCRM.
|
||||
*
|
||||
* EspoCRM - Open Source CRM application.
|
||||
* Copyright (C) 2014-2022 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
|
||||
* Website: https://www.espocrm.com
|
||||
*
|
||||
* EspoCRM is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* EspoCRM is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
namespace Espo\Core\Exceptions;
|
||||
|
||||
interface HasLogMessage
|
||||
{
|
||||
public function getLogMessage(): string;
|
||||
}
|
||||
@@ -32,10 +32,11 @@ namespace Espo\Core\FieldValidation\Exceptions;
|
||||
use Espo\Core\Exceptions\BadRequest;
|
||||
use Espo\Core\Exceptions\Error\Body;
|
||||
|
||||
use Espo\Core\Exceptions\HasLogMessage;
|
||||
use Espo\Core\FieldValidation\Failure;
|
||||
use LogicException;
|
||||
|
||||
class ValidationError extends BadRequest
|
||||
class ValidationError extends BadRequest implements HasLogMessage
|
||||
{
|
||||
private ?Failure $failure = null;
|
||||
|
||||
@@ -75,4 +76,18 @@ class ValidationError extends BadRequest
|
||||
|
||||
return $this->failure;
|
||||
}
|
||||
|
||||
public function getLogMessage(): string
|
||||
{
|
||||
if (!$this->failure) {
|
||||
return "Field validation failure.";
|
||||
}
|
||||
|
||||
$entityType = $this->failure->getEntityType();
|
||||
$field = $this->failure->getField();
|
||||
$type = $this->failure->getType();
|
||||
|
||||
return "Field validation failure; " .
|
||||
"entityType: {$entityType}, field: {$field}, type: {$type}.";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
"scope": "Opportunity",
|
||||
"field": "leadSource"
|
||||
},
|
||||
"Account.options.industry": {
|
||||
"scope": "Lead",
|
||||
"field": "industry"
|
||||
},
|
||||
"Meeting": {
|
||||
"scope": "Call"
|
||||
}
|
||||
|
||||
@@ -3,6 +3,10 @@
|
||||
"entityDefs.Lead.fields.source.options": {
|
||||
"scope": "Opportunity",
|
||||
"field": "leadSource"
|
||||
},
|
||||
"entityDefs.Account.fields.industry.options": {
|
||||
"scope": "Lead",
|
||||
"field": "industry"
|
||||
}
|
||||
},
|
||||
"frontendHiddenPathList": [
|
||||
|
||||
@@ -66,6 +66,8 @@
|
||||
"type": "enum",
|
||||
"view": "crm:views/lead/fields/industry",
|
||||
"customizationOptionsDisabled": true,
|
||||
"optionsPath": "entityDefs.Account.fields.industry.options",
|
||||
"translation": "Account.options.industry",
|
||||
"default": "",
|
||||
"isSorted": true
|
||||
},
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"name": {
|
||||
"type": "varchar",
|
||||
"required": true,
|
||||
"trim": true
|
||||
"trim": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"subject": {
|
||||
"type": "varchar",
|
||||
@@ -19,7 +20,8 @@
|
||||
"notStorable": true,
|
||||
"textFilterDisabled": true,
|
||||
"layoutFiltersDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"fromAddress": {
|
||||
"type": "varchar",
|
||||
@@ -27,15 +29,18 @@
|
||||
"notStorable": true,
|
||||
"textFilterDisabled": true,
|
||||
"layoutFiltersDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"fromString": {
|
||||
"type": "varchar",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"replyToString": {
|
||||
"type": "varchar",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"replyToName": {
|
||||
"type": "varchar",
|
||||
@@ -43,7 +48,8 @@
|
||||
"notStorable": true,
|
||||
"textFilterDisabled": true,
|
||||
"layoutFiltersDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"replyToAddress": {
|
||||
"type": "varchar",
|
||||
@@ -51,7 +57,8 @@
|
||||
"notStorable": true,
|
||||
"textFilterDisabled": true,
|
||||
"layoutFiltersDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"addressNameMap": {
|
||||
"type": "jsonObject",
|
||||
@@ -65,7 +72,8 @@
|
||||
"required": true,
|
||||
"view": "views/email/fields/from-address-varchar",
|
||||
"textFilterDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"to": {
|
||||
"type": "varchar",
|
||||
@@ -74,28 +82,32 @@
|
||||
"view": "views/email/fields/email-address-varchar",
|
||||
"textFilterDisabled": true,
|
||||
"validatorClassName": "Espo\\Classes\\FieldValidators\\Email\\EmailAddresses",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"cc": {
|
||||
"type": "varchar",
|
||||
"notStorable": true,
|
||||
"view": "views/email/fields/email-address-varchar",
|
||||
"customizationDisabled": true,
|
||||
"textFilterDisabled": true
|
||||
"textFilterDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"bcc": {
|
||||
"type": "varchar",
|
||||
"notStorable": true,
|
||||
"view": "views/email/fields/email-address-varchar",
|
||||
"customizationDisabled": true,
|
||||
"textFilterDisabled": true
|
||||
"textFilterDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"replyTo": {
|
||||
"type": "varchar",
|
||||
"notStorable": true,
|
||||
"view": "views/email/fields/email-address-varchar",
|
||||
"textFilterDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"personStringData": {
|
||||
"type": "varchar",
|
||||
@@ -151,7 +163,8 @@
|
||||
"notStorable": true,
|
||||
"default": null,
|
||||
"textFilterDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"isUsers": {
|
||||
"type": "bool",
|
||||
@@ -200,44 +213,52 @@
|
||||
"maxLength": 300,
|
||||
"readOnly": true,
|
||||
"textFilterDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"emailAddress": {
|
||||
"type": "base",
|
||||
"notStorable": true,
|
||||
"view": "views/email/fields/email-address",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"fromEmailAddress": {
|
||||
"type": "link",
|
||||
"view": "views/email/fields/from-email-address",
|
||||
"textFilterDisabled": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"toEmailAddresses": {
|
||||
"type": "linkMultiple",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"ccEmailAddresses": {
|
||||
"type": "linkMultiple",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"replyToEmailAddresses": {
|
||||
"type": "linkMultiple",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"bodyPlain": {
|
||||
"type": "text",
|
||||
"seeMoreDisabled": true,
|
||||
"clientReadOnly": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"body": {
|
||||
"type": "wysiwyg",
|
||||
"view": "views/email/fields/body",
|
||||
"attachmentField": "attachments",
|
||||
"useIframe": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"isHtml": {
|
||||
"type": "bool",
|
||||
@@ -262,12 +283,14 @@
|
||||
},
|
||||
"attachments": {
|
||||
"type": "attachmentMultiple",
|
||||
"sourceList": ["Document"]
|
||||
"sourceList": ["Document"],
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"hasAttachment": {
|
||||
"type": "bool",
|
||||
"readOnly": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"parent": {
|
||||
"type": "linkParent",
|
||||
@@ -280,7 +303,8 @@
|
||||
},
|
||||
"dateSent": {
|
||||
"type": "datetime",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"deliveryDate": {
|
||||
"type": "datetime",
|
||||
@@ -412,33 +436,38 @@
|
||||
"layoutListDisabled": true,
|
||||
"layoutMassUpdateDisabled": true,
|
||||
"dbType": "text",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"icsEventData": {
|
||||
"type": "jsonObject",
|
||||
"readOnly": true,
|
||||
"directAccessDisabled": true,
|
||||
"notStorable": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"icsEventUid": {
|
||||
"type": "varchar",
|
||||
"maxLength": 255,
|
||||
"index": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"icsEventDateStart": {
|
||||
"type": "datetimeOptional",
|
||||
"readOnly": true,
|
||||
"notStorable": true,
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"createEvent": {
|
||||
"type": "base",
|
||||
"disabled": true,
|
||||
"notStorable": true,
|
||||
"view": "views/email/fields/create-event",
|
||||
"customizationDisabled": true
|
||||
"customizationDisabled": true,
|
||||
"layoutAvailabilityList": []
|
||||
},
|
||||
"createdEvent": {
|
||||
"type": "linkParent",
|
||||
@@ -446,7 +475,8 @@
|
||||
"view": "views/email/fields/created-event",
|
||||
"fieldManagerParamList": [
|
||||
"tooltipText"
|
||||
]
|
||||
],
|
||||
"layoutAvailabilityList": []
|
||||
}
|
||||
},
|
||||
"links": {
|
||||
@@ -551,7 +581,8 @@
|
||||
"type": "varchar",
|
||||
"len": "4"
|
||||
}
|
||||
}
|
||||
},
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"bccEmailAddresses": {
|
||||
"type": "hasMany",
|
||||
@@ -565,7 +596,8 @@
|
||||
"type": "varchar",
|
||||
"len": "4"
|
||||
}
|
||||
}
|
||||
},
|
||||
"layoutDefaultSidePanelDisabled": true
|
||||
},
|
||||
"replyToEmailAddresses": {
|
||||
"type": "hasMany",
|
||||
|
||||
@@ -44,7 +44,6 @@
|
||||
"monitoredFolders": {
|
||||
"type": "array",
|
||||
"default": ["INBOX"],
|
||||
"options": ["INBOX"],
|
||||
"view": "views/email-account/fields/folders",
|
||||
"displayAsList": true,
|
||||
"noEmptyString": true,
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
"monitoredFolders": {
|
||||
"type": "array",
|
||||
"default": ["INBOX"],
|
||||
"options": ["INBOX"],
|
||||
"view": "views/inbound-email/fields/folders",
|
||||
"displayAsList": true,
|
||||
"noEmptyString": true,
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"chartColorAlternativeList": ["#7492cc", "#c29c4a", "#a1404a", "#6a5f96", "#b07e53"],
|
||||
"calendarColors": {
|
||||
"": "#a58dc7a0",
|
||||
"Meeting": "#6680b3",
|
||||
"Meeting": "#697da5",
|
||||
"Call": "#a1404a",
|
||||
"Task": "#5d8a55"
|
||||
},
|
||||
|
||||
@@ -730,6 +730,12 @@ class LeadCapture
|
||||
$lead->set('campaignId', $leadCapture->getCampaignId());
|
||||
}
|
||||
|
||||
$teamId = $leadCapture->getTargetTeamId();
|
||||
|
||||
if ($teamId) {
|
||||
$lead->addLinkMultipleId('teams', $teamId);
|
||||
}
|
||||
|
||||
// Skipping the 'required' validation.
|
||||
$validationParams = FieldValidationParams::create()->withTypeSkipFieldList('required', $fieldList);
|
||||
|
||||
|
||||
@@ -591,6 +591,7 @@ define('crm:views/calendar/calendar', ['view', 'lib!full-calendar'], function (D
|
||||
timezone: this.getDateTime().timeZone,
|
||||
longPressDelay: 300,
|
||||
eventColor: this.colors[''],
|
||||
nowIndicator: true,
|
||||
windowResize: () => {
|
||||
this.adjustSize();
|
||||
},
|
||||
|
||||
@@ -56,19 +56,24 @@ define('crm:views/campaign/record/detail-bottom', 'views/record/detail-bottom',
|
||||
index: -1,
|
||||
});
|
||||
|
||||
this.listenTo(this.model, 'change', function () {
|
||||
this.listenTo(this.model, 'change', () => {
|
||||
this.manageMassEmails();
|
||||
}, this);
|
||||
});
|
||||
},
|
||||
|
||||
afterRender: function () {
|
||||
Dep.prototype.setupPanels.call(this);
|
||||
Dep.prototype.afterRender.call(this);
|
||||
|
||||
this.manageMassEmails();
|
||||
},
|
||||
|
||||
manageMassEmails: function () {
|
||||
var parentView = this.getParentView();
|
||||
if (!parentView) return;
|
||||
|
||||
if (!parentView) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (~['Email', 'Newsletter'].indexOf(this.model.get('type'))) {
|
||||
parentView.showPanel('massEmails');
|
||||
parentView.showPanel('trackingUrls');
|
||||
|
||||
@@ -26,17 +26,7 @@
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
Espo.define('crm:views/lead/fields/industry', 'views/fields/enum', function (Dep) {
|
||||
|
||||
return Dep.extend({
|
||||
|
||||
setup: function () {
|
||||
this.params.options = this.getMetadata().get('entityDefs.Account.fields.industry.options');
|
||||
this.params.translation = 'Account.options.industry';
|
||||
|
||||
Dep.prototype.setup.call(this);
|
||||
}
|
||||
|
||||
});
|
||||
define('crm:views/lead/fields/industry', ['views/fields/enum'], function (Dep) {
|
||||
|
||||
return Dep.extend({});
|
||||
});
|
||||
|
||||
@@ -26,14 +26,18 @@
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
define('views/email-account/fields/folders', 'views/fields/array', function (Dep) {
|
||||
define('views/email-account/fields/folders', ['views/fields/array'], function (Dep) {
|
||||
|
||||
return Dep.extend({
|
||||
|
||||
getFoldersUrl: 'EmailAccount/action/getFolders',
|
||||
|
||||
setupOptions: function () {
|
||||
this.params.options = ['INBOX'];
|
||||
},
|
||||
|
||||
fetchFolders: function () {
|
||||
return new Promise(function (resolve) {
|
||||
return new Promise(resolve => {
|
||||
var data = {
|
||||
host: this.model.get('host'),
|
||||
port: this.model.get('port'),
|
||||
@@ -52,54 +56,45 @@ define('views/email-account/fields/folders', 'views/fields/array', function (Dep
|
||||
}
|
||||
|
||||
Espo.Ajax.postRequest(this.getFoldersUrl, data)
|
||||
.then(
|
||||
function (folders) {
|
||||
resolve(folders);
|
||||
}.bind(this)
|
||||
)
|
||||
.fail(
|
||||
function (xhr) {
|
||||
Espo.Ui.error(this.translate('couldNotConnectToImap', 'messages', 'EmailAccount'));
|
||||
.then(folders => {
|
||||
resolve(folders);
|
||||
})
|
||||
.catch(xhr =>{
|
||||
Espo.Ui.error(this.translate('couldNotConnectToImap', 'messages', 'EmailAccount'));
|
||||
|
||||
xhr.errorIsHandled = true;
|
||||
xhr.errorIsHandled = true;
|
||||
|
||||
resolve(["INBOX"]);
|
||||
}.bind(this)
|
||||
);
|
||||
}.bind(this));
|
||||
resolve(["INBOX"]);
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
actionAddItem: function () {
|
||||
Espo.Ui.notify(this.translate('loading', 'messages'));
|
||||
|
||||
this.fetchFolders()
|
||||
.then(
|
||||
function (options) {
|
||||
Espo.Ui.notify(false);
|
||||
.then(options => {
|
||||
Espo.Ui.notify(false);
|
||||
|
||||
this.createView( 'addModal', this.addItemModalView, {options: options})
|
||||
.then(
|
||||
function (view) {
|
||||
view.render();
|
||||
this.createView( 'addModal', this.addItemModalView, {options: options})
|
||||
.then(view => {
|
||||
view.render();
|
||||
|
||||
view.once('add', function (item) {
|
||||
this.addValue(item);
|
||||
view.once('add', item =>{
|
||||
this.addValue(item);
|
||||
|
||||
view.close();
|
||||
}.bind(this));
|
||||
view.close();
|
||||
});
|
||||
|
||||
view.once('add-mass', function (items) {
|
||||
items.forEach(function (item) {
|
||||
this.addValue(item);
|
||||
}.bind(this));
|
||||
|
||||
view.close();
|
||||
}.bind(this));
|
||||
}.bind(this)
|
||||
);
|
||||
}.bind(this)
|
||||
);
|
||||
view.once('add-mass', items => {
|
||||
items.forEach(item => {
|
||||
this.addValue(item);
|
||||
});
|
||||
|
||||
view.close();
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
@@ -76,7 +76,7 @@ define('views/stream/panel', ['views/record/panels/relationship', 'lib!Textcompl
|
||||
}
|
||||
}*/
|
||||
},
|
||||
'keyup textarea[data-name="post"]': function () {
|
||||
'input textarea[data-name="post"]': function () {
|
||||
this.controlPreviewButton();
|
||||
this.controlPostButtonAvailability(this.$textarea.val());
|
||||
},
|
||||
|
||||
@@ -967,6 +967,10 @@ input.global-search-input {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
> .list-group-item.ui-sortable-handle {
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -95,6 +95,48 @@
|
||||
}
|
||||
}
|
||||
|
||||
.fc.fc-unthemed {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fc-unthemed .fc-time-grid .fc-slats .fc-minor td {
|
||||
//border-top-style: dashed;
|
||||
border-top-style: none;
|
||||
}
|
||||
|
||||
body .fc-now-indicator-arrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
body .fc-now-indicator {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
body .fc-content-col > .fc-now-indicator-line {
|
||||
height: 1px;
|
||||
border-top: 1px solid var(--brand-danger);
|
||||
border-bottom-width: 0;
|
||||
background-color: var(--brand-danger);
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: inherit;
|
||||
left: -4px;
|
||||
border-radius: 50%;
|
||||
height: 8px;
|
||||
width: 8px;
|
||||
background-color: var(--brand-danger);
|
||||
display: inline-block;
|
||||
top: -4px;
|
||||
opacity: 0.9;
|
||||
}
|
||||
}
|
||||
|
||||
.fc-today.fc-day-header > span,
|
||||
.fc-today > .fc-day-number {
|
||||
color: var(--state-warning-text);
|
||||
}
|
||||
|
||||
.dashlet-body {
|
||||
.fc-basicWeek-view td.fc-widget-content,
|
||||
.fc-month-view .fc-body > tr > td.fc-widget-content {
|
||||
|
||||
@@ -68,7 +68,8 @@
|
||||
}
|
||||
|
||||
.vis-current-time {
|
||||
background-color: var(--brand-danger-lighten-20) !important;
|
||||
background-color: var(--brand-danger) !important;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.calendar-container .timeline .vis-item,
|
||||
|
||||
Generated
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "espocrm",
|
||||
"version": "7.2.3",
|
||||
"version": "7.2.4",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "espocrm",
|
||||
"version": "7.2.3",
|
||||
"version": "7.2.4",
|
||||
"description": "Open-source CRM.",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
||||
Reference in New Issue
Block a user