Beispiel #1
0
    def initialize(self, request):
        TemplateView.initialize(self, request)
        ## some for authorize
        # self.login_user = users.get_current_user()
        self.login_user = auth.authenticate(username="******", password="******")
        self.is_login = self.login_user is not None
        self.loginurl = reverse(login)  # users.create_login_url(self.request.path)
        self.logouturl = reverse(logout)  # users.create_logout_url(self.request.path)
        # self.is_admin = users.is_current_user_admin()
        self.is_admin = False  # TODO: make it valid
        # three status: admin author login
        if self.is_admin:
            self.auth = "admin"
            self.author = User.all().filter("email =", self.login_user.email()).get()
            if not self.author:
                # init author database
                self.author = User(dispname=self.login_user.nickname(), email=self.login_user.email())
                self.author.isadmin = True
                self.author.user = self.login_user
                self.author.put()
        elif self.is_login:
            self.author = User.all().filter("email =", self.login_user.email()).get()
            if self.author:
                self.auth = "author"
            else:
                self.auth = "login"
        else:
            self.auth = "guest"

        try:
            # self.referer = self.request.headers['referer']
            self.referer = self.request.META["HTTP_REFERER"]
        except:
            self.referer = None
 def createUserProf(self,username,prof):
     password='******'
     user=User(type="Prof", active=True, username=username, password=password, firstname=prof.prenom, lastname=prof.nom,email=prof.email)
     UserProf(user=User.objects.get(id=user.save()),professeur=prof).save()
     subject, from_email, to = 'System descriptif cours ESIH', '*****@*****.**', prof.email
     link='<a href="http://ancient-ridge-9094.herokuapp.com/">http://ancient-ridge-9094.herokuapp.com/</a>'
     html_content ='Salut {} {}!<p> Votre compte est << {} >> et mot de passe << {} >>. Cliquer sur ce lien {} pour connecter au systeme descriptif cours de l\'ESIH.</p>'.format(prof.prenom,prof.nom,username,password,link)
     msg = EmailMultiAlternatives(subject, '', from_email, [to])
     msg.attach_alternative(html_content, "text/html")
     print msg.send()
Beispiel #3
0
def show_user(uid=None):
    if request.method == 'GET':
        info = None
        if uid:
            user = User.get_or_404(uid)
            info = _wrapper_dict(user, ['id', 'username', 'phone'])
    return render_template('edit_user.html', user=info, username=session.get('username'))
Beispiel #4
0
def create_user():
    post = {}
    for key in USER_DATA:
        post[key] = request.form.get(key, None)
    user = User.create(**post)
    print user
    db.session.commit()
    flash('The entry was successfully created.')
    return redirect(url_for('list_all_users'), 302)
Beispiel #5
0
 def post(self, request, format=None):
     user = UserSerializers(User(), data=request.data)
     if user.is_valid():
         user.save()
         json_data = {"msg": "保存成功", "code": 1}
     else:
         # print(user.errors)
         json_data = {"msg": user.error_messages, "code": 0}
     return Response(json_data)
Beispiel #6
0
    def run(self, user, password):
        """Create user."""
        password = generate_password_hash(password)

        user = User(name=user, password=password)
        db.session.add(user)
        db.session.commit()

        print("User: %s\nPassword: %s " % (user, password))
Beispiel #7
0
def update_user(uid):
    if request.method == 'POST':
        post = {}
        for key in USER_FORM_DATA:
            post[key] = request.form.get(key, None)
        u = User.get_or_404(uid)
        u.update(**post)
        db.session.commit()
        flash('The entry was successfully updated.')
    return redirect(url_for('list_all_users'), 302)
Beispiel #8
0
def update_user(uid):
    if request.method == 'POST':
        post = {}
        for key in USER_FORM_DATA:
            post[key] = request.form.get(key, None)
        u = User.get_or_404(uid)
        u.update(**post)
        db.session.commit()
        flash('The entry was successfully updated.')
    return redirect(url_for('list_all_users'), 302)
Beispiel #9
0
def signup():
    form = RegisterForm()
    if form.validate_on_submit():
        hashed_password = generate_password_hash(form.password.data, method='sha256')
        new_user = User(name=form.name.data, username=form.username.data, email=form.email.data, password=hashed_password)
        db.session.add(new_user)
        db.session.commit()
        return '<h1>' + form.username.data + ' has been registered </h1>'


    return render_template('signup.html', form=form)
