Example #1
0
File: root.py Project: TimmGit/posy
    def update(self, *args, **kw):
        # Make sure passwords won't leak from session
        session.setdefault('settings', password_dict({}))

        # This is the first time this service is set up
        first_time = self.name not in session['settings']

        session['settings'].setdefault(self.name, {})
        if 'password' in kw.get(self.name, {}):
            if not kw[self.name]['password']:
                logging.debug('Not updating %r password. No value given.',
                        self.name)
                old_password = session['settings'][self.name].get('password')
                kw[self.name]['password'] = old_password

        # Check if actually changed settings
        old_settings = copy.deepcopy(session['settings'][self.name])
        new_settings = copy.deepcopy(kw.get(self.name))
        # Don't include 'enable' in comparison
        old_settings.pop('enable', None)
        new_settings.pop('enable', None)
        settings_changed = old_settings != new_settings

        session['settings'].update(kw)
        logging.debug('update: session: %r', session)
        try:
            session.get('skip', set()).remove(self.name)
        except KeyError:
            pass
        session.save()

        if settings_changed:
            flash(_('Changes saved'))

        if first_time:
            # Pick the next uncofigured service
            redirect(self.menu.base)
        else:
            redirect(self.url)
Example #2
0
    def update(self, *args, **kw):
        # Make sure passwords won't leak from session
        session.setdefault('settings', password_dict({}))

        # This is the first time this service is set up
        first_time = self.name not in session['settings']

        session['settings'].setdefault(self.name, {})
        if 'password' in kw.get(self.name, {}):
            if not kw[self.name]['password']:
                logging.debug('Not updating %r password. No value given.',
                              self.name)
                old_password = session['settings'][self.name].get('password')
                kw[self.name]['password'] = old_password

        # Check if actually changed settings
        old_settings = copy.deepcopy(session['settings'][self.name])
        new_settings = copy.deepcopy(kw.get(self.name))
        # Don't include 'enable' in comparison
        old_settings.pop('enable', None)
        new_settings.pop('enable', None)
        settings_changed = old_settings != new_settings

        session['settings'].update(kw)
        logging.debug('update: session: %r', session)
        try:
            session.get('skip', set()).remove(self.name)
        except KeyError:
            pass
        session.save()

        if settings_changed:
            flash(_('Changes saved'))

        if first_time:
            # Pick the next uncofigured service
            redirect(self.menu.base)
        else:
            redirect(self.url)
Example #3
0
File: root.py Project: TimmGit/posy
 def skip(self):
     session.setdefault('skip', set())
     session['skip'].add(self.name)
     session.save()
     redirect(self.menu.base)
Example #4
0
 def skip(self):
     session.setdefault('skip', set())
     session['skip'].add(self.name)
     session.save()
     redirect(self.menu.base)