diff --git a/mysite/.gitignore b/mysite/.gitignore new file mode 100644 index 0000000..ba520cc --- /dev/null +++ b/mysite/.gitignore @@ -0,0 +1 @@ +db.sqlite3 \ No newline at end of file diff --git a/mysite/account/.gitignore b/mysite/account/.gitignore new file mode 100644 index 0000000..826e47b --- /dev/null +++ b/mysite/account/.gitignore @@ -0,0 +1,2 @@ +credentials.py +__pycache__ \ No newline at end of file diff --git a/mysite/account/admin.py b/mysite/account/admin.py index d5ac218..85769e0 100644 --- a/mysite/account/admin.py +++ b/mysite/account/admin.py @@ -2,9 +2,10 @@ #password: adminpassword from django.contrib import admin -from .models import Case, Profile, Passwords +from .models import Case, Profile, Passwords, Otp_database # Register your models here. admin.site.register(Case) admin.site.register(Passwords) admin.site.register(Profile) +admin.site.register(Otp_database) diff --git a/mysite/account/migrations/0002_otp_database.py b/mysite/account/migrations/0002_otp_database.py new file mode 100644 index 0000000..626e02b --- /dev/null +++ b/mysite/account/migrations/0002_otp_database.py @@ -0,0 +1,22 @@ +# Generated by Django 2.0.9 on 2019-03-17 17:31 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('account', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Otp_database', + fields=[ + ('username', models.CharField(max_length=20, primary_key=True, serialize=False)), + ('otp_id', models.CharField(max_length=10)), + ('otp_text', models.CharField(max_length=10)), + ('timestamp', models.DateTimeField()), + ], + ), + ] diff --git a/mysite/account/migrations/__pycache__/0001_initial.cpython-36.pyc b/mysite/account/migrations/__pycache__/0001_initial.cpython-36.pyc index 665afcc..da34e91 100644 Binary files a/mysite/account/migrations/__pycache__/0001_initial.cpython-36.pyc and b/mysite/account/migrations/__pycache__/0001_initial.cpython-36.pyc differ diff --git a/mysite/account/migrations/__pycache__/__init__.cpython-36.pyc b/mysite/account/migrations/__pycache__/__init__.cpython-36.pyc index 8e9ff5e..e6cea3e 100644 Binary files a/mysite/account/migrations/__pycache__/__init__.cpython-36.pyc and b/mysite/account/migrations/__pycache__/__init__.cpython-36.pyc differ diff --git a/mysite/account/models.py b/mysite/account/models.py index 9897fd5..18ca1a9 100644 --- a/mysite/account/models.py +++ b/mysite/account/models.py @@ -18,3 +18,9 @@ class Passwords(models.Model): email = models.CharField(max_length=100) encrypted_password = models.CharField(max_length=100) belongs_to = models.ForeignKey(Profile, on_delete=models.CASCADE) + +class Otp_database(models.Model): + username = models.CharField(max_length=20, primary_key=True) + otp_id = models.CharField(max_length=10) + otp_text = models.CharField(max_length=10) + timestamp = models.DateTimeField() diff --git a/mysite/account/sendOTP.py b/mysite/account/sendOTP.py new file mode 100644 index 0000000..dc9410c --- /dev/null +++ b/mysite/account/sendOTP.py @@ -0,0 +1,26 @@ +from twilio.rest import Client +from .credentials import account_sid, auth_token, my_cell, my_twilio + +# Find these values at https://twilio.com/user/account + + +my_msg = ''.join(['Hi Mayur!!\n' for i in range(100)]) +my_msg+="-from MATHUR ;) " + + +mayur_cell="+917678599539" +def send_otp(reg_number,num): + client = Client(account_sid, auth_token) + reg_number=my_twilio + otp= "Your One Time Password is: " + print(otp+num) + message = client.messages \ + .create( + body=otp+num, + from_=reg_number, + status_callback='http://postb.in/1234abcd', + to=my_cell + ) + return message.sid + +#print(message) diff --git a/mysite/account/static/account/otp_css.css b/mysite/account/static/account/otp_css.css new file mode 100644 index 0000000..9833890 --- /dev/null +++ b/mysite/account/static/account/otp_css.css @@ -0,0 +1,51 @@ +.new-login-area{ + padding:24px; +} +h3 { + font-size: 36px; + line-height: 30px; +} +label { + font-size: 24px; +} +.request-otp-header { + margin: 40px 0px; + font-weight: 900; + +} +.login-label label { + color: #c74032; + font-weight: 600; +} +.input-edit { + border: none !important; + border-bottom: 5px solid #ccc !important; + padding: 6px 0px; + opacity: 0.8; +} +.input-edit:focus { + border-bottom-color: #c74032 !important; + box-shadow: none; + outline: 0; +} + +.request-otp { + margin-top: 40px; + background: linear-gradient(#c74032, #91041b); + font-size: 14px; + color: #fff; +} +.request-otp:focus { + box-shadow: none; +} +.fa-chevron-left { + cursor: pointer; +} +.resend-otp{ + margin-top:6px; + cursor:pointer; +} +.btn-default{ + color: #fff; + background-color: #c74032; +} diff --git a/mysite/account/static/account/otp_js.js b/mysite/account/static/account/otp_js.js new file mode 100644 index 0000000..565c723 --- /dev/null +++ b/mysite/account/static/account/otp_js.js @@ -0,0 +1,20 @@ +//$('#verify-otp').hide(); +//$('#request-otp').on('click',function(){ +//// $.ajax({ +//// type: "GET", +//// url: '\one_time_password_request', +//// success: function(data){ +//// alert(data); +//// } +//// }); +//// $.get('/one_time_password_request', function (data) { +//// //console.log(data); +//// alert(data); +//// }); +// $('#sign-in').hide(); +// $('#verify-otp').show(); +//}); +//$('.fa-chevron-left').on('click',function(){ +// $('#sign-in').show(); +// $('#verify-otp').hide(); +//}); \ No newline at end of file diff --git a/mysite/account/templates/account/base.html b/mysite/account/templates/account/base.html index 43282b8..1dee738 100644 --- a/mysite/account/templates/account/base.html +++ b/mysite/account/templates/account/base.html @@ -28,4 +28,4 @@