Example #1
0
def registerPage(request):
    if request.method == 'POST':
        userimage = request.FILES['userimg']
        username = request.POST['username']
        useremail = request.POST['email']
        userpass = request.POST['realpass']

        if 'register' in request.POST:
            try:
                x = str(userimage).split(".")
                if x[-1] != "jpg": raise Exception

                # a = os.path.getsize(str(userimage))
                # if a > 1500000: raise Exception

                auth.current_user = auth.create_user_with_email_and_password(email=useremail, password=userpass)

                data = {
                    u"userEmail": u'{}'.format(useremail),
                    u"userName": u'{}'.format(username),
                    u"userAvatar": u'{}'.format(auth.current_user['localId'] + ".jpg"),
                    u"userUID": u'{}'.format(auth.current_user['localId']),
                    u'regisDate': u'{}'.format(datetime.datetime.now()),
                    u'userActive': False
                }
                to_database = db.collection(u"userData").document(auth.current_user['localId'])
                to_database.set(data)

                avatar = auth.current_user['localId'] + ".jpg"
                ref = db_storage.child(f'Avatar/{avatar}')
                ref.put(userimage)

                user_data = db.collection(u"userData").document(auth.current_user['localId']).get()
                send_mail(
                    'Account Confirmation',
                    f'Hello dear, {user_data.to_dict()["userName"]}. Please click the link to activate your account.{" "}Your userUID: {user_data.to_dict()["userUID"]}'
                    f'\nHere is the link:  http://127.0.0.1:8000/activateUser/{user_data.to_dict()["userUID"]}',
                    f'{EMAIL_HOST_USER}',
                    [f'{user_data.to_dict()["userEmail"]}'],
                    fail_silently=False,
                )

                return HttpResponse(
                    "<h4>Thanks for registration. Please confirm our email which is sended to your account, for activate your account.</h4>")

            except Exception as error:
                if DEBUG:
                    traceback.print_exc()
                return render(request, 'AuthRegister.html', {'CVP': 'FALSE'})

    return render(request, 'AuthRegister.html')
Example #2
0
def activateUser(request, userID):
    activate_user = db.collection(u'userData').document(u'{}'.format(userID))

    activate_user.set({
        u'userActive': True
    }, merge=True)

    return HttpResponse("<p>Thanks for activate your account.</p>")
Example #3
0
def loginPage(request):
    if request.method == 'POST':
        user_email = request.POST['usermail']
        user_pass = request.POST['userpass']

        try:
            auth.current_user = auth.sign_in_with_email_and_password(email=user_email, password=user_pass)
            request.session['id'] = auth.current_user['localId']

            user_data = db.collection(u'userData').document(u'{}'.format(request.session['id'])).get().to_dict()
            request.session['avatar'] = db_storage.child('Avatar/{}'.format(user_data['userAvatar'])).get_url("")
            request.session['userName'] = user_data['userName']
            request.session['userActive'] = user_data['userActive']

            return redirect('home')

        except:
            if DEBUG:
                traceback.print_exc()
            return render(request, 'AuthLogin.html', {'CVP': 'FALSE'})

    return render(request, 'AuthLogin.html')
Example #4
0
def trashedTasks(request):
    if request.session['userActive']:
        finished_notes = db.collection(u'userData').document(u'{}'.format(request.session['id'])).collection(u'Notlarım').order_by(u'notTarihi', direction=firestore.Query.DESCENDING).get()
        return render(request, 'TrashedTasks.html', {'notes': finished_notes})
    else:
        return redirect('loginPage')
Example #5
0
def Home(request):
    if request.session['id'] is None:
        return render(request, 'NotAuth.html', {})

    if request.session['userActive']:
        if request.method == 'POST':
            if 'addtask' in request.POST:
                notbaslik = request.POST.get('notbaslik')
                noticerik = request.POST.get('noticerik')

                frontend = request.POST.get('frontend')
                backend = request.POST.get('backend')
                doc = request.POST.get('doc')
                bug = request.POST.get('bugs')

                try:

                    send_note = db.collection(u'userData').document(u'{}'.format(request.session['id'])).collection(
                        u'Notlarım').document()
                    data = {
                        u"notBaslik": u"{}".format(notbaslik),
                        u"notIcerik": u"{}".format(noticerik),
                        u"trashed": False,
                        u"finished": False,
                        u"labels": [frontend, backend, doc, bug],
                        u"notTarihi": u"{}".format(datetime.datetime.now()),
                        u"userUID": u"{}".format(request.session['id']),

                    }
                    send_note.set(data)

                    not_id = {u"notID": u"{}".format(send_note.id)}
                    send_note.set(not_id, merge=True)

                except:
                    if DEBUG:
                        traceback.print_exc()
                    return render(request, 'HomePage.html', {})

            if 'updatenot' in request.POST:
                notbaslik_update = request.POST['notbaslikupdate']
                noticerik_update = request.POST['noticerikupdate']
                try:

                    send_note = db.collection(u'userData').document(u'{}'.format(request.session['id'])).collection(u'Notlarım').document()
                    data = {
                        u"notBaslik": u"{}".format(notbaslik_update),
                        u"notIcerik": u"{}".format(noticerik_update),
                        u"notTarihi": u"{}".format(datetime.datetime.now()),
                        }
                    send_note.set(data, merge=True)


                except:
                    if DEBUG:
                        traceback.print_exc()
                    return render(request, 'HomePage.html', {})

            if 'nottamam' in request.POST:
                take_all_notes = db.collection(u'userData').document(u'{}'.format(request.session['id'])).collection(
                    u'Notlarım').get()

                notes = []
                for item in take_all_notes:
                    notes.append(item.id)

                for i in range(0, len(notes)):
                    if str(i) == request.POST.get('nottamam'):
                        update_node_data = db.collection(u'userData').document(
                            u'{}'.format(request.session['id'])).collection(
                            u'Notlarım').document(notes[i])

                        try:
                            update_node_data.set({
                                u"finished": True
                            }, merge=True)

                        except:
                            return render(request, 'HomePage.html', {})
            if 'notsil' in request.POST:
                take_all_notes = db.collection(u'userData').document(u'{}'.format(request.session['id'])).collection(
                    u'Notlarım').get()

                notes = []
                for item in take_all_notes:
                    notes.append(item.id)

                for i in range(0, len(notes)):
                    if str(i) == request.POST.get('notsil'):
                        update_node_data = db.collection(u'userData').document(
                            u'{}'.format(request.session['id'])).collection(u'Notlarım').document(notes[i])

                        try:
                            update_node_data.set({
                                u"trashed": True
                            }, merge=True)

                        except:
                            return render(request, 'HomePage.html', {})



    else:
        return render(request, 'NotAuth.html', {})

    take_notes = db.collection(u'userData').document(u'{}'.format(request.session['id'])).collection(u'Notlarım').order_by(u'notTarihi', direction=firestore.Query.DESCENDING).get()

    return render(request, 'HomePage.html', {'CVP': 'TRUE','notes': take_notes})