diff --git a/user/migrations/0002_simpleadmin_alter_extendeduser_deskripsi_and_more.py b/user/migrations/0002_simpleadmin_alter_extendeduser_deskripsi_and_more.py new file mode 100644 index 0000000000000000000000000000000000000000..9c80a5ccce69700446d25945f97b547f793af59a --- /dev/null +++ b/user/migrations/0002_simpleadmin_alter_extendeduser_deskripsi_and_more.py @@ -0,0 +1,61 @@ +# Generated by Django 5.1.7 on 2025-03-17 08:07 + +import django.core.validators +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('user', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='SimpleAdmin', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), + ('username', models.CharField(max_length=150, unique=True)), + ('password', models.CharField(max_length=128)), + ], + options={ + 'abstract': False, + }, + ), + migrations.AlterField( + model_name='extendeduser', + name='deskripsi', + field=models.TextField(validators=[django.core.validators.MinLengthValidator(5), django.core.validators.MaxLengthValidator(1000)]), + ), + migrations.AlterField( + model_name='extendeduser', + name='email', + field=models.CharField(max_length=255, validators=[django.core.validators.EmailValidator(message='Email harus sesuai dengan format email.')]), + ), + migrations.AlterField( + model_name='extendeduser', + name='fullname', + field=models.CharField(max_length=255, validators=[django.core.validators.RegexValidator(message='Nama hanya boleh berisi huruf, angka, dan karakter (., _, -).', regex='^[a-zA-Z0-9._-]+$')]), + ), + migrations.AlterField( + model_name='extendeduser', + name='nomor_hp', + field=models.CharField(max_length=15, validators=[django.core.validators.RegexValidator(message='Nomor HP harus dalam format (kode negara - nomor telepon) dengan panjang minimal 8 dan maksimal 15. Contoh: 62123456, bukan +62123456 dan 62-12345.', regex='^62\\d{6,13}$')]), + ), + migrations.AlterField( + model_name='extendeduser', + name='password', + field=models.CharField(max_length=255, validators=[django.core.validators.MinLengthValidator(8), django.core.validators.RegexValidator(message='Password harus berisi huruf, angka, dan karakter spesial dengan panjang minimal 8.', regex='^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,}$')]), + ), + migrations.AlterField( + model_name='extendeduser', + name='tanggal_lahir', + field=models.DateField(validators=[django.core.validators.RegexValidator(message='Tanggal lahir harus dalam format YYYY-MM-DD.', regex='^\\d{4}-\\d{2}-\\d{2}$')]), + ), + migrations.AlterField( + model_name='extendeduser', + name='url_blog', + field=models.CharField(max_length=255, validators=[django.core.validators.URLValidator(message='URL Blog harus sesuai dengan format URL.')]), + ), + ] diff --git a/user/migrations/0003_simpleadmin_is_staff_simpleadmin_is_superuser.py b/user/migrations/0003_simpleadmin_is_staff_simpleadmin_is_superuser.py new file mode 100644 index 0000000000000000000000000000000000000000..0ba56c04e86fdfbcc6669450a669e2a4cf38232a --- /dev/null +++ b/user/migrations/0003_simpleadmin_is_staff_simpleadmin_is_superuser.py @@ -0,0 +1,23 @@ +# Generated by Django 5.1.7 on 2025-03-17 08:08 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('user', '0002_simpleadmin_alter_extendeduser_deskripsi_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='simpleadmin', + name='is_staff', + field=models.BooleanField(default=True), + ), + migrations.AddField( + model_name='simpleadmin', + name='is_superuser', + field=models.BooleanField(default=True), + ), + ] diff --git a/user/migrations/0004_delete_simpleadmin.py b/user/migrations/0004_delete_simpleadmin.py new file mode 100644 index 0000000000000000000000000000000000000000..66f39def9994b715dd2c1e1e1efcf6b41e1ad869 --- /dev/null +++ b/user/migrations/0004_delete_simpleadmin.py @@ -0,0 +1,16 @@ +# Generated by Django 5.1.7 on 2025-03-17 08:20 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('user', '0003_simpleadmin_is_staff_simpleadmin_is_superuser'), + ] + + operations = [ + migrations.DeleteModel( + name='SimpleAdmin', + ), + ] diff --git a/user/models.py b/user/models.py index 345c1b189db885f196e0e3d2596b237af08139d3..f955b1803536ca4e9f9b990e84e5a26b15242352 100644 --- a/user/models.py +++ b/user/models.py @@ -85,4 +85,5 @@ class ExtendedUser(AbstractUser): if self.tanggal_lahir: age = (timezone.now().date() - self.tanggal_lahir).days / 365.25 if age < 12: - raise ValidationError('Usia pengguna minimal 12 tahun.') \ No newline at end of file + raise ValidationError('Usia pengguna minimal 12 tahun.') + diff --git a/user/templates/register.html b/user/templates/register.html index 275f2de0f462dbba599882c33e6c750a75053ddf..c06d44c828565b12bf3f2daa3c50a4b01931e4af 100644 --- a/user/templates/register.html +++ b/user/templates/register.html @@ -32,6 +32,11 @@ </div> {% endfor %} + {% comment %} Map Messages {% endcomment %} + {% for message in messages %} + {{message}} + {% endfor %} + {% include 'components/button.html' with type='submit' text='Register' %} </form> </div> diff --git a/user/views.py b/user/views.py index fc9118dbdd2de9fc1449c0e69b28b627ed04d2fa..7134cb47d3bcad5ecae0e498c50dc33fe2eeaeb9 100644 --- a/user/views.py +++ b/user/views.py @@ -36,11 +36,12 @@ def register_view(request): if request.method == "POST": form = ExtendedUserForm(request.POST) if form.is_valid() : + print(form.cleaned_data) form.save() messages.success(request, "Account created successfully. Please log in.") return redirect("login") # Redirect to login page else: - messages.error(request, "Please correct the errors below.") + messages.error(request, str(form.errors)) else: form = ExtendedUserForm()