mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-28 00:09:29 +00:00
Add datepicker for contact birthday
This commit is contained in:
@@ -36,10 +36,9 @@ function unescapeCallbackParameter(s) {
|
||||
return s;
|
||||
}
|
||||
|
||||
function copyContact(type, email, uid, sn,
|
||||
displayname, givenname, telephonenumber, facsimiletelephonenumber,
|
||||
mobile, postalAddress, homePostalAddress,
|
||||
departmentnumber, l)
|
||||
function copyContact(type, email, uid, sn, displayname,
|
||||
givenname, telephonenumber, facsimiletelephonenumber,
|
||||
mobile, postalAddress, homePostalAddress, departmentnumber, l)
|
||||
{
|
||||
// var type = arguments[0];
|
||||
// var email = arguments[1];
|
||||
@@ -79,55 +78,39 @@ function copyContact(type, email, uid, sn,
|
||||
};
|
||||
|
||||
function validateContactEditor() {
|
||||
var rc = true;
|
||||
var rc = true;
|
||||
|
||||
var e = $('mail');
|
||||
if (e.value.length > 0
|
||||
&& !emailRE.test(e.value)) {
|
||||
alert(_("invalidemailwarn"));
|
||||
rc = false;
|
||||
}
|
||||
var e = $('mail');
|
||||
if (e.value.length > 0
|
||||
&& !emailRE.test(e.value)) {
|
||||
alert(_("invalidemailwarn"));
|
||||
rc = false;
|
||||
}
|
||||
|
||||
e = $('mozillasecondemail');
|
||||
if (e.value.length > 0
|
||||
&& !emailRE.test(e.value)) {
|
||||
alert(_("invalidemailwarn"));
|
||||
rc = false;
|
||||
}
|
||||
|
||||
var today = new Date();
|
||||
var yyyy = today.getFullYear();
|
||||
var mm = today.getMonth();
|
||||
var dd = today.getDay();
|
||||
|
||||
var byear = $('birthyear');
|
||||
var bmonth = $('birthmonth');
|
||||
var bday = $('birthday');
|
||||
|
||||
if(byear.value <= yyyy && (byear.value.length == 4)){
|
||||
if(bmonth.value <= mm && bmonth.value <= 12 && bmonth.value >=1){
|
||||
if(bday.value <= dd && bday.value <= 31 && bday.value >=1){
|
||||
var bdayValue = byear.value + "-" + bmonth.value + "-" + bday.value;
|
||||
if (bdayValue != "--" && !dateRegex.test(bdayValue)) {
|
||||
alert(_("invaliddatewarn"));
|
||||
rc = false;
|
||||
}
|
||||
}
|
||||
else{
|
||||
alert(_("invaliddatewarn"));
|
||||
rc = false;}
|
||||
}
|
||||
else{
|
||||
alert(_("invalidmonthwarn"));
|
||||
rc = false;}
|
||||
}
|
||||
else{
|
||||
alert(_("invalidyearwarn"));
|
||||
rc = false;}
|
||||
|
||||
return rc;
|
||||
e = $('mozillasecondemail');
|
||||
if (e.value.length > 0
|
||||
&& !emailRE.test(e.value)) {
|
||||
alert(_("invalidemailwarn"));
|
||||
rc = false;
|
||||
}
|
||||
return rc
|
||||
}
|
||||
|
||||
this.initTimeWidgets = function (widgets) {
|
||||
this.timeWidgets = widgets;
|
||||
var firstDay = new Date();
|
||||
firstDay.setFullYear(1900,0,1);
|
||||
var lastDay = new Date();
|
||||
|
||||
jQuery(widgets['birthday']['date']).closest('.date').datepicker({autoclose: true,
|
||||
weekStart: 0,
|
||||
endDate: lastDay,
|
||||
startDate: firstDay,
|
||||
setStartDate: lastDay,
|
||||
startView: 2,
|
||||
position: "below-shifted-left"});
|
||||
};
|
||||
|
||||
function onDisplaynameKeyDown() {
|
||||
var fn = $("displayname");
|
||||
fn.onkeydown = null;
|
||||
@@ -286,39 +269,43 @@ function onEmptyCategoryClick(event) {
|
||||
}
|
||||
|
||||
function initEditorForm() {
|
||||
var tabsContainer = $("editorTabs");
|
||||
var controller = new SOGoTabsController();
|
||||
controller.attachToTabsContainer(tabsContainer);
|
||||
var tabsContainer = $("editorTabs");
|
||||
var controller = new SOGoTabsController();
|
||||
controller.attachToTabsContainer(tabsContainer);
|
||||
|
||||
displaynameChanged = ($("displayname").value.length > 0);
|
||||
$("displayname").onkeydown = onDisplaynameKeyDown;
|
||||
$("sn").onkeyup = onDisplaynameNewValue;
|
||||
$("givenname").onkeyup = onDisplaynameNewValue;
|
||||
displaynameChanged = ($("displayname").value.length > 0);
|
||||
$("displayname").onkeydown = onDisplaynameKeyDown;
|
||||
$("sn").onkeyup = onDisplaynameNewValue;
|
||||
$("givenname").onkeyup = onDisplaynameNewValue;
|
||||
|
||||
$("cancelButton").observe("click", onEditorCancelClick);
|
||||
var submitButton = $("submitButton");
|
||||
if (submitButton) {
|
||||
submitButton.observe("click", onEditorSubmitClick);
|
||||
$("cancelButton").observe("click", onEditorCancelClick);
|
||||
var submitButton = $("submitButton");
|
||||
if (submitButton) {
|
||||
submitButton.observe("click", onEditorSubmitClick);
|
||||
}
|
||||
|
||||
Event.observe(document, "keydown", onDocumentKeydown);
|
||||
|
||||
if (typeof(gCategories) != "undefined") {
|
||||
regenerateCategoriesMenu();
|
||||
}
|
||||
var catsInput = $("jsonContactCategories");
|
||||
if (catsInput && catsInput.value.length > 0) {
|
||||
var contactCats = $(catsInput.value.evalJSON(false));
|
||||
for (var i = 0; i < contactCats.length; i++) {
|
||||
appendCategoryInput(contactCats[i]);
|
||||
}
|
||||
}
|
||||
|
||||
Event.observe(document, "keydown", onDocumentKeydown);
|
||||
var emptyCategory = $("emptyCategory");
|
||||
if (emptyCategory) {
|
||||
emptyCategory.tabIndex = 10000;
|
||||
emptyCategory.observe("click", onEmptyCategoryClick);
|
||||
}
|
||||
|
||||
var widgets = {'birthday': {'date': $("birthdayDate")}};
|
||||
initTimeWidgets(widgets);
|
||||
|
||||
if (typeof(gCategories) != "undefined") {
|
||||
regenerateCategoriesMenu();
|
||||
}
|
||||
var catsInput = $("jsonContactCategories");
|
||||
if (catsInput && catsInput.value.length > 0) {
|
||||
var contactCats = $(catsInput.value.evalJSON(false));
|
||||
for (var i = 0; i < contactCats.length; i++) {
|
||||
appendCategoryInput(contactCats[i]);
|
||||
}
|
||||
}
|
||||
|
||||
var emptyCategory = $("emptyCategory");
|
||||
if (emptyCategory) {
|
||||
emptyCategory.tabIndex = 10000;
|
||||
emptyCategory.observe("click", onEmptyCategoryClick);
|
||||
}
|
||||
}
|
||||
|
||||
document.observe("dom:loaded", initEditorForm);
|
||||
|
||||
Reference in New Issue
Block a user