Beispiel #1
0
def home():
    print "config.AUTHENTICATE {}".format(config.AUTHENTICATE)
    if config.AUTHENTICATE:
        return render_template('index.html',
                               login_form=LoginForm(),
                               create_form=CreateAccountForm())
    else:
        email = 'default'
        password = '******'
        access_key_id = config.AWS_ID
        secret_access_key = config.AWS_KEY
        aws_bucket_name = config.AWS_BUCKET_NAME
        next_backend_global_host = config.NEXT_BACKEND_GLOBAL_HOST
        if not User.objects(email=email):
            user = User(email=email,
                        access_key_id=access_key_id,
                        secret_access_key=secret_access_key,
                        aws_bucket_name=aws_bucket_name,
                        next_backend_global_host=next_backend_global_host)
            user.set_password(password)
            user.save()
        else:
            user = User.objects(email=email).first()
        login_user(user, remember=True)
        return redirect(url_for('dashboard._dashboard'))
Beispiel #2
0
 def saveUser(self, _param):
     """
     保存用户信息
     @param _param: 
     @return: 
     """
     flag_add = True
     user = User.objects.filter(
         pk=_param['id']).first() if _param.get('id', None) else None
     if user:
         flag_add = False
     if user and User.objects.exclude(pk=_param['id']).filter(
             username=_param['username']).count():
         raise ex(u'该用户名已经存在!')
     if not user:
         if _param.get('username', None) and User.objects.filter(
                 username=_param['username']):
             raise ex(u'该用户名已经存在!')
         user = User()
     dic2obj(user, [
         'username', 'truename', 'name', 'email', 'phone', 'department_id',
         'role_id'
     ], _param)
     if _param.get('password', ''):
         user.password = _param['password']
     user.save()
     self.logAtion(ActionLog.ACTION_MODIFY, User, user.id)
Beispiel #3
0
def signup():
    user = User()
    form = UserForm()
    if form.validate_on_submit():
        form.populate_obj(user)
        user.save(force_insert=True)
        flash('Your account have been created')
        return redirect(url_for('index'))
    return render_template('index.html', form=form)
Beispiel #4
0
def submit(request):
    try:
        email = request.POST.get('email')
        locale_id = request.POST.get('locale_id')
        user = User(email=email.lower(), locale_id_id=locale_id, active=True)
        user.save()
        return HttpResponseRedirect(reverse('subscription:submitted'))
    except IntegrityError as err:
        log_error(err)
    return HttpResponseRedirect(reverse('subscription:nosubmit'))
Beispiel #5
0
def init_data():
    """Fish data for project"""
    if prompt_bool('Do you want to kill your db?'):
        db.drop_all()
    try:
       db.create_all()
    except:
        pass

    user = User.query.filter(User.email=='*****@*****.**').first()
    if user is None:
       user = User(username='******', email='*****@*****.**', password='******')
    user.save()
Beispiel #6
0
    def __init__(self):
        global _player
        if _player is not None:
            raise "Player was initialized!"

        random.seed(time.clock())

        print("Starting player...")
        self.vlcInstance = vlc.Instance(
            "--live-caching=0 --network-caching=0 --norm-buff-size=8")
        self.vlcPlayer = self.vlcInstance.media_player_new()
        self.vlcEvents = self.vlcPlayer.event_manager()
        self.vlcEvents.event_attach(vlc.EventType.MediaPlayerEndReached,
                                    self.songFinished)
        self.vlcEvents.event_attach(vlc.EventType.MediaPlayerEncounteredError,
                                    self.songCorrupted)
        self.vlcEvents.event_attach(vlc.EventType.MediaStateChanged,
                                    self.mediaStateChanged)

        # Import old DJPajton playlist
        if Song.objects.count() == 0 and os.path.isfile('music4you.playlist'):
            with open("music4you.playlist", "r") as f:
                playlist = json.loads(f.read())
                for item in playlist:
                    print("Item: {}".format(item))

                    song = Song()
                    song.id = int(item['id'])
                    song.date = item['addedDate']
                    song.active = (bool(item['deleted']) == False)
                    song.url = item['url']
                    song.title = item['title']

                    try:
                        user = User.objects.get(login=item['addedLogin'])
                    except:
                        user = User()
                        user.active = False
                        user.type = USER_TYPE_SKYPE
                        user.login = item['addedLogin']
                        user.displayName = user.login
                        user.save()

                    song.user = user
                    song.save()

        #self.vlcPlayer.audio_set_volume(100)

        if Song.objects.count() == 0:
            return
