diff --git a/informasi_fasilitas/test_views_fasilitas.py b/informasi_fasilitas/test_views_fasilitas.py index 0f6bad851b3334287954692b7819720b42d1ccd9..cbd8f6f389d11adf877c74b741d367e21e0086a9 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, diff --git a/informasi_fasilitas/views.py b/informasi_fasilitas/views.py index e5904ef2be5bc351c7b7d795d1dc23a428e49df7..bebbff7a06c1a5084eae31c9bf2ff8c3f61b0d54 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 diff --git a/new_rest_api/tests.py b/new_rest_api/tests.py index 1d715b4ed1ff09995c2c098303d4d6505ce147e1..81b9256937ad637a0973d9bbbecd9d85ff15785a 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 diff --git a/new_rest_api/views.py b/new_rest_api/views.py index aa8e35dcac3b72c4d0f382a54c3beab7e4da57f6..4e6ec6268ecd1e67f0839b4ea9d7f25d8dfce0f0 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 0000000000000000000000000000000000000000..1884243e29c8c87efa2e481d8ca5ab63cad0499a --- /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 67a54c82914c8494264f7cec8d0749ca7a84e23f..cadf158aca62b2230dfff03da3472cc4e459363e 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 01a62c4feb8a0d1fb57bee02c8d9bb7df670cc5c..addcd1db33fde00526054fa7c342cc6070b633f6 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},