def insert_user(request):
	#if 'username' in request.COOKIES:
	#	if request.session['username'] == request.COOKIES["username"]:
			if request.method == "POST":
				username = request.POST['username']
				try:
					user = User.objects.get(pk = username)
					message = "Username already exist"
					return render(request, 'admin/user_insert.html', {'message': message})
				except User.DoesNotExist:
					user = User(username = request.POST['username'], password = request.POST['password'], 
						name = request.POST['name'], gender = request.POST['gender'], email = request.POST['email'], 
						birthday = request.POST['birthday'], phone = request.POST['phone'], address = request.POST['address'],
						id_card = request.POST['id_card'], is_VIP = request.POST['is_VIP'], is_Black = request.POST['is_Black'], 
						is_verified = request.POST['is_verified'], note = request.POST['note'])
					user.save()
					message = "Insert successfully"
			else:
				return render(request, 'admin/user_insert.html')

			return render(request, 'admin/user_insert.html', {'message': message})
Beispiel #11
0
def delete_user():
    if request.method == 'POST':
        user_str = request.form.get('id', None)
        print user_str
        if user_str:
            user_list = user_str.split(',')
            print user_list
            for uid in user_list:
                u = User.get_or_404(int(uid))
                u.delete()
            flash('User {} was successfully deleted.'.format(str(user_str)))
    return redirect(url_for('list_all_users'), 302)
Beispiel #12
0
def show_user(uid=None):
    info = None
    if uid:
        user = User.get_or_404(uid)
        info = _wrapper_dict(
            user, ['id', 'username', 'phone', 'gateway_id', 'gateway'])
    obj = Gateway.query.all()
    gws = _wrapper_dict(obj, [
        'id', 'name', 'url', 'address', 'latitude', 'longitude', 'created_at'
    ])
    return render_template('edit_user.html',
                           user=info,
                           gateways=gws,
                           username=session.get('username'))
Beispiel #13
0
def login(request):
    if request.method == "POST":
        username = request.POST.get("username")
        password = request.POST.get("password")

        user = User.login(username, password)

        if user:
            request.session["user"] = user.id

            return redirect("index")

    return render_to_response("login.html",
                              locals(),
                              context_instance=RequestContext(request))
Beispiel #14
0
def syncdb(console=True):
    from admin.models import User

    user_defaults = {
        'login': '******',
        'password': '******'
    }
    input_msg = 'Enter {0} [{1}]: '

    if console:
        for k, v in user_defaults.iteritems():
            user_defaults[k] = raw_input(input_msg.format(k, v)) or v

    user = User(**user_defaults)
    user.activity = True

    drop_all()

    db.create_all()

    db.session.add(user)
    db.session.flush()

    db.session.commit()
Beispiel #15
0
def preload():
    user_manager = UserManager(app, db, User)
    if not User.query.filter(User.email == '*****@*****.**').first():
        user = User(
            email='*****@*****.**',
            email_confirmed_at=datetime.datetime.utcnow(),
            password=user_manager.hash_password('Password1'),
        )

        user.roles.append(Role(name='admin'))
        db.session.add(user)
        db.session.commit()
    for role in ROLES:
        if not Role.query.filter(Role.name == role).first():
            r = Role(name=role)
            db.session.add(r)
            db.session.commit()
Beispiel #16
0
def build_users():
    from database import db
    from admin.models import guest_role, super_user_role, User

    # -----------------------------------------
    db.session.add(guest_role)
    db.session.add(super_user_role)
    db.session.commit()
    # ------------------------
    root = User(
        email="*****@*****.**",
        account=config.ROOT_USER,
        roles=[super_user_role],
        password=config.ROOT_PASSWD,
        active=True,
    )
    db.session.add(root)
    db.session.commit()

    print 'build users finished.'