Beispiel #7
0
    def form_valid(self, form):
        # Create a user, but remember to set inactive!
        user = User()
        user.username = form.cleaned_data['email']
        user.email = form.cleaned_data['email']
        user.is_active = False
        try:
            user.save()
        except IntegrityError:
            form.add_error('email',
                           gettext('Shop with this email already exists.'))
            return super(ShopRegisterView, self).form_invalid(form)

        self.object = form.save(commit=False)
        self.object.postcode = Postcode.objects.get(
            postcode=form.cleaned_data['postcode_special'])
        self.object.user = user
        self.object.save()

        current_site = get_current_site(self.request)
        context = {
            'shopname': self.object.name,
            'user': user,
            'domain': current_site.domain,
            'uid': urlsafe_base64_encode(force_bytes(user.pk)),
            'token': account_activation_token.make_token(user),
        }

        html_message = render_to_string('emails/account_activation.html',
                                        context)
        txt_message = render_to_string('emails/account_activation.txt',
                                       context)

        email = EmailMultiAlternatives(gettext('FOODBEE - Confirm email'),
                                       txt_message)
        email.from_email = settings.DEFAULT_FROM_EMAIL
        email.to = [self.object.email]
        email.attach_alternative(html_message, "text/html")
        email.content_subtype = 'html'
        email.mixed_subtype = 'related'

        with open('base/static/base/img/fb_logo.png', mode='rb') as f:
            image = MIMEImage(f.read())
            image.add_header('Content-ID', "<Foodbee_logo_long.png>")
            email.attach(image)

        email.send()

        return super().form_valid(form)
Beispiel #8
0
class KitTestCase(TestCase):

    def create_app(self):
        return AppFactory(TestingConfig).get_app(__name__)

    def setUp(self):
        db.create_all()
        self.user = User(username='******', email='*****@*****.**', password='******')
        self.user.save()

    def tearDown(self):
        db.session.remove()
        db.drop_all()

    def assertContains(self, response, text, count=None,
                       status_code=200, msg_prefix=''):
        """
        Asserts that a response indicates that some content was retrieved
        successfully, (i.e., the HTTP status code was as expected), and that
        ``text`` occurs ``count`` times in the content of the response.
        If ``count`` is None, the count doesn't matter - the assertion is true
        if the text occurs at least once in the response.
        """

        if msg_prefix:
            msg_prefix += ": "

        self.assertEqual(response.status_code, status_code,
            msg_prefix + "Couldn't retrieve content: Response code was %d"
                         " (expected %d)" % (response.status_code, status_code))

        real_count = response.data.count(text)
        if count is not None:
            self.assertEqual(real_count, count,
                msg_prefix + "Found %d instances of '%s' in response"
                             " (expected %d)" % (real_count, text, count))
        else:
            self.assertTrue(real_count != 0,
                msg_prefix + "Couldn't find '%s' in response" % text)
Beispiel #9
0
def create():
    create_form = CreateAccountForm(request.form)
    if create_form.validate_on_submit():
        print "form data",create_form.new_email.data
        new_email = create_form.new_email.data
        new_password = create_form.new_password.data
        confirm_password = create_form.confirm_password.data
        print User.objects()
        if User.objects(email=new_email).count() == 0:
            if new_password == confirm_password:
                # Set the hashed password on the user.
                user = User(email=new_email)
                user.set_password(new_password)
                user.save()
                login_user(user, remember=True)
                return redirect(url_for('dashboard._dashboard'))
            else:
                flash("Passwords don't match!", "create_error")
                return redirect('#create')    
        else:
            flash("Username exists!", "create_error")
            return redirect('#create')
    # login form is not valid
    return render_template('index.html', login_form=LoginForm(), create_form=create_form)
