From aea95c308eba46fcfcc34dd9b6a12fd4b3b5ecc6 Mon Sep 17 00:00:00 2001 From: "alvin.hariman" Date: Mon, 17 May 2021 01:54:25 +0700 Subject: [PATCH 1/4] [RED] Add creator email in list fasilitas --- informasi_fasilitas/test_views_fasilitas.py | 1 + 1 file changed, 1 insertion(+) diff --git a/informasi_fasilitas/test_views_fasilitas.py b/informasi_fasilitas/test_views_fasilitas.py index 0f6bad8..cbd8f6f 100644 --- a/informasi_fasilitas/test_views_fasilitas.py +++ b/informasi_fasilitas/test_views_fasilitas.py @@ -44,6 +44,7 @@ class FasilitasRelatedViewTest(InformasiFasilitasViewTest): expected_json = { str(self.fasilitas.id): { 'id': self.fasilitas.id, + 'creator_email': self.fasilitas.user.email, 'place_id': self.fasilitas.lokasi.place_id, 'deskripsi': self.fasilitas.deskripsi, 'creator': self.fasilitas.user.last_name, -- GitLab From 97d023ac433c2a0b45cd1ec3a710a16188675ac8 Mon Sep 17 00:00:00 2001 From: "alvin.hariman" Date: Mon, 17 May 2021 01:56:10 +0700 Subject: [PATCH 2/4] [GREEN] Add creator email in list fasilitas --- informasi_fasilitas/views.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/informasi_fasilitas/views.py b/informasi_fasilitas/views.py index e5904ef..bebbff7 100644 --- a/informasi_fasilitas/views.py +++ b/informasi_fasilitas/views.py @@ -64,6 +64,7 @@ def list_fasilitas(request, place_id): list_fasilitas = Fasilitas.objects.filter(lokasi=lokasi) return_json = {} for fasilitas in list_fasilitas: + user = fasilitas.user fasilitas.like = Likes.objects.filter( fasilitas=fasilitas).count() fasilitas.dislike = Dislikes.objects.filter( @@ -71,6 +72,7 @@ def list_fasilitas(request, place_id): return_json[fasilitas.id] = {} fasilitas_details = return_json[fasilitas.id] fasilitas_details["id"] = fasilitas.id + fasilitas_details["creator_email"] = user.email fasilitas_details["place_id"] = fasilitas.lokasi.place_id fasilitas_details["deskripsi"] = fasilitas.deskripsi fasilitas_details["creator"] = fasilitas.user.last_name -- GitLab From be1182c7302bfbf9e9e964fc283f766fede4e52f Mon Sep 17 00:00:00 2001 From: "alvin.hariman" Date: Mon, 17 May 2021 02:23:14 +0700 Subject: [PATCH 3/4] [RED] Add seen attribute in edit profile --- new_rest_api/tests.py | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/new_rest_api/tests.py b/new_rest_api/tests.py index 1d715b4..81b9256 100644 --- a/new_rest_api/tests.py +++ b/new_rest_api/tests.py @@ -53,14 +53,14 @@ class UserTests(APITestCase): response = self.client.get(url, format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) json_test = json.loads(response.content) - self.assertEqual(len(json_test), 11) #JSON Attribute + self.assertEqual(len(json_test), 12) #JSON Attribute def test_account_details(self): url = reverse('user-details', kwargs={'email':'astraykai@gmail.com'}) response = self.client.get(url, format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) json_test = json.loads(response.content) - self.assertEqual(len(json_test), 11) #JSON Attribute + self.assertEqual(len(json_test), 12) #JSON Attribute def test_account_list(self): url = reverse('user-list') @@ -206,5 +206,29 @@ class UserTests(APITestCase): json_response = json.loads(response.content) self.assertEqual(json_response['response'], 'File is not image type') + def test_all_user_information_can_be_seen_after_register(self): + ''' + Ensure that user information can be seen by others after registration + ''' + + url = reverse('create-user') + data = {'name': 'Astray', + 'email':'astrayyahoo@gmail.com', + 'password':'chingchenghanji', + 'phone_number':'08989221856', + 'tanggal_lahir':'1990-05-05', + 'jenis_kelamin':'Laki-laki', + 'disabilitas':'Yuhu', + 'pekerjaan':'Mahasiswa', + 'alamat':'Alamat Palsu', + 'is_active': True} + response = self.client.post(url, data) + + url = reverse('user-details', kwargs={'email':'astrayyahoo@gmail.com'}) + response = self.client.get(url, format='json') + json_test = json.loads(response.content) + print(json_test) + self.assertEqual(json_test['seen'], True) + class InfoTests(APITestCase, URLPatternsTestCase): pass -- GitLab From b603ef70a7d143dfa3e7a6ec8a49628e66a711a7 Mon Sep 17 00:00:00 2001 From: "alvin.hariman" Date: Mon, 17 May 2021 02:34:18 +0700 Subject: [PATCH 4/4] [GREEN] Add seen attribute in edit profile --- new_rest_api/views.py | 8 ++------ registrasi/migrations/0006_bisagouser_seen.py | 18 ++++++++++++++++++ registrasi/models.py | 1 + registrasi/serializers.py | 1 + 4 files changed, 22 insertions(+), 6 deletions(-) create mode 100644 registrasi/migrations/0006_bisagouser_seen.py diff --git a/new_rest_api/views.py b/new_rest_api/views.py index aa8e35d..4e6ec62 100644 --- a/new_rest_api/views.py +++ b/new_rest_api/views.py @@ -84,10 +84,7 @@ def register_user(request): user.is_active = False user.save() data['user'] = user.pk - if request.FILES : - data['foto'] = request.FILES['foto'] - else : - data['foto'] = None + data['seen'] = True mail_subject = "Activate your account" message = render_to_string('acc_active_email.html', { 'user' : user, @@ -152,9 +149,8 @@ def update_user(request): return JsonResponse({'response': 'File is not image type'}, safe=False, status=status.INTERNAL_SERVER_ERROR) user = User.objects.get(username=email) + data["user"] = user.pk bisa_go_user = BisaGoUser.objects.get(user=user) - user.last_name = name - data['user'] = user.pk data_query_dict = QueryDict('', mutable=True) data_query_dict.update(data) serializer = BisaGoUserSerializers(bisa_go_user, data=data_query_dict) diff --git a/registrasi/migrations/0006_bisagouser_seen.py b/registrasi/migrations/0006_bisagouser_seen.py new file mode 100644 index 0000000..1884243 --- /dev/null +++ b/registrasi/migrations/0006_bisagouser_seen.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.2 on 2021-05-10 20:25 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('registrasi', '0005_bisagouser_foto'), + ] + + operations = [ + migrations.AddField( + model_name='bisagouser', + name='seen', + field=models.BooleanField(blank=True, default=True, verbose_name='Seen'), + ), + ] diff --git a/registrasi/models.py b/registrasi/models.py index 67a54c8..cadf158 100644 --- a/registrasi/models.py +++ b/registrasi/models.py @@ -14,5 +14,6 @@ class BisaGoUser(models.Model): pekerjaan = models.CharField('Pekerjaan', max_length=64, default='-') alamat = models.CharField('Alamat', max_length=255, default='-') foto = models.ImageField('Foto', blank=True, default='-', null=True) + seen = models.BooleanField('Seen', blank=True, default=True) def __str__(self): return self.user.username \ No newline at end of file diff --git a/registrasi/serializers.py b/registrasi/serializers.py index 01a62c4..addcd1d 100644 --- a/registrasi/serializers.py +++ b/registrasi/serializers.py @@ -14,6 +14,7 @@ class BisaGoUserSerializers(serializers.ModelSerializer): 'pekerjaan', 'alamat', 'foto', + 'seen', ) extra_kwargs = { 'foto': {'required': False}, -- GitLab