Beispiel #17
0
def create():
    form = CreateForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if (user):
            return render_template("create.html", form=form)
        else:
            user = User(request.form['username'], request.form['password'])
            # https://blog.openshift.com/use-flask-login-to-add-user-authentication-to-your-python-application/
            db.session.add(user)
            db.session.commit()
            #      return redirect(url_for(".login"))
            user = User.query.filter_by(username=form.username.data).one()
            z = Zagadnienie()
            z.user_id = user.user_id
            z.tytul = form.temat.data
            db.session.add(z)
            db.session.commit()
            login_user(user)
            flash("Logged in successfully.", "success")
            return redirect(request.args.get("next") or url_for(".home"))
    return render_template("create.html", form=form)
Beispiel #18
0
def admin_user_add(request):
    context = RequestContext(request)
    new_user = User()

    if request.method == 'POST':
        # Retrieve data.
        new_user.username = request.POST.get('username')
        new_user.first_name = request.POST.get('first-name')
        new_user.last_name = request.POST.get('last-name')
        new_user.email = request.POST.get('email')

        if request.POST.get('rol', ''):
            new_user.is_admin = True

        new_user.role = request.POST.get('role')

        # Check if username already exists.
        try:
            User.objects.get(username=request.POST.get('username'))
        except User.DoesNotExist:
            # Password verification
            password = request.POST.get('password')
            confirm_password = request.POST.get('confirm-password')
            if password == confirm_password:
                new_user.set_password(password)
            else:
                messages.error(request, u"Las contraseñas no coinciden.",
                               context)
                return TemplateResponse(request, 'admin/admin_users_add.html',
                                        context)

            # Save user!
            new_user.save()
            messages.info(
                request,
                u"El usuario '%s' ha sido creado." % new_user.username)
            return HttpResponseRedirect(
                reverse('admin.views.admin_user_list', urlconf='admin.urls'),
                context)

        # If username exist notify user.
        if User.objects.get(username=request.POST.get('username')):
            context.update({'new_user': new_user})
            messages.error(
                request, u"El nombre de usuario '%s' ya existe." %
                request.POST.get('username'))
            return TemplateResponse(request, 'admin/admin_users_add.html',
                                    context)

    return TemplateResponse(request, 'admin/admin_users_add.html', context)
Beispiel #19
0
def APICallWorker(request):
    if request.method == 'GET': return HttpResponse('Method not supported')

    # --- Validation
    req = decode_request(request)
    if req is None:
        logging.warning('unauthorized query - ignoring')
        return HttpResponse('ignored')

    if request.POST.get('type') == None:
        logging.warning('added task without required params - ignoring')
        return HttpResponse('ignored')

    # --- Methods
    url = 'https://api.instagram.com/v1'
    method = 'GET'
    params = {}

    if request.POST.get('type') == 'like':
        method = 'POST'
        params = {'access_token': req['user'].access_token}
        url += '/media/%s/likes/' % request.POST.get('media_id')

    elif request.POST.get('type') == 'unlike':
        method = 'DELETE'
        url += '/media/%s/likes/' % request.POST.get('media_id')
        url += '?access_token=' + req['user'].access_token

    elif request.POST.get('type') == 'add_instadaily_tag':
        method = 'POST'
        params = 'access_token=%s&text=%s' % (req['user'].access_token, INSTADAILY_TAG_MSG)
        url += '/media/%s/comments' % request.POST.get('media_id')

    elif request.POST.get('type') == 'user' and request.POST.has_key('user_id'):
        url += '/users/%s' % request.POST.get('user_id')
        url += '?access_token=' + req['user'].access_token

    result = rest_request(url, params, method)

    if request.POST.get('type') == 'like':
        p = Photo.objects.get_by_instagram_id(request.POST.get('media_id'))
        p.likes += 1
        p.save()

        req['user'].vote_like += 1
        req['user'].save()

    elif request.POST.get('type') == 'user' and request.POST.get('user_id') is not None:
        try:
            data = json.loads(result)['data']
        except json.JSONDecodeError:
            print 'failed to decode json %s' % result
            print url
            return HttpResponse('')
        except KeyError:
            logging.error('DATA not found in recent photos for user %s' % request.POST.get('user_id'))
            return HttpResponse('')

        try:
            user = User.objects.filter(instagram_id=data['id']).get()
            user.pic = data['profile_picture']
            user.full_name = data['full_name']
            user.save()

        except User.DoesNotExist:
            user = User()
            user.name = data['username']
            user.instagram_id = data['id']
            user.full_name = data['full_name']
            user.pic = data['profile_picture']
            user.photos = 0
            user.vote_like = 0
            user.vote_dislike = 0
            try:
                user.last_subject_id = Subject.objects.get_current().id
            except AttributeError:
                logging.error('cannot find current subject!!!')
                user.last_subject_id = 0
            user.last_subject_points = 0
            user.save()

    else:
        try:
            j = json.loads(result)
        except json.JSONDecodeError:
            print 'failed to decode json %s' % result
            print url
            return HttpResponse('')

        # only disliking photos that wasn't previously liked
        if j.has_key('meta') and j['meta'].has_key('error_message') and j['meta'][
            'error_message'] == 'the user has not liked this media':
            p = Photo.objects.get_by_instagram_id(request.POST.get('media_id'))
            p.dislikes += 1
            p.save()

            req['user'].vote_dislike += 1
            req['user'].save()

            return HttpResponse('')

        # logging.warning('API call failed with %s' % result)

    return HttpResponse('')
