晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/public_html/crm/layouts/v7/modules/Settings/Groups/resources/ |
Upload File : |
/*+***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*************************************************************************************/
Settings_Vtiger_Edit_Js("Settings_Groups_Edit_Js",{},{
registerCancel: function(){
jQuery('.cancelLink').click(function(){
window.history.back();
return false;
});
},
/**
* Function to Validate and Save Event
* @returns {undefined}
*/
registerValidation : function () {
var thisInstance = this;
var form = jQuery('#EditView');
var params = {
submitHandler : function(form) {
var form = jQuery(form);
jQuery('.saveButton').attr('disabled', true);
if(form.data('submit') === 'true' && form.data('performCheck') === 'true') {
return true;
} else {
if(this.numberOfInvalids() <= 0) {
var formData = form.serializeFormData();
var groupName = formData.groupname;
var specialChars = /[<\>\"\,]/;
if(specialChars.test(groupName)) {
var groupNameEle = jQuery('[name="groupname"]');
var errorMsg = app.vtranslate('JS_COMMA_NOT_ALLOWED_GROUP');
app.helper.showErrorNotification({message:errorMsg});
jQuery('.saveButton').removeAttr('disabled');
return false;
}
var groupName = formData.groupname;
if(groupName.indexOf(',') !== -1) {
var groupNameEle = jQuery('[name="groupname"]');
errorMsg = app.vtranslate('JS_COMMA_NOT_ALLOWED_GROUP');
app.helper.showErrorNotification({message:errorMsg});
jQuery('.saveButton').removeAttr('disabled');
return false;
}
thisInstance.checkDuplicateName({
'groupname' : formData.groupname,
'record' : formData.record
}).then(
function(data){
app.event.trigger('POST.GROUP.SAVE',formData);
form.data('submit', 'true');
form.data('performCheck', 'true');
form.submit();
},
function(data, err){
app.helper.showErrorNotification({message:app.vtranslate('JS_DUPLICATES_EXIST')});
jQuery('.saveButton').removeAttr('disabled');
return false;
}
);
}
}
}
};
form.vtValidate(params);
},
checkDuplicateName : function(details) {
var aDeferred = jQuery.Deferred();
var params = {
'module' : app.getModuleName(),
'parent' : app.getParentModuleName(),
'action' : 'EditAjax',
'mode' : 'checkDuplicate',
'groupname' : details.groupname,
'record' : details.record
};
app.request.post({'data' : params}).then(
function(err, data) {
if(err === null) {
var result = data['success'];
if(result === true) {
aDeferred.reject(data);
} else {
aDeferred.resolve(data);
}
}
});
return aDeferred.promise();
},
memberSelectElement : false,
getMemberSelectElement : function () {
if(this.memberSelectElement == false) {
this.memberSelectElement = jQuery('#memberList');
}
return this.memberSelectElement;
},
/**
* Function to register event for select2 element
*/
registerEventForSelect2Element : function(){
var editViewForm = this.getForm();
var selectElement = this.getMemberSelectElement();
selectElement.addClass('select2');
var params = {};
params.formatSelection = function(object,container){
var selectedId = object.id;
var selectedOptionTag = editViewForm.find('option[value="'+selectedId+'"]');
var selectedMemberType = selectedOptionTag.data('memberType');
container.prevObject.addClass(selectedMemberType);
var element = '<div>'+selectedOptionTag.text()+'</div>';
return element;
};
selectElement.select2('destroy');
this.changeSelectElementView(selectElement, 'select2',params);
},
changeSelectElementView : function(parent, view, viewParams){
if(typeof parent == 'undefined') {
parent = jQuery('body');
}
//If view is select2, This will convert the ui of select boxes to select2 elements.
if(view == 'select2') {
vtUtils.showSelect2ElementView(parent, viewParams);
return;
}
},
registerEvents : function() {
this._super();
this.registerCancel();
this.registerEventForSelect2Element();
this.registerValidation();
}
});