Beispiel #10
0
def create():
    create_form = CreateAccountForm(request.form)
    if create_form.validate_on_submit():
        print "form data",create_form.new_email.data
        new_email = create_form.new_email.data
        new_password = create_form.new_password.data
        confirm_password = create_form.confirm_password.data
        print User.objects()
        if User.objects(email=new_email).count() == 0:
            if new_password == confirm_password:
                # Set the hashed password on the user.
                user = User(email=new_email)
                user.set_password(new_password)
                user.save()
                login_user(user, remember=True)
                return redirect(url_for('dashboard._dashboard'))
            else:
                flash("Passwords don't match!", "create_error")
                return redirect('#create')    
        else:
            flash("Username exists!", "create_error")
            return redirect('#create')
    # login form is not valid
    return render_template('index.html', login_form=LoginForm(), create_form=create_form)
Beispiel #11
0
class UserTests(TestCase):
    def setUp(self):
        self.client = Client()
        self.user1 = User(username="******",
                          first_name="Fa",
                          password="******")
        self.user1.save()
        self.user2 = User(username="******",
                          first_name="Fa",
                          password="******")
        self.user2.save()

    def test_get_users(self):
        user_list = self.client.get('/users/')
        u_json_string = json.loads(user_list.content.decode('utf-8'))
        self.assertEqual(user_list.status_code, 200)
        self.assertEqual(u_json_string[0]['username'], "*****@*****.**")
        self.assertEqual(u_json_string[1]['username'],
                         "*****@*****.**")
        self.assertEqual(u_json_string[0]['role'], UserProfile.INSTRUCTOR)
        self.assertEqual(u_json_string[1]['role'], UserProfile.STUDENT)
        self.assertEqual(u_json_string[0]['first_name'], "Fa")
        self.assertEqual(u_json_string[1]['first_name'], "Fa")

    def test_get_user_detail(self):
        user_detail1 = self.client.get('/users/%s/' % self.user1.pk)
        u1_json_string = json.loads(user_detail1.content.decode('utf-8'))
        user_detail2 = self.client.get('/users/%s/' % self.user2.pk)
        u2_json_string = json.loads(user_detail2.content.decode('utf-8'))
        self.assertEqual(user_detail1.status_code, 200)
        self.assertEqual(user_detail2.status_code, 200)
        self.assertEqual(u1_json_string['username'], "*****@*****.**")
        self.assertEqual(u2_json_string['username'], "*****@*****.**")
        self.assertEqual(u1_json_string['role'], UserProfile.INSTRUCTOR)
        self.assertEqual(u2_json_string['role'], UserProfile.STUDENT)
        self.assertEqual(u1_json_string['first_name'], "Fa")
        self.assertEqual(u2_json_string['first_name'], "Fa")

    def test_get_bad_user_detail(self):
        user_detail = self.client.get('/users/9999/')
        u_json_string = json.loads(user_detail.content.decode('utf-8'))
        self.assertEqual(user_detail.status_code, 404)
        self.assertEqual(u_json_string['detail'], "Not found.")

    def test_full_put_user(self):
        self.assertEqual(self.user1.userprofile.role, UserProfile.INSTRUCTOR)
        self.assertEqual(self.user1.first_name, "Fa")

        # Updated user information
        new_info = {
            "first_name": "Hello",
            "username": "******",
            "role": UserProfile.STUDENT,
        }
        user_put = self.client.put('/users/%s/' % self.user1.pk,
                                   json.dumps(new_info),
                                   content_type="application/json")
        self.assertEqual(user_put.status_code, 200)
        self.assertEqual(
            User.objects.get(pk=self.user1.pk).userprofile.role,
            UserProfile.STUDENT)
        self.assertEqual(
            User.objects.get(pk=self.user1.pk).first_name, "Hello")

    def test_partial_put_user(self):
        self.assertEqual(self.user1.userprofile.role, UserProfile.INSTRUCTOR)
        self.assertEqual(self.user1.first_name, "Fa")

        # Updated user information
        new_info = {
            "first_name": "Hello",
            "username": "******",
        }
        user_put = self.client.put('/users/%s/' % self.user1.pk,
                                   json.dumps(new_info),
                                   content_type="application/json")
        self.assertEqual(user_put.status_code, 200)
        self.assertEqual(
            User.objects.get(pk=self.user1.pk).userprofile.role,
            UserProfile.INSTRUCTOR)
        self.assertEqual(
            User.objects.get(pk=self.user1.pk).first_name, "Hello")

    def test_bad_put_user(self):
        # Updated user information
        new_info = {
            "first_name": "Hello",
            "username": "",
            "role": UserProfile.STUDENT,
        }
        user_put = self.client.put('/users/%s/' % self.user1.pk,
                                   json.dumps(new_info),
                                   content_type="application/json")
        self.assertEqual(user_put.status_code, 400)

    def test_delete_user(self):
        self.user3 = User(username="******",
                          first_name="Ryan",
                          password="******")
        self.user3.save()
        user_detail = self.client.get('/users/%s/' % self.user3.pk)
        u_json_string = json.loads(user_detail.content.decode('utf-8'))
        self.assertEqual(user_detail.status_code, 200)

        user_delete = self.client.delete('/users/%s/' % self.user3.pk)
        self.assertEqual(user_delete.status_code, 204)

        user_detail = self.client.get('/users/%s/' % self.user3.pk)
        u_json_string = json.loads(user_detail.content.decode('utf-8'))
        self.assertEqual(user_detail.status_code, 404)
