Esempio n. 1
0
    def post(self):

        form = RegistrationForm(self.request.arguments)

        if form.validate():

            user = self.db2.query(User).filter_by( username=form.username.data ).all()

            if user:
                form.username.errors.append( _('This username is occupied') )
            else:
                salt = md5(str(random.random())).hexdigest()[:12]
                hsh = encrypt_password(salt, form.password.data)
                enc_password = "******" % (salt, hsh)

                newuser = User( username = form.username.data,
                                password = enc_password )
                self.db2.add(newuser)
                self.db2.commit()
                # Create profile
                profile = UserProfile(newuser, email = form.email.data)
                # Add to default group
                from settings import cf
                if cf.has_option('registration', 'user_default_group_id'):
                    try:
                        DGID = int(cf.get('registration', 'user_default_group_id'))
                        G = self.db2.query(Group).get(DGID)
                        newuser.groups = [G]
                        self.db2.commit()
                    except:
                        pass

                self.db2.add(profile)
                self.db2.commit()

                # send_message
                self.send_message( newuser )

                # send_mail()

                self.save_session(newuser.id)

                return self.redirect( self.reverse_url('account:index') )

        # Have a error
        self.render( 'account/register.html', form = form )
Esempio n. 2
0
    def post(self):

        form = ResetPasswordApplyForm(self)

        if form.validate():

            profile = self.db2.query(UserProfile).filter(
                UserProfile.email == form.email.data ).first()

            if profile:

                # check exist request
                exist = self.db2.query(UserResetpass).filter_by(
                    user_id = profile.user.id ).all()
                exist = [ x for x in exist if not x.completed ]
                if exist:
                    RQ = exist[0]
                else:
                    RQ = UserResetpass( profile.user )
                    self.db2.add( RQ )
                    self.db2.commit()

                # send email
                from settings import cf
                if cf.has_option('site', 'home'):
                    SITE_HOME = cf.get('site', 'home').rstrip('/')
                else:
                    SITE_HOME = 'http://127.0.0.1'

                url = self.reverse_url('reset_password_complete')
                url = SITE_HOME + url + '?key=%s' % RQ.key

                ret = send_email(form.email.data, self.trans(_('[ LuoYun Cloud ] Reset Password')), self.EMAIL_TEMPLATE % { 'URL': url } )

                if ret:
                    return self.render( 'account/reset_password_apply_successed.html', APPLY = RQ )
                else:
                    return self.write( self.trans(_('Send Email Failed !')) )

            else:
                form.email.errors.append( self.trans(_("No such email address: %s")) % form.email.data )

        d = { 'title': self.trans(_('Reset Password')), 'form': form }

        self.render( 'account/reset_password_apply.html', **d )
Esempio n. 3
0
    def post(self):

        form = RegistrationForm(self)

        if form.validate():

            user = self.db2.query(User).filter_by( username=form.username.data ).all()

            if user:
                form.username.errors.append( self.trans(_('This username is occupied')) )
            else:
                enc_password = enc_login_passwd(form.password.data)
                newuser = User( username = form.username.data,
                                password = enc_password )
                self.db2.add(newuser)
                self.db2.commit()
                # Create profile
                profile = UserProfile(newuser, email = form.email.data)
                root_passwd = enc_shadow_passwd(form.password.data)
                profile.set_secret('root_shadow_passwd', root_passwd)
                # Add to default group
                from settings import cf
                if cf.has_option('registration', 'user_default_group_id'):
                    try:
                        DGID = int(cf.get('registration', 'user_default_group_id'))
                        G = self.db2.query(Group).get(DGID)
                        newuser.groups = [G]
                        self.db2.commit()
                    except:
                        pass

                self.db2.add(profile)
                self.db2.commit()

                # send_message
                self.send_message( newuser )

                # send_mail()

                self.save_session(newuser.id)

                return self.redirect( self.reverse_url('account:index') )

        # Have a error
        self.render( 'account/register.html', form = form )
Esempio n. 4
0
from smtplib import SMTP
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import parseaddr, formataddr


admin_name     = 'Admin'
smtp_server    = None
smtp_port      = 25
email_from     = None
email_username = None
email_pass     = None

from settings import cf

if cf.has_option('email', 'smtp_server'):
    smtp_server = cf.get('email', 'smtp_server')

if cf.has_option('email', 'smtp_port'):
    smtp_port = int( cf.get('email', 'smtp_port') )

if cf.has_option('email', 'name'):
    admin_name = cf.get('email', 'name')

if cf.has_option('email', 'from'):
    email_from = cf.get('email', 'from')

if cf.has_option('email', 'username'):
    email_username = cf.get('email', 'username')

if cf.has_option('email', 'password'):
Esempio n. 5
0
import time, logging
from smtplib import SMTP
from email.MIMEText import MIMEText
from email.Header import Header
from email.Utils import parseaddr, formataddr

admin_name = 'Admin'
smtp_server = None
smtp_port = 25
email_from = None
email_username = None
email_pass = None

from settings import cf

if cf.has_option('email', 'smtp_server'):
    smtp_server = cf.get('email', 'smtp_server')

if cf.has_option('email', 'smtp_port'):
    smtp_port = int(cf.get('email', 'smtp_port'))

if cf.has_option('email', 'name'):
    admin_name = cf.get('email', 'name')

if cf.has_option('email', 'from'):
    email_from = cf.get('email', 'from')

if cf.has_option('email', 'username'):
    email_username = cf.get('email', 'username')

if cf.has_option('email', 'password'):
Esempio n. 6
0
# ADMIN display
ADMIN_USER_LIST_PAGE_SIZE = 50


# Email Setting
MAIL_SENDER = "LuoYunCloud Administrator"  # Sender name
MAIL_HOST = None  # SMTP server
MAIL_PORT = 25  # SMTP port
MAIL_FROM = None  # From email address
MAIL_USER = None  # login username
MAIL_PASS = None  # login password

from settings import cf

if cf.has_option("email", "smtp_server"):
    MAIL_SERVER = cf.get("email", "smtp_server")

if cf.has_option("email", "smtp_port"):
    MAIL_PORT = int(cf.get("email", "smtp_port"))

if cf.has_option("email", "name"):
    MAIL_SENDER = cf.get("email", "name")

if cf.has_option("email", "from"):
    MAIL_FROM = cf.get("email", "from")

if cf.has_option("email", "username"):
    MAIL_USER = cf.get("email", "username")

if cf.has_option("email", "password"):