If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Trying to Invite Attendees to an event

RESOLVED DUPLICATE of bug 1128258

Status

Calendar
Dialogs
RESOLVED DUPLICATE of bug 1128258
3 years ago
3 years ago

People

(Reporter: nick@drstavros.com, Unassigned)

Tracking

Lightning 3.3
x86
Mac OS X

Details

Attachments

(1 attachment)

(Reporter)

Description

3 years ago
Created attachment 8555617 [details]
Screen Shot 2015-01-27 at 6.14.10 PM.png

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:35.0) Gecko/20100101 Firefox/35.0
Build ID: 20150108202552

Steps to reproduce:

On Mac OS 10.9.5, Thunderbird 31.4.0, Lightening 3.3.2
Go to Events and Tasks -> Calendar
Switch to Calendar Tab
Double Click and date to create an event
Try to Invite Attendees




Actual results:

A screen that I am nt familiar with appears. Looks interesting, but I can't actually invite attendees ...


Expected results:

Traditional, a window appears that allows me to invite attendees.

Comment 1

3 years ago
It's the same dialog but some parts are missing. Do you see any messages in the error console (czrl+shift+j) when reproducing this?
Component: Untriaged → Dialogs
Product: Thunderbird → Calendar
Version: 31 → Lightning 3.3
(Reporter)

Comment 2

3 years ago
Timestamp: 1/27/15, 11:40:32 PM
Error: A promise chain failed to handle a rejection.
Yes, I get two of these ...

Date: Tue Jan 27 2015 23:40:25 GMT-0800 (PST)
Full Message: [JavaScript Error: "entry.interval is undefined" {file: "chrome://calendar/content/calendar-event-dialog-freebusy.xml" line: 777}]'[JavaScript Error: "entry.interval is undefined" {file: "chrome://calendar/content/calendar-event-dialog-freebusy.xml" line: 777}]' when calling method: [calIGenericOperationListener::onResult]
Source File: resource://calendar/modules/calUtils.jsm -> file:///Users/robertstavros/Library/Thunderbird/pzbnkkp2.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calFreeBusyService.js
Line: 30
Source Code:
30
(Reporter)

Comment 3

3 years ago
When I double click it ... I get this /* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");

function calFreeBusyListener(numOperations, finalListener) {
    this.mFinalListener = finalListener;
    this.mNumOperations = numOperations;

    var this_ = this;
    function cancelFunc() { // operation group has been cancelled
        this_.notifyResult(null);
    }
    this.opGroup = new calOperationGroup(cancelFunc);
}
calFreeBusyListener.prototype = {
    mFinalListener: null,
    mNumOperations: 0,
    opGroup: null,

    QueryInterface: XPCOMUtils.generateQI([Components.interfaces.calIGenericOperationListener]),

    notifyResult: function calFreeBusyListener_notifyResult(result) {
        var listener = this.mFinalListener
        if (listener) {
            if (!this.opGroup.isPending) {
                this.mFinalListener = null;
            }
            listener.onResult(this.opGroup, result); /********* THIS LINE IS HIGHLIGHTED ********/
        }
    },

    // calIGenericOperationListener:
    onResult: function calFreeBusyListener_onResult(aOperation, aResult) {
        if (this.mFinalListener) {
            if (!aOperation || !aOperation.isPending) {
                --this.mNumOperations;
                if (this.mNumOperations == 0) {
                    this.opGroup.notifyCompleted();
                }
            }
            if (aResult) {
                this.notifyResult(aResult);
            }
        }
    }
};

function calFreeBusyService() {
    this.wrappedJSObject = this;
    this.mProviders = new calInterfaceBag(Components.interfaces.calIFreeBusyProvider);
}
const calFreeBusyServiceClassID = Components.ID("{29c56cd5-d36e-453a-acde-0083bd4fe6d3}");
const calFreeBusyServiceInterfaces = [
    Components.interfaces.calIFreeBusyProvider,
    Components.interfaces.calIFreeBusyService
];
calFreeBusyService.prototype = {
    mProviders: null,

    classID: calFreeBusyServiceClassID,
    QueryInterface: XPCOMUtils.generateQI(calFreeBusyServiceInterfaces),
    classInfo: XPCOMUtils.generateCI({
        classID: calFreeBusyServiceClassID,
        contractID: "@mozilla.org/calendar/freebusy-service;1",
        classDescription: "Calendar FreeBusy Service",
        interfaces: calFreeBusyServiceInterfaces,
        flags: Components.interfaces.nsIClassInfo.SINGLETON
    }),

    // calIFreeBusyProvider:
    getFreeBusyIntervals: function calFreeBusyService_getFreeBusyIntervals(aCalId,
                                                                           aRangeStart,
                                                                           aRangeEnd,
                                                                           aBusyTypes,
                                                                           aListener) {
        var groupListener = new calFreeBusyListener(this.mProviders.size, aListener);
        function getFreeBusyIntervals_(provider) {
            try {
                groupListener.opGroup.add(provider.getFreeBusyIntervals(aCalId,
                                                                        aRangeStart,
                                                                        aRangeEnd,
                                                                        aBusyTypes,
                                                                        groupListener));
            } catch (exc) {
                Components.utils.reportError(exc);
                groupListener.onResult(null, []); // dummy to adopt mNumOperations
            }
        }
        this.mProviders.forEach(getFreeBusyIntervals_);
        return groupListener.opGroup;
    },

    // calIFreeBusyService:
    addProvider: function calFreeBusyListener_addProvider(aProvider) {
        this.mProviders.add(aProvider);
    },
    removeProvider: function calFreeBusyListener_removeProvider(aProvider) {
        this.mProviders.remove(aProvider);
    }
};

Updated

3 years ago
Status: UNCONFIRMED → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1128258
You need to log in before you can comment on or make changes to this bug.