Exemplo n.º 1
0
            user.on('g:saved', function () {
                if (getCurrentUser()) {
                    this.trigger('g:userCreated', {
                        user: user
                    });
                } else {
                    var authToken = user.get('authToken') || {};

                    if (authToken.token) {
                        setCurrentUser(user);
                        setCurrentToken(authToken.token);

                        if (corsAuth) {
                            document.cookie = 'girderToken=' + getCurrentToken();
                        }

                        events.trigger('g:login');
                    } else {
                        events.trigger('g:alert', {
                            icon: 'ok',
                            text: 'Check your email to verify registration.',
                            type: 'success',
                            timeout: 4000
                        });
                    }

                    handleClose('register', {replace: true});
                }

                this.$el.modal('hide');
            }, this).on('g:error', function (err) {
Exemplo n.º 2
0
    function start_session(resp) {
        var user = resp;
        var folder;

        setCurrentUser(new UserModel(user));
        setCurrentToken(user.authToken.token);
        events.trigger('g:login.success', user);
        events.trigger('g:login', user);

        var session = new SessionModel();

        // get the minerva folder id
        restRequest({
            path: 'minerva_session/folder',
            data: {
                userId: user._id
            }
        }).then(function (resp) {
            folder = resp.folder;

            // get the default session, if it exists
            return restRequest({
                path: 'minerva_session',
                data: {
                    userId: user._id,
                    limit: 1
                }
            });
        }).then(function (resp) {
            // I really wish girder model methods returned promises...
            var defer = new $.Deferred();
            if (resp.length) {
                return resp[0];
            }

            // no session exists, create it
            session.set({
                folderId: folder._id,
                name: 'default',
                description: 'Default session for the BSVE'
            }).once('g:saved', function () {
                session.once('m:session_saved', function () {
                    defer.resolve(session.attributes);
                }).createSessionMetadata();
            }).save();
            return defer.promise();
        }).then(function (resp) {
            // set the basemap tileset
            resp.meta.minerva.map.basemap_args = {
                attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>, under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.',
                url: 'http://{s}.tile.stamen.com/toner-lite/{z}/{x}/{y}.png'
            };
            session.set(resp);
            session.once('m:metadata_saved', function () {
                events.once('g:navigateTo', function (view, obj) {
                    var datasets = obj.datasetsCollection;
                    init_reference_data(datasets);
                });
                router.navigate('session/' + session.id, { trigger: true });
            }).saveMinervaMetadata(resp.meta.minerva);
        });
    }