Ejemplo n.º 1
0
    def post_login(self, userid, group, ldap_user, user_details, came_from=url('/')):
        result = ''
        if not userid:
            result = "{success:false,msg:'session expired'}"
            return result

        auth = AuthorizationService()
        auth.user_name = userid
        r = DBHelper().find_by_name(Role, to_unicode('admin'))
        session['cloud_only'] = False

        if ldap_user:
            if not len(group):
                result = "{success:false,msg:'User does not belong to any group in LDAP'}"
                return result

            #len(group)
            grps=Group.by_group_names(group)
            if not grps:
                result = "{success:false,msg:'None of the LDAP group (s) " + str(group).replace("'", '') + " defined in stackone'}"
                return result

            auth.groups = grps
            session['user_firstname'] = userid
            session['group_names'] = group
            session['is_cloud_admin'] = auth.is_admin_role()
            is_admin = auth.is_admin_role()
            from stackone.model.LDAPManager import LDAPManager
            auth.email_address = LDAPManager().get_email_address(user_details)

        else:
            u = User.by_user_name(to_unicode(userid))
            auth.user = u
            auth.groups = u.groups
            session['user_firstname'] = u.firstname

            session['group_names']=[g.group_name for g in u.groups]

            is_admin=u.has_role(r)
            auth.email_address=u.email_address
            session['is_cloud_admin']=u.has_cloudadmin_role()
            dcs=auth.get_entities(constants.DATA_CENTER)
            if len(dcs) == 0L:
                session['cloud_only']=True

        session['username']=userid
        session['has_adv_priv']=tg.config.get(constants.ADVANCED_PRIVILEGES)
        session['granular_ui']=self.user_info.is_granular_ui()
        session['PAGEREFRESHINTERVAL']=tg.config.get(constants.PAGEREFRESHINTERVAL)
        session['TASKPANEREFRESH']=tg.config.get(constants.TASKPANEREFRESH)
        session['userid']=userid
        session['auth']=auth
        session['rem_days']=''
        try:
            session['rem_days']=rem_days_to_exp()
        except Exception as e:
            print 'Exception: ',e

        session['is_admin']=is_admin
        session['version']=constants._version
        #session['edition']=get_edition()+'_'+constants._version
        session['edition']='3.2.1.5'+'_'+constants._version
        #session['has_cloud']=stackone.model.LicenseManager.has_cloud_license()
        session['has_cloud'] = 0 
        #session['edition_string']= get_edition_string
        session['edition_string']= 'stackone Enterprise'
        #session['sub_edition_string']=get_sub_edition_string
        session['sub_edition_string']='Trial Edition'
        session.save()
        TopCache().delete_usercache(auth)
        result='{success:true}'
        return result