Beispiel #20
0
def github_check(request):
    type = '1'
    request_code = request.GET.get("code")
    oauth_git = OAuthGithub(settings.GITHUB_CLIENT_ID, settings.GITHUB_CLIENT_SECRET, settings.GITHUB_CALLBACK_URL)
    try:
        oauth_git.get_access_token(request_code)  # 获取access token
        time.sleep(0.1)  # 此处需要休息一下,避免发送urlopen的10060错误
    except Exception as e:  # 获取token失败,反馈失败信息
        print(e)
        return render(request, 'login.html', {"error": "获取token失败"})
    infos = oauth_git.get_user_info()  # 获取用户信息
    print("用户信息: " + str(infos))
    open_id = infos.get('id', '')
    nickname = infos.get('login', '')
    image_url = infos.get('avatar_url', '')
    email = infos.get('email', '')
    oauth_check = OAuth.objects.filter(openid=open_id).only('openid', 'user').first()
    if oauth_check:  # 已存在该用户,直接登录
        user = User.objects.get(id=oauth_check.user.id)
        if user.login_power == 1:
            request.session['user_name'] = user.user_name  # (将用户信息存入session)
            request.session['user_id'] = user.id
            request.session['user_authority'] = user.user_authority
            return HttpResponseRedirect('/')  # 回到主页
        else:
            info = '该用户无登录权限,请联系管理员解封'
            return HttpResponseRedirect(reverse('oauth:github_response', kwargs={'info': info}))  # 响应页面
    else:
        if email != '':
            user = User.objects.filter(email=email).only('id', 'user_name', 'user_authority', 'login_power').first()
            if user:  # 该邮箱对应的用户已经存在
                oauth_user = OAuth(openid=open_id, user_id=user.id, type=type)
                oauth_user.save()
                if user.login_power == 1:
                    request.session['user_name'] = user.user_name  # (将用户信息存入session)
                    request.session['user_id'] = user.id
                    request.session['user_authority'] = user.user_authority
                    return HttpResponseRedirect('/')  # 回到主页
                else:
                    info = '该用户无登录权限,请联系管理员解封'
                    return HttpResponseRedirect(reverse('oauth:github_response', kwargs={'info': info}))  # 相应页面
            else:  # 邮箱对应的用户不存在,将github信息和用户信息写入数据库
                if User.objects.filter(user_name=nickname):  # 用户名重复
                    nickname = 'CM-' + nickname
                img_path = upload_user_img(image_url)
                if User.objects.count() == 0:
                    user_o = User(user_img=img_path, user_name=nickname, password=make_password(nickname), email=email,
                                  user_authority=1, login_power=1, login_state=0)
                else:
                    user_o = User(user_img=img_path, user_name=nickname, password=make_password(nickname), email=email,
                                  user_authority=0, login_power=1, login_state=0)
                user_o.save()
                oauth_user = OAuth(openid=open_id, user_id=user_o.id, type=type)
                oauth_user.save()
                request.session['user_name'] = user_o.user_name
                request.session['user_id'] = user_o.id
                request.session['user_authority'] = user_o.user_authority
                info = '授权登录成功,初始密码为用户名'
                return HttpResponseRedirect(reverse('oauth:github_response', kwargs={'info': info}))  # 响应页面
        else:
            info = '你的github账号尚未绑定邮箱'
            return HttpResponseRedirect(reverse('oauth:github_response', kwargs={'info': info}))  # 响应页面
