diff --git a/app/management/commands/generatetraffic.py b/app/management/commands/generatetraffic.py index f0c26950815807e2dd3339df8da9c4ea738a971c..6ca5cdba2a4f283e71e7277ab8cfe96fe766cb24 100644 --- a/app/management/commands/generatetraffic.py +++ b/app/management/commands/generatetraffic.py @@ -8,7 +8,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile from django.utils import timezone from app.models import Materi, Comment, Like, DownloadStatistics, ViewStatistics, DummyLike, DummyViewStatistics, DummyDownloadStatistics, DummyComment -from app.management.commands.utils import SECONDS_IN_DAY, get_time_before, get_random_datetime, generate_list_of_random_datetime, generate_random_string, getRandomColor, getLoremWithLength +from app.management.commands.utils import SECONDS_IN_DAY, get_time_before, get_random_datetime, generate_list_of_random_datetime, generate_random_string, get_random_color, get_lorem_with_length class Command(BaseCommand): @@ -50,7 +50,7 @@ class Command(BaseCommand): def _comment_materi(self, timestamp, materi): item = Comment(materi=materi, timestamp=timestamp, - profile=getRandomColor(), comment=getLoremWithLength(240)) + profile=get_random_color(), comment=get_lorem_with_length(240)) item.save() DummyComment(item=item).save() @@ -64,16 +64,7 @@ class Command(BaseCommand): s_date = materi_published_date[0] s_date = s_date.replace(day=s_date.day+1, hour=0, minute=0, second=0, microsecond=0) - # reports = [] while (s_date < today): - # report = { - # "s_date": s_date, - # "visit": 0, - # "view": 0, - # "download": 0, - # "like": 0, - # "comment": 0, - # } today_materi = [i for i in materi if i.published_date < s_date] visiting_user = options["baseline"] visiting_user += int(options["coef_time"] * r_day) + \ @@ -82,8 +73,6 @@ class Command(BaseCommand): (1 + uniform(-options["coef_visit_range"], options["coef_visit_range"]))) active_user = int(visiting_user * options["coef_read"]) - # report["visit"] = visiting_user - # report["view"] = active_user times = generate_list_of_random_datetime( s_date, s_date+timedelta(days=1), active_user) for timestamp in times: @@ -91,23 +80,9 @@ class Command(BaseCommand): self._view_materi(timestamp, selected_materi) if random() < options["coef_download"]: self._download_materi(timestamp, selected_materi) - # report["download"] += 1 if random() < options["coef_like"]: self._like_materi(timestamp, selected_materi) - # report["like"] += 1 if random() < options["coef_comment"]: self._comment_materi(timestamp, selected_materi) - # report["comment"] += 1 s_date = s_date + timedelta(days=1) r_day += 1 - # reports.append(report) - # for i in range - # for i in reports: - # self.stdout.write(self.style.SUCCESS(f"Today is {i['s_date']}")) - # self.stdout.write(self.style.SUCCESS(f"User visit {i['visit']}")) - # self.stdout.write(self.style.SUCCESS(f"User view {i['view']}")) - # self.stdout.write(self.style.SUCCESS( - # f"User download {i['download']}")) - # self.stdout.write(self.style.SUCCESS(f"User like {i['like']}")) - # self.stdout.write(self.style.SUCCESS( - # f"User comment {i['comment']}")) diff --git a/app/management/commands/removetraffic.py b/app/management/commands/removetraffic.py index 73afceda4a06d41f29892df66ad8c20d97a86db5..06f7bc73ceb7bf60a1d54a7d27cc288cbdd987aa 100644 --- a/app/management/commands/removetraffic.py +++ b/app/management/commands/removetraffic.py @@ -8,7 +8,7 @@ from django.core.files.uploadedfile import SimpleUploadedFile from django.utils import timezone, lorem_ipsum from app.models import DummyLike, DummyViewStatistics, DummyDownloadStatistics, DummyComment -from app.management.commands.utils import SECONDS_IN_DAY, get_time_before, get_random_datetime, generate_list_of_random_datetime, generate_random_string, getRandomColor +from app.management.commands.utils import SECONDS_IN_DAY, get_time_before, get_random_datetime, generate_list_of_random_datetime, generate_random_string, get_random_color class Command(BaseCommand): diff --git a/app/management/commands/utils.py b/app/management/commands/utils.py index 35884ddbeac236a264a0ab4e7fe96c32f2ea0833..9a394e2c0b1052f551d2e34cde12de9fca5a8bde 100644 --- a/app/management/commands/utils.py +++ b/app/management/commands/utils.py @@ -9,12 +9,12 @@ from django.utils import timezone, lorem_ipsum SECONDS_IN_DAY = 86400 -def getRandomColor(): +def get_random_color(): color = "%06x" % randint(0, 0xFFFFFF) return color -def getLoremWithLength(n): +def get_lorem_with_length(n): while True: s = lorem_ipsum.sentence() if len(s) < n: @@ -43,7 +43,7 @@ def get_random_datetime(start_date, end_date, max_delta_seconds=None, min_delta_ def generate_list_of_random_datetime(start, end, n): res = [] - for i in range(n): + for _ in range(n): res.append(get_random_datetime(start, end)) res.sort() return res @@ -56,4 +56,4 @@ def get_last_year(): def generate_random_string(n): - return(''.join(choice(ascii_letters) for i in range(n))) + return(''.join(choice(ascii_letters) for _ in range(n))) diff --git a/app/migrations/0003_auto_20200509_2108.py b/app/migrations/0003_auto_20200509_2108.py index 844d9d85ad27f5f5b3102597c4e8e8ef6173f8fd..4b47af81379e4fb8d8d7aefb1801016621a76828 100644 --- a/app/migrations/0003_auto_20200509_2108.py +++ b/app/migrations/0003_auto_20200509_2108.py @@ -14,6 +14,6 @@ class Migration(migrations.Migration): migrations.AlterField( model_name='comment', name='profile', - field=models.CharField(default=app.models.getRandomColor, max_length=100), + field=models.CharField(default=app.models.get_random_color, max_length=100), ), ] diff --git a/app/migrations/0025_review.py b/app/migrations/0025_review.py index 79b7b89a4f655cf6851c7265539222047eef56e1..c57943a977e74551909a596ea4277cb656d905f9 100644 --- a/app/migrations/0025_review.py +++ b/app/migrations/0025_review.py @@ -20,7 +20,7 @@ class Migration(migrations.Migration): fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('username', models.CharField(max_length=100)), - ('profile', models.CharField(default=app.models.getRandomColor, max_length=100)), + ('profile', models.CharField(default=app.models.get_random_color, max_length=100)), ('review', models.TextField(default='review')), ('timestamp', models.DateTimeField(default=django.utils.timezone.now)), ('materi', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='app.materi')), diff --git a/app/models.py b/app/models.py index d1e07291686c66de854062dd475b5bebea869e6e..fb932f7546c54b0f22af0e02c9e1212f123b51f6 100644 --- a/app/models.py +++ b/app/models.py @@ -21,7 +21,7 @@ VERIFICATION_STATUS = [ # Create your models here. -def getRandomColor(): +def get_random_color(): color = "%06x" % random.randint(0, 0xFFFFFF) return color @@ -140,11 +140,12 @@ class Materi(SoftDeleteModel): like = False if Like.objects.filter(materi=self).exists(): like = True + return like class Comment(models.Model): username = models.CharField(max_length=100) - profile = models.CharField(max_length=100, default=getRandomColor) + profile = models.CharField(max_length=100, default=get_random_color) comment = models.CharField(max_length=240, default="comments") materi = models.ForeignKey(Materi, models.SET_NULL, null=True) user = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True) @@ -165,7 +166,7 @@ class Comment(models.Model): class Review(models.Model): username = models.CharField(max_length=100) - profile = models.CharField(max_length=100, default=getRandomColor) + profile = models.CharField(max_length=100, default=get_random_color) review = models.TextField(default="review") materi = models.ForeignKey(Materi, models.SET_NULL, null=True) user = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True) diff --git a/app/services.py b/app/services.py index a7032b8100e11b1e42935bd5323a490b0bfe973c..300dbf45b0873615d1d1586a7dd788038eafc4d6 100644 --- a/app/services.py +++ b/app/services.py @@ -343,7 +343,6 @@ class UploadMateriService: @staticmethod def validate_yt_video_url(value): - is_yt_id_valid = True r = requests.get('http://www.youtube.com/watch?v='+value) if "\"playabilityStatus\":{\"status\":\"ERROR\"" in r.text: raise ValidationError("Invalid Youtube video ID") diff --git a/app/templates/app/base_admin.html b/app/templates/app/base_admin.html index 7c8b851b015df98ead395e4bc31c80b72531268e..ff080f96ee2d739e2d7837189a7f9df131341030 100644 --- a/app/templates/app/base_admin.html +++ b/app/templates/app/base_admin.html @@ -55,13 +55,6 @@ <span>Sunting Profil</span></a> </li> - <!-- - <li class="nav-item"> - <a class="nav-link" href="/sunting/"> - <span>Sunting Profil</span></a> - </li> - --> - </ul> <!-- End of Sidebar --> diff --git a/app/templates/app/detail_materi.html b/app/templates/app/detail_materi.html index c2394ebaf56cb9b095334d57e7cc88b4924f0c7d..c083179bf1378998081c5f819bd78cf70b8c4816 100644 --- a/app/templates/app/detail_materi.html +++ b/app/templates/app/detail_materi.html @@ -22,7 +22,8 @@ div.review { {% block verification %} {% endblock verification %} <div id="fb-root"></div> <div class="container-fluid p-0 bg detail-materi-color"> - <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow"> + <span class="modal-title black-text" id="navbarLabel" style="display: none;">Navbar</span> + <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow" aria-labelledby="navbarLabel"> <!-- Sidebar Toggle (Topbar) --> <button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3"> @@ -287,7 +288,8 @@ div.review { </div> </div> <div class="row menu-wrapper mr-4 ml-4 p-3"> - <nav class="navbar navbar-expand-sm border-top border-bottom p-0 mt-3 mb-3"> + <span class="modal-title black-text" id="navbarLabelTwo" style="display: none;">Navbar</span> + <nav class="navbar navbar-expand-sm border-top border-bottom p-0 mt-3 mb-3" aria-labelledby="navbarLabelTwo"> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" href="#deskripsi">Deskripsi</a> diff --git a/app/templates/app/katalog_materi.html b/app/templates/app/katalog_materi.html index 224232c1a609e82a1004dd0183bd6ac83059cd48..4a06d4c5a4233e6766f70a3617cf61c9755260e2 100644 --- a/app/templates/app/katalog_materi.html +++ b/app/templates/app/katalog_materi.html @@ -160,7 +160,7 @@ {% for item in materi_list %} <div class="card book"> <img src={{item.cover.url}} class="card-img-top" alt="cover" - style="height:200px; widows: 200px;; overflow: hidden;"></img> + style="height:200px; widows: 200px; overflow: hidden;"></img> <div class="card-body"> <h5 class="card-title">{{item.title}}</h5> <p class="card-text">{{item.author}}</p> diff --git a/app/utils/fileManagementUtil.py b/app/utils/fileManagementUtil.py index d693b01fea0cbd035f0fa6e7ef347cdac1d0373b..a31e0aaad64e0098b073338bc4bb6a67d1de504e 100644 --- a/app/utils/fileManagementUtil.py +++ b/app/utils/fileManagementUtil.py @@ -12,6 +12,5 @@ def get_random_filename(f_name): def remove_image_exifdata(f_path): img = Image.open(f_path) img.save(f_path) - return diff --git a/app/views.py b/app/views.py index 5b2b35a2240c8be3455bc3632faf8b43257a7c34..233bd53d4547d2f212c8db0629c8d3c85ff3e10c 100644 --- a/app/views.py +++ b/app/views.py @@ -39,6 +39,13 @@ from .services import DafterKatalogService, DetailMateriService, LikeDislikeServ DownloadViewMateriHelperService, UploadMateriService, EditProfileService, RevisiMateriService, \ DownloadHistoryService, GoogleDriveUploadService, ReadLaterService +MISSING_PARAMETER_MESSAGE = "Missing parameter" +UNSUPPORTED_MESSAGE = "Unsuported method" +FILE_NOT_FOUND_MESSAGE = "File tidak dapat ditemukan." +UNGGAH_HTML = "unggah.html" +UNGGAH_URL = "/unggah/" +UNGGAH_EXCEL_URL = "/unggah_excel/" +LOGIN_URL = "/login/" def permission_denied(request, exception, template_name="error_403.html"): return defaults.permission_denied(request, exception, template_name) @@ -55,13 +62,13 @@ class DaftarKatalog(TemplateView): context = self.get_context_data(**kwargs) context["kategori_list"] = Category.objects.all() - lstMateri = Materi.objects.filter(status="APPROVE").order_by("date_modified") + lst_materi = Materi.objects.filter(status="APPROVE").order_by("date_modified") url = "" - lstMateri, url = DafterKatalogService.apply_options(lstMateri, request, url) + lst_materi, url = DafterKatalogService.apply_options(lst_materi, request, url) - context["materi_list"] = lstMateri + context["materi_list"] = lst_materi paginator = Paginator(context["materi_list"], 15) page_number = request.GET.get("page") page_obj = paginator.get_page(page_number) @@ -226,10 +233,10 @@ def toggle_like(request): materi_id = request.POST.get("materi_id", None) session_id = request.POST.get("session_id", None) if materi_id is None or session_id is None: - return JsonResponse({"success": False, "msg": "Missing parameter"}) + return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE}) return JsonResponse(LikeDislikeService.apply_like_materi(materi_id, session_id)) else: - return JsonResponse({"success": False, "msg": "Unsuported method"}) + return JsonResponse({"success": False, "msg": UNSUPPORTED_MESSAGE}) def delete_comment(request, pk_materi, pk_comment): @@ -246,10 +253,10 @@ def toggle_like_comment(request): comment_id = request.POST.get("comment_id", None) session_id = request.POST.get("session_id", None) if comment_id is None or session_id is None: - return JsonResponse({"success": False, "msg": "Missing parameter", "comment_id": comment_id}) + return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE, "comment_id": comment_id}) return JsonResponse(LikeDislikeService.apply_comment_like(comment_id, session_id)) else: - return JsonResponse({"success": False, "msg": "Unsuported method", "comment_id": comment_id}) + return JsonResponse({"success": False, "msg": UNSUPPORTED_MESSAGE, "comment_id": comment_id}) def toggle_dislike_comment(request): @@ -258,10 +265,10 @@ def toggle_dislike_comment(request): comment_id = request.POST.get("comment_id", None) session_id = request.POST.get("session_id", None) if comment_id is None or session_id is None: - return JsonResponse({"success": False, "msg": "Missing parameter", "comment_id": comment_id}) + return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE, "comment_id": comment_id}) return JsonResponse(LikeDislikeService.apply_comment_dislike(comment_id, session_id)) else: - return JsonResponse({"success": False, "msg": "Unsuported method", "comment_id": comment_id}) + return JsonResponse({"success": False, "msg": UNSUPPORTED_MESSAGE, "comment_id": comment_id}) def add_rating_materi(request): @@ -305,10 +312,10 @@ def download_materi(request, pk): return DownloadViewMateriHelperService.build_materi_response(fh, file_path, materi, mimetype, request, HttpResponse(fh.read(), content_type=mimetype[0])) - except Exception as e: - raise Http404("File tidak dapat ditemukan.") + except Exception: + raise Http404(FILE_NOT_FOUND_MESSAGE) else: - raise Http404("File tidak dapat ditemukan.") + raise Http404(FILE_NOT_FOUND_MESSAGE) def view_materi(request, pk): @@ -322,10 +329,10 @@ def view_materi(request, pk): response = HttpResponse(fh.read(), content_type=mimetype[0]) DownloadViewMateriHelperService.build_view_materi_response(file_path, materi, response) return response - except Exception as e: - raise Http404("File tidak dapat ditemukan.") + except Exception: + raise Http404(FILE_NOT_FOUND_MESSAGE) else: - raise Http404("File tidak dapat ditemukan.") + raise Http404(FILE_NOT_FOUND_MESSAGE) def delete_materi(request, pk): @@ -337,7 +344,7 @@ def delete_materi(request, pk): return HttpResponseRedirect("/dashboard/") class UploadMateriView(TemplateView): - template_name = "unggah.html" + template_name = UNGGAH_HTML context = {} def get_context_data(self, **kwargs): @@ -354,10 +361,10 @@ class UploadMateriView(TemplateView): konten = form.cleaned_data["content"] yt_url_id = form.cleaned_data['yt_video_id'] if not UploadMateriService.validate_file_extension(konten, request, yt_url_id): - return HttpResponseRedirect("/unggah/") + return HttpResponseRedirect(UNGGAH_URL) UploadMateriService.upload_materi(form, materi) messages.success(request, "Materi berhasil diunggah, periksa riwayat unggah anda") - return HttpResponseRedirect("/unggah/") + return HttpResponseRedirect(UNGGAH_URL) else: context = self.get_context_data(**kwargs) context["form"] = form @@ -376,12 +383,12 @@ class UploadMateriView(TemplateView): class UploadMateriHTML(TemplateView): - template_name = "unggah.html" + template_name = UNGGAH_HTML context = {} def get_template_names(self): - if self.request.path == "/unggah/": - template_name = "unggah.html" + if self.request.path == UNGGAH_URL: + template_name = UNGGAH_HTML return template_name @@ -390,7 +397,7 @@ class UploadMateriExcelView(TemplateView): context = {} def get_template_names(self): - if self.request.path == "/unggah_excel/": + if self.request.path == UNGGAH_EXCEL_URL: template_name = "unggah_excel.html" return template_name @@ -446,7 +453,7 @@ class UploadMateriExcelView(TemplateView): if message != None: messages.error(request, message) - return HttpResponseRedirect("/unggah_excel/") + return HttpResponseRedirect(UNGGAH_EXCEL_URL) # Second pass, save data with django.db.transaction.atomic(): @@ -454,7 +461,7 @@ class UploadMateriExcelView(TemplateView): messages.success(request, "Materi berhasil diunggah") - return HttpResponseRedirect("/unggah_excel/") + return HttpResponseRedirect(UNGGAH_EXCEL_URL) @@ -536,7 +543,7 @@ class ReqMateriView(TemplateView): def dispatch(self, request, *args, **kwargs): if request.user.is_authenticated == False: - return HttpResponseRedirect("/login/") + return HttpResponseRedirect(LOGIN_URL) return super(ReqMateriView, self).dispatch(request, *args, **kwargs) def get_context_data(self, **kwargs): @@ -551,7 +558,7 @@ class ReqMateriView(TemplateView): def post(self, request, *args, **kwargs): title = request.POST.get("title", None) if title is None: - return JsonResponse({"success": False, "msg": "Missing parameter"}) + return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE}) ReqMaterial(title=title).save() return JsonResponse({"success": True, "msg": "Permintaan materi berhasil dikirimkan"}) @@ -669,7 +676,7 @@ def pages(request): template = loader.get_template(load_template) return HttpResponse(template.render(context, request)) - except Exception as e: + except Exception: template = loader.get_template("error-404.html") return HttpResponse(template.render(context, request)) @@ -699,7 +706,7 @@ def save_to_gdrive(request, pk): if os.path.exists(file_path): GoogleDriveUploadService.upload_to_gdrive(file_path, materi.title) else: - raise Http404("File tidak dapat ditemukan.") + raise Http404(FILE_NOT_FOUND_MESSAGE) return HttpResponseRedirect(reverse('detail-materi', kwargs={'pk': pk})) @@ -768,7 +775,7 @@ class SubmitVisitorView(TemplateView): def dispatch(self, request, *args, **kwargs): if request.user.is_authenticated == False: - return HttpResponseRedirect("/login/") + return HttpResponseRedirect(LOGIN_URL) return super(SubmitVisitorView, self).dispatch(request, *args, **kwargs) def get_context_data(self, **kwargs): @@ -784,7 +791,7 @@ class SubmitVisitorView(TemplateView): email = request.POST.get("email", None) user_id = request.POST.get("user_id", None) if title is None: - return JsonResponse({"success": False, "msg": "Missing parameter"}) + return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE}) SubmitVisitor(msg=title, user_id=user_id, email=email).save() return JsonResponse({"success": True, "msg": "Buku tamu berhasil ditambahkan"}) @@ -810,18 +817,18 @@ def toggle_readlater(request): if request.method == "POST": materi_id = request.POST.get("materi_id", None) if materi_id is None: - return JsonResponse({"success": False, "msg": "Missing parameter"}) + return JsonResponse({"success": False, "msg": MISSING_PARAMETER_MESSAGE}) return JsonResponse(ReadLaterService.toggle_read_later(materi_id, request.user)) else: - return JsonResponse({"success": False, "msg": "Unsuported method"}) + return JsonResponse({"success": False, "msg": UNSUPPORTED_MESSAGE}) class StatisticsView(TemplateView): template_name = "statistik.html" def dispatch(self, request, *args, **kwargs): if request.user.is_authenticated == False: - return HttpResponseRedirect("/login/") + return HttpResponseRedirect(LOGIN_URL) return super(StatisticsView, self).dispatch(request, *args, **kwargs) def get_stat_json(self): diff --git a/docker-compose.yml b/docker-compose.yml index a595488cc40c670433ef120484d40fb3b8627b70..4e5ad6dd70b2ccf2e693243aca890fac65884131 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,15 +6,15 @@ services: env_file: - .env ports: - - 8000:8000 + - 8000:8000 depends_on: - db db: image: postgres:12 volumes: - - postgres_data:/var/lib/postgresql/data/ - - static_volume:/home/digipus/staticfiles - - media_volume:/home/digipus/mediafiles + - postgres_data:/var/lib/postgresql/data/ + - static_volume:/home/digipus/staticfiles + - media_volume:/home/digipus/mediafiles env_file: - .env.db diff --git a/formating.sh b/formating.sh index 573630b66894365044f164ee4d3dbcdf802480f4..73d7ed9afaf80894229017fb1c3d4c3430d093eb 100644 --- a/formating.sh +++ b/formating.sh @@ -1,3 +1,5 @@ +#!/bin/bash + # Run autopep8 git ls-files | grep -v 'migrations' | grep -v 'settings.py' | grep -v 'manage.py' | grep -E '.py$' | xargs autopep8 --in-place --recursive # Run pylint diff --git a/register/forms.py b/register/forms.py index 1b3b5ba717ffba57f45ea4d4c1f995be00ae2651..cf038b1c2867bd1d155932d8eeccc4e70ec8c192 100644 --- a/register/forms.py +++ b/register/forms.py @@ -46,9 +46,9 @@ class UserForm(forms.ModelForm): nomor_telpon = self.cleaned_data.get("nomor_telpon") if not User.objects.filter(nomor_telpon=nomor_telpon).exists(): try: - no_telp = int(nomor_telpon) + int(nomor_telpon) return nomor_telpon - except: + except ValueError: raise forms.ValidationError("Hanya masukkan angka") raise forms.ValidationError("Nomor telepon sudah digunakan untuk mendaftar akun") diff --git a/register/templates/index_admin.html b/register/templates/index_admin.html index e1bfa08d23e59ead23670c8536ac12166057964d..aaf9eb6e344b81492f8af6b0fdda4da1c5a1053c 100644 --- a/register/templates/index_admin.html +++ b/register/templates/index_admin.html @@ -45,53 +45,45 @@ Registrasi Admin </div> <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz"> - <!-- <input class="input100" type="text" name="nama"> --> {{ form.name }} <span class="focus-input100"></span> <span class="label-input100">Nama</span> </div> <div class="wrap-input100 validate-input" data-validate="Password is required"> - <!-- <input class="input100" type="text" name="pekerjaan"> --> {{ form.instansi }} <span class="focus-input100"></span> <span class="label-input100">Instansi/Pekerjaan</span> </div> <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz"> - <!-- <input class="input100" type="text" name="nama"> --> {{ form.nik.errors }} {{ form.nik }} <span class="focus-input100"></span> <span class="label-input100">NIK</span> </div> <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz"> - <!-- <input class="input100" type="text" name="nama"> --> {{ form.alamat }} <span class="focus-input100"></span> <span class="label-input100">Alamat</span> </div> <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz"> - <!-- <input class="input100" type="text" name="nama"> --> {{ form.email.errors }} {{ form.email }} <span class="focus-input100"></span> <span class="label-input100">Email</span> </div> <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz"> - <!-- <input class="input100" type="text" name="nama"> --> {{ form.nomor_telpon.errors }} {{ form.nomor_telpon }} <span class="focus-input100"></span> <span class="label-input100">Nomor Telepon</span> </div> <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz"> - <!-- <input class="input100" type="text" name="nama"> --> {{ form.password.errors }} {{ form.password }} <span class="focus-input100"></span> <span class="label-input100">Kata Sandi</span> </div> <div class="wrap-input100 validate-input" data-validate="Valid email is required: ex@abc.xyz"> - <!-- <input class="input100" type="text" name="nama"> --> {{ form.password2 }} <span class="focus-input100"></span> <span class="label-input100">Ketik Ulang Kata Sandi</span> diff --git a/register/templates/index_umum.html b/register/templates/index_umum.html index 1c00bac0bca30ed169b2cda2b045c57cd2613315..7aa60dcb4c5066ab2b54dfd42b7b6cb65bc56960 100644 --- a/register/templates/index_umum.html +++ b/register/templates/index_umum.html @@ -47,7 +47,6 @@ <span class="label-input100">Nama</span> </div> <div class="wrap-input100 validate-input" data-validate="Password is required"> - <!-- <input class="input100" type="text" name="pekerjaan"> --> {{ form.instansi }} <span class="focus-input100"></span> <span class="label-input100">Instansi/Pekerjaan</span>