Beispiel #12
0
def add_user(request):
    '''用户添加'''
    context = {}
    context['add_user'] = True
    if request.method == 'GET':
        #获得职位信息
        positions = Position.objects.all()
        position_list = []
        for position in positions:
            position_list.append({
                'id': position.id,
                'name': position.name,
            })
        #获得部门信息
        departments = Department.objects.all()
        department_list = []
        for department in departments:
            department_list.append({
                'id': department.id,
                'name': department.name,
            })
        if department_list:
            context['department_list'] = department_list
        if position_list:
            context['position_list'] = position_list

    else:
        errorList = []
        username = request.POST['username']
        username_zh = request.POST.get('username_zh', '')
        mobile = request.POST['mobile']
        password = request.POST['password']
        confirm_password = request.POST['confirm_password']
        department = request.POST.get('department', '')
        position = request.POST.get('position', '')
        chief = request.POST.get('chief', '')
        short_phone = request.POST.get('short_phone', '')
        if password != confirm_password:
            errorList.append({'error': u'密码不一致'})
        else:
            user = User()
            if username:
                user.username = username
            if username_zh:
                user.username_zh = username_zh
            if mobile:
                user.mobile = mobile
            if department:
                user.department = Department.objects.get(id=int(department))
            if position:
                user.position = Position.objects.get(id=int(position))
            if short_phone:
                user.short_phone = short_phone
            user.set_password(password)
            try:
                user.full_clean()
                user.save()

            except ValidationError as e:
                # Do something based on the errors contained in e.message_dict.
                # Display them to a user, or handle them programmatically.
                errKeys = e.message_dict.keys()
                for errKey in errKeys:
                    errorList.append({'error': e.message_dict[errKey][0]})
        if errorList:
            context['errorList'] = errorList

    return render(request, 'base/settings.html', context)
sb1.save();
sb2.save();
sb3.save();

t1 = Tag(tag_name='government schools');
t2 = Tag(tag_name='advertising');
t3 = Tag(tag_name='legal');
t4 = Tag(tag_name='community project');

t1.save();
t2.save();
t3.save();
t4.save();

u1 = User(user_email='*****@*****.**');
u1.save();
u2 = User(user_email='*****@*****.**');
u2.save();

sk1 = Skill(skill_name='Information Architecture');
sk2 = Skill(skill_name='Web Development');
sk3 = Skill(skill_name='Photography&Filmography');
sk4 = Skill(skill_name='Brand Management');
sk5 = Skill(skill_name='Content Generation');
sk6 = Skill(skill_name='Stratergy Consulting');

sk1.save();
sk2.save();
sk3.save();
sk4.save();
sk5.save();