Beispiel #21
0
def build_sample_db():
    """
    Populate a small db with some example entries.
    """

    db.drop_all()
    db.create_all()

    # Create sample Users
    first_names = [
        'Harry', 'Amelia', 'Oliver', 'Jack', 'Isabella', 'Charlie', 'Sophie',
        'Mia', 'Jacob', 'Thomas', 'Emily', 'Lily', 'Ava', 'Isla', 'Alfie',
        'Olivia', 'Jessica', 'Riley', 'William', 'James', 'Geoffrey', 'Lisa',
        'Benjamin', 'Stacey', 'Lucy'
    ]
    last_names = [
        'Brown', 'Brown', 'Patel', 'Jones', 'Williams', 'Johnson', 'Taylor',
        'Thomas', 'Roberts', 'Khan', 'Clarke', 'Clarke', 'Clarke', 'James',
        'Phillips', 'Wilson', 'Ali', 'Mason', 'Mitchell', 'Rose', 'Davis',
        'Davies', 'Rodriguez', 'Cox', 'Alexander'
    ]

    countries = [
        ("ZA", "South Africa", 27, "ZAR", "Africa/Johannesburg"),
        ("BF", "Burkina Faso", 226, "XOF", "Africa/Ouagadougou"),
        ("US", "United States of America", 1, "USD", "America/New_York"),
        ("BR", "Brazil", 55, "BRL", "America/Sao_Paulo"),
        ("TZ", "Tanzania", 255, "TZS", "Africa/Dar_es_Salaam"),
        ("DE", "Germany", 49, "EUR", "Europe/Berlin"),
        ("CN", "China", 86, "CNY", "Asia/Shanghai"),
    ]

    user_list = []
    for i in range(len(first_names)):
        user = User()
        country = random.choice(countries)
        user.type = random.choice(AVAILABLE_USER_TYPES)[0]
        user.first_name = first_names[i]
        user.last_name = last_names[i]
        user.email = first_names[i].lower() + "@example.com"

        user.website = "https://www.example.com"
        user.ip_address = "127.0.0.1"

        user.coutry = country[1]
        user.currency = country[3]
        user.timezone = country[4]

        user.dialling_code = country[2]
        user.local_phone_number = '0' + ''.join(
            random.choices('123456789', k=9))

        user_list.append(user)
        db.session.add(user)

    # Create sample Tags
    tag_list = []
    for tmp in [
            "YELLOW", "WHITE", "BLUE", "GREEN", "RED", "BLACK", "BROWN",
            "PURPLE", "ORANGE"
    ]:
        tag = Tag()
        tag.name = tmp
        tag_list.append(tag)
        db.session.add(tag)

    # Create sample Posts
    sample_text = [{
        'title':
        "de Finibus Bonorum et Malorum - Part I",
        'content':
        "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor \
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud \
exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure \
dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. \
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt \
mollit anim id est laborum."
    }, {
        'title':
        "de Finibus Bonorum et Malorum - Part II",
        'content':
        "Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque \
laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto \
beatae vitae dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit aspernatur \
aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi \
nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, \
adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam \
aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam \
corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum \
iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, vel illum \
qui dolorem eum fugiat quo voluptas nulla pariatur?"
    }, {
        'title':
        "de Finibus Bonorum et Malorum - Part III",
        'content':
        "At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium \
voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati \
cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id \
est laborum et dolorum fuga. Et harum quidem rerum facilis est et expedita distinctio. Nam \
libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod \
maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus. \
Temporibus autem quibusdam et aut officiis debitis aut rerum necessitatibus saepe eveniet \
ut et voluptates repudiandae sint et molestiae non recusandae. Itaque earum rerum hic tenetur \
a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis \
doloribus asperiores repellat."
    }]

    for user in user_list:
        entry = random.choice(sample_text)  # select text at random
        post = Post()
        post.user = user
        post.title = "{}'s opinion on {}".format(user.first_name,
                                                 entry['title'])
        post.text = entry['content']
        post.background_color = random.choice(
            ["#cccccc", "red", "lightblue", "#0f0"])
        tmp = int(1000 * random.random())  # random number between 0 and 1000:
        post.date = datetime.datetime.now() - datetime.timedelta(days=tmp)
        post.tags = random.sample(tag_list,
                                  2)  # select a couple of tags at random
        db.session.add(post)

    # Create a sample Tree structure
    trunk = Tree(name="Trunk")
    db.session.add(trunk)
    for i in range(5):
        branch = Tree()
        branch.name = "Branch " + str(i + 1)
        branch.parent = trunk
        db.session.add(branch)
        for j in range(5):
            leaf = Tree()
            leaf.name = "Leaf " + str(j + 1)
            leaf.parent = branch
            db.session.add(leaf)

    db.session.commit()
    return
Beispiel #22
0
class SiteRequestHandler(TemplateView):
    def __init__(self):
        self.template_vals = {}
        ## Don not define self.app_context there, it will override in sub class when use in render* method

    def initialize(self, request):
        TemplateView.initialize(self, request)
        ## some for authorize
        # self.login_user = users.get_current_user()
        self.login_user = auth.authenticate(username="******", password="******")
        self.is_login = self.login_user is not None
        self.loginurl = reverse(login)  # users.create_login_url(self.request.path)
        self.logouturl = reverse(logout)  # users.create_logout_url(self.request.path)
        # self.is_admin = users.is_current_user_admin()
        self.is_admin = False  # TODO: make it valid
        # three status: admin author login
        if self.is_admin:
            self.auth = "admin"
            self.author = User.all().filter("email =", self.login_user.email()).get()
            if not self.author:
                # init author database
                self.author = User(dispname=self.login_user.nickname(), email=self.login_user.email())
                self.author.isadmin = True
                self.author.user = self.login_user
                self.author.put()
        elif self.is_login:
            self.author = User.all().filter("email =", self.login_user.email()).get()
            if self.author:
                self.auth = "author"
            else:
                self.auth = "login"
        else:
            self.auth = "guest"

        try:
            # self.referer = self.request.headers['referer']
            self.referer = self.request.META["HTTP_REFERER"]
        except:
            self.referer = None

    ### TODO: check code position

    def error(self, errorcode, message="an error occured"):
        if errorcode == 404:
            message = (
                "Sorry, we were not able to find the requested page.  We have logged this error and will look into it."
            )
        elif errorcode == 403:
            message = "Sorry, that page is reserved for administrators.  "
        elif errorcode == 500:
            message = "Sorry, the server encountered an error.  We have logged this error and will look into it."

        message += "<p><pre>" + traceback.format_exc() + "</pre><br></p>"
        # self.template_vals.update( {'errorcode':errorcode,'message':message})

        # TODO:zy
        # if errorcode>0:
        # self.response.set_status(errorcode)

        # errorfile=getattr(self.blog.theme,'error'+str(errorcode))
        # logging.debug(errorfile)
        ##        if not errorfile:
        ##            errorfile=self.blog.theme.error
        errorfile = "error" + str(errorcode) + ".html"
        # try:
        #    content=micolog_template.render(self.blog.theme,errorfile, self.template_vals)
        # except TemplateDoesNotExist:
        #    try:
        #        content=micolog_template.render(self.blog.theme,"error.html", self.template_vals)
        #    except TemplateDoesNotExist:
        #        content=micolog_template.render(self.blog.default_theme,"error.html", self.template_vals)
        #    except:
        #        content=message
        # except:
        #    content=message
        # self.response.out.write(content)
        return self.render(errorfile, {"errorcode": errorcode, "message": message})

    def message(self, msg, returl=None, title="Infomation"):
        return self.render("msg", {"message": msg, "title": title, "returl": returl})

    def render(self, template_file, params={}, mimetype=None, status=None, content_type=None):
        """
        Helper method to render the appropriate template
        """
        params.update(self.template_vals)
        template = get_template_uri(self.app_context, template_file)
        t = loader.get_template(template)
        c = RequestContext(self.request, params)
        self.response.write(t.render(c))
        if mimetype:
            content_type = mimetype
        if content_type:
            self.response["Content-Type"] = content_type
        # response = HttpResponse(t.render(c), **kargs)

    def render2(self, template_file, params={}, **kargs):
        self.render(template_file, params, **kargs)

    def render2_bak(self, template_file, params={}):
        """
        Helper method to render the appropriate template
        """

        params.update(self.template_vals)
        template = get_template_uri(self.app_context, template_file)
        return shortcuts.render_to_response(
            template_name=template, dictionary=params, context_instance=RequestContext(self.request)
        )

    def param(self, name, **kw):
        method = getattr(self.request, self.request.method)
        method2 = getattr(self.request, self.request.method == "GET" and "POST" or "GET")
        ret = method.get(name)
        if not ret:
            ret = method2.get(name, **kw)
        return ret and ret or ""

    def paramstr(self, name, **kw):
        return self.param(name, **kw)

    def paramint(self, name, default=0):
        value = self.param(name)
        try:
            return int(value)
        except:
            return default

    def parambool(self, name, default=False):
        value = self.param(name)
        try:
            return value == "on"
        except:
            return default

    def paramfloat(self, name, default=0.00):
        value = self.param(name)
        try:
            return float(value)
        except:
            return default

    def paramlist(self, name, **kw):
        lst = self.param(name)
        return lst and lst.split(",") or []

    def write(self, s):
        self.response.out.write(s)

    def chk_login(self, redirect_url="/"):
        if self.is_login:
            return True
        else:
            self.redirect(redirect_url)
            return False

    def chk_admin(self, redirect_url="/"):
        if self.is_admin:
            return True
        else:
            self.redirect(redirect_url)
            return False

    def redirect(self, to, *args, **kwargs):
        if kwargs.pop("permanent", False):
            self.response.status_code = 301
        else:
            self.response.status_code = 302
        # If it's a model, use get_absolute_url()
        iri = to
        if hasattr(to, "get_absolute_url"):
            iri = to.get_absolute_url()
        else:
            # Next try a reverse URL resolution.
            try:
                iri = urlresolvers.reverse(to, args=args, kwargs=kwargs)
            except urlresolvers.NoReverseMatch:
                # If this is a callable, re-raise.
                if callable(to):
                    raise
                # If this doesn't "feel" like a URL, re-raise.
                if "/" not in to and "." not in to:
                    raise
        self.response["Location"] = iri_to_uri(iri)
Beispiel #23
0
def controlleruser(request):
    session = None
    try:
        session = request.session['userid']
    except KeyError:
        pass
    if session==None:
        return redirect("/admin/")
    user = manage.searchById(request.session['userid'])
    manager = ManageUser()
    action = request.POST['action'];
    if action is not None:
        if str(action).__eq__(''):
            return ''
        else:
            if str(action).__eq__(Action.CREER):
                type = request.POST['type']
                username = request.POST['username']
                password = request.POST['password']
                firstname = request.POST['firstname']
                lastname = request.POST['lastname']
                email = request.POST['email']
                if type!=None and username!=None and password!=None and firstname!=None and lastname!=None and email!=None:
                    user1 = User(type=type, active=True, username=username, password=password, firstname=firstname, lastname=lastname,email=email)
                    try:
                        user1.id=request.POST['id']
                    except:
                        pass
                    try:
                        valid = True
                        t = get_template('admin/user/form.html')
                        dic = {'login':True,'type':Type(),'action':Action.CREER,'user':user}
                        dic['type1'] = str(type)
                        dic['username'] = str(username)
                        dic['firstname'] = str(firstname)
                        dic['lastname'] = str(lastname)
                        dic['email'] = str(email)
                        if 'id' in request.POST:
                            if manager.iscreateuser(username):
                                dic['error2'] = 'Already exist'
                                valid = False
                            if manager.isexistmail(email):
                                dic['error6'] = 'Already exist'
                                valid = False
                        if not valid:
                            html = t.render(Context(dic))
                            return HttpResponse(html)
                        user1.save()
                        if user1.type.__eq__(Type.PROF):
                            prof=Professor()
                            prof.nom=user1.lastname
                            prof.prenom=user1.firstname
                            prof.email=user1.email
                            p=Professor.objects.get(id=prof.save())
                            userprof=UserProf()
                            userprof.user=user1
                            userprof.professeur=p
                            userprof.save()
                            subject, from_email, to = 'System descriptif cours ESIH', '*****@*****.**', prof.email
                            link='<a href="http://ancient-ridge-9094.herokuapp.com/">http://ancient-ridge-9094.herokuapp.com/</a>'
                            html_content ='Salut {} {}!<p> Votre compte est << {} >> et mot de passe << {} >>. Cliquer sur ce lien {} pour connecter au systeme descriptif cours de l\'ESIH.</p>'.format(prof.prenom,prof.nom,username,password,link)
                            msg = EmailMultiAlternatives(subject, '', from_email, [to])
                            msg.attach_alternative(html_content, "text/html")
                            msg.send()
                        message = "The account {} has created for {} <a href=\"/admin/user/list/\">Retour</a>".format(type,firstname)
                        t = get_template('admin/user/repform.html')
                        html = t.render(Context({'login':True,'message':message,'user':user}))
                        return HttpResponse(html)
                    except  IntegrityError:
                        message = "Error "
                        t = get_template('admin/user/repform.html')
                        html = t.render(Context({'login':True,'message':message,'user':user}))
                        return HttpResponse(html)

            if str(request.POST['action']).__eq__(Action.SUCCES_DEL):
                #try:
                user2 = manage.searchById(request.POST['id'])
                if user2.type.__eq__(Type.PROF):
                    userp=UserProf.objects.filter(user_id=user2.id)[0]
                    p = Professor.objects.get(id=userp.professeur.id)
                    for us in UserProf.objects.all():
                        if us.id==user2.id:
                            us.delete()
                    p.delete()

                user2.delete()
                title = 'Supression'
                message = "{} a ete suprimé avec succès.".format(user2)
                color='#999999'
                #except:
                    # title = 'Avertissement!!!'
                    # color ='red'
                    # message = "Une erreur c'est produite!  Le système n'arrive pas à supprimer l'utilisateur demandé."

            dic = {'login':True,'nom': '', 'user': user,'message':message,'color':color,'title':title}
            t = get_template('admin/user/succdel.html')
            html = t.render(Context(dic))
            return HttpResponse(html)
Beispiel #24
0
            tag.min_tag_id = int(data['pagination']['min_tag_id'])
            tag.save()
        except KeyError:
            pass

        if not data.has_key('data'):
            logging.warning('No data in fetched url: %s' % url)
            return

        logging.info('Downloaded %d photos for tag #%s' % (len(data['data']), tag_name))
        for d in data['data']:
            Photo().add_or_update(d)

            u = User.objects.get_by_name(d['user']['username'])
            if u is None:
                u = User()
                u.instagram_id = d['user']['id']
                u.name = d['user']['username']
                u.pic = d['user']['profile_picture']
                # u.full_name = d['user']['full_name']
                u.points = 0
                u.vote_like = 0
                u.vote_dislike = 0
                try:
                    u.last_subject_id = Subject.objects.get_current().id
                except AttributeError:
                    logging.error('cannot find current subject!!!')
                    u.last_subject_id = 0
                u.last_subject_points = 0
                u.save()
Beispiel #25
0
Datei: dao.py Projekt: lpcpp/Jeep
def create_user(username, password):
    user = User(username=username, password=md5(password))
    user.save()
Beispiel #26
0
def index(request):
    if request.method == "POST" and request.POST.has_key("user"):

        u = json.loads(request.POST["user"])

        try:
            user = User.objects.filter(instagram_id=u["instagram_id"]).get()
            user.token = u["token"]
            user.access_token = u["access_token"]  # instagram's one
            user.pic = u["pic"]
            user.full_name = u["full_name"]
            user.save()

        except User.DoesNotExist:
            user = User()
            user.token = u["token"]
            user.access_token = u["access_token"]
            user.name = u["name"]
            user.instagram_id = u["instagram_id"]
            user.full_name = u["full_name"]
            user.pic = u["pic"]
            user.photos = 0
            user.vote_like = u["vote_like"]
            user.vote_dislike = u["vote_dislike"]
            try:
                user.last_subject_id = Subject.objects.get_current().id
            except AttributeError:
                logging.error("cannot find current subject!!!")
                user.last_subject_id = 0
            user.last_subject_points = 0
            user.save()

    return {"body": ""}