def edit(request, device_id): user = userService.get_user_from_request(request) try: device = Device.objects.get(id=device_id) if request.method == "POST": form = DeviceEdit(request.POST) if form.is_valid(): device.name = form.cleaned_data["name"] device.isAlarmEnabled = form.cleaned_data["isAlarmEnabled"] device.save() return index(request) else: context = { "currentUser": user, "current_page": "Edit Device " + device.name, "device_form": form, "device": device } return render(request, "devices/edit.html", context) else: form = DeviceEdit(instance=device) context = { "currentUser": user, "current_page": "Edit Device " + device.name, "device_form": form, "device": device } return render(request, "devices/edit.html", context) except: context = {'currentUser': userService.get_user_from_request(request)} return render(request, 'devices/device_not_found.html', context)
def test_index_positive(self): url = reverse('home:index') request = self.factory.get(url) request.user = self.user response = views.index(request) self.assertEqual(response.status_code, 200)
def test_home_page(self): """ This simulates viewing the home page and verifies that it receives a successful url request """ request = self.factory.get('/') response = index(request) self.assertEqual(response.status_code, 200)
def form_page(request): form = forms.Subscribe() if request.method == "POST": form = forms.Subscribe(request.POST) if form.is_valid(): form.save(commit=True) return index(request) return render(request, "form/form_page.html", {"form": form})
def test_index_returns_correct_html(self): request = HttpRequest() response = index(request) html = response.content.decode('utf8') self.assertIn('<h1>Github shiny repositories search tool</h1>', html) self.assertIn('<form action="/browse/" method="post">', html) self.assertIn( '<input class="btn btn-primary" type="submit" value="Search and save"/>', html)
def test_index_view(self): """ Test authenticated and unauthenticated view of home page """ # create an instance of request by getting the home page request = self.factory.get('/') self.assertTemplateUsed('index.html') home_page = index(request) self.assertContains(home_page, 'For all your pet sitting needs') # verify has expected unauthenticated navigation self.assertContains(home_page, 'Login') self.assertContains(home_page, 'Register') self.assertNotContains(home_page, 'My Account') request.user = self.user1 home_page = index(request) self.assertTemplateUsed('index.html') self.assertNotContains(home_page, 'Login') self.assertContains(home_page, 'My Account')
def register(request): form = RegisterForm() if request.method == 'POST': form = RegisterForm(request.POST) if form.is_valid(): form.save() return v1.index(request) else: form = RegisterForm() return render(request, 'register/register.html', {'form': form})
def test_index_view(self): """ Test authenticated and unauthenticated view of home page """ # create an instance of request by getting the home page request = self.factory.get('/') self.assertTemplateUsed('index.html') home_page = index(request) self.assertContains(home_page, 'Bring the next level of competition') # verify has expected unauthenticated navigation self.assertContains(home_page, 'Login') self.assertContains(home_page, 'Register') self.assertNotContains(home_page, 'My Account') # middleware isn't supported so simulate loge din user by setting request.user manually request.user = self.user1 home_page = index(request) self.assertTemplateUsed('index.html') self.assertNotContains(home_page, 'Login') self.assertContains(home_page, 'Challenges') self.assertContains(home_page, 'My Account')
def delete_device(request, device_id): try: device = Device.objects.get(id=device_id) device_name = device.name if device.userOwner == userService.get_user_from_request(request): Device.objects.get(id=device_id).delete() return index(request, message='Device "' + device_name + '" unsynced successfully.') except: context = {'currentUser': userService.get_user_from_request(request)} return render(request, 'devices/device_not_found.html', context)
def login(request): if request.method == "POST": username = request.POST.get("username") password = request.POST.get("password") user = {username: password} if user is not None: data = checkLogin.objects.all() arr_auth = {} for i in data: arr_auth[i.username] = i.password try: if arr_auth.get(username) == password: return index(request) else: return TemplateResponse(request, 'login/index.html') except: pass return TemplateResponse(request, 'login/index.html')
def test_home_page_returns_correct_html(self): # создали HttpRequest object, который использует Django когда пользователь запрашивает страницу. request = HttpRequest() # перенаправляем запрос на метод home_page view, который формирует response - экземпляр класса HttpResponse. Далее проверяем является ли .content в response HTML-текстом который мы отдаем пользователю. response = index(request) # HTML-текст должен начинаться с html тега, который должен закрываться вконце. response.content является сырым литералом (raw bytes), а не Python-строкой, поэтому мы используем b'' синтаксис. self.assertTrue(response.content.startswith(b'<html>')) # Мы хотим поместить тег title, содержащий наш заголовок. self.assertIn(b"""<html> <title>Моя перша тестова сторінка</title> <body> <a href='http://localhost:8000/admin/'> В адмінку</a> </body> </html>""", response.content) self.assertTrue(response.content.endswith(b'</html>'))
def register_devices(request): if request.method == 'POST': form = DeviceRegister(request.POST) if form.is_valid(): form.save(user=userService.get_user_from_request(request)) device_name = form.cleaned_data['name'] return index(request, message='Device "' + device_name + '" unsynced successfully.') else: context = { 'currentUser': userService.get_user_from_request(request), 'current_page': 'Register Device', 'device_form': form } return render(request, 'devices/device_register.html', context) else: form = DeviceRegister() context = { 'currentUser': userService.get_user_from_request(request), 'current_page': 'Register Device', 'device_form': form } return render(request, 'devices/device_register.html', context)
def index(request): #暫定的にsessionユーザを定義。あとで消す # test_user = SERVICE.getUserByLoginId('user1') # request.session['user'] = test_user #ここまで if request.method == "POST": action = request.POST["action"] else: action = CONFIG.ACTION_LOGIN if request.user.is_active: #ページの振り分け if action == CONFIG.ACTION_HOME: return HOME_VIEWS.index(request) elif action == CONFIG.ACTION_PROGRESS_LIST: return PROGRESS_VIEWS.index(request) elif action == CONFIG.ACTION_PROGRESS_ADD: return PROGRESS_VIEWS.add(request) elif action == CONFIG.ACTION_PROGRESS_UPDATE: return PROGRESS_VIEWS.update(request) elif action == CONFIG.ACTION_PROGRESS_SEARCH: return PROGRESS_VIEWS.search(request) elif action == CONFIG.ACTION_TARGET_LIST: return TARGET_VIEWS.index(request) elif action == CONFIG.ACTION_TARGET_ADD: return TARGET_VIEWS.add(request) elif action == CONFIG.ACTION_TARGET_DETAIL: return TARGET_VIEWS.targetDetail(request) elif action == CONFIG.ACTION_TARGET_UPDATE: return TARGET_VIEWS.targetUpdate(request) elif action == CONFIG.ACTION_TARGET_SEARCH: return TARGET_VIEWS.targetSearch(request) elif action == CONFIG.ACTION_ACCOUNT: return ACCOUNT_VIEWS.index(request) elif action == CONFIG.ACTION_ACCOUNT_UPDATE: return ACCOUNT_VIEWS.update(request) elif action == CONFIG.ACTION_TEAM: return TEAM_VIEWS.index(request) elif action == CONFIG.ACTION_TEAM_ADD: return TEAM_VIEWS.add(request) elif action == CONFIG.ACTION_TEAM_INVITE: return TEAM_VIEWS.invite(request) elif action == CONFIG.ACTION_TEAM_INVITE_ACCEPT_USER: return TEAM_VIEWS.acceptMember(request) elif action == CONFIG.ACTION_TEAM_INVITE_ACCEPT_TEAM: return TEAM_VIEWS.acceptTeam(request) elif action == CONFIG.ACTION_TEAM_DELETE_MEMBER: return TEAM_VIEWS.deleteMember(request) elif action == CONFIG.ACTION_TEAM_DELETE_TEAM: return TEAM_VIEWS.deleteTeam(request) elif action == CONFIG.ACTION_HELP: return HELP_VIEWS.index(request) elif action == CONFIG.ACTION_MANUAL: return MANUAL_VIEWS.index(request) elif action == CONFIG.ACTION_USERLIST: if request.user.username == SETTING.MASTER_USER_NAME: return USERLIST_VIEWS.index(request) else: return view(request) elif action == CONFIG.ACTION_USERLIST_DELETE_USER: if request.user.username == SETTING.MASTER_USER_NAME: return USERLIST_VIEWS.deleteUser(request) else: return view(request) elif action == CONFIG.ACTION_USERLIST_ACTIVATE_USER: if request.user.username == SETTING.MASTER_USER_NAME: return USERLIST_VIEWS.activateUser(request) else: return view(request) elif action == CONFIG.ACTION_USERLIST_DEACTIVATE_USER: if request.user.username == SETTING.MASTER_USER_NAME: return USERLIST_VIEWS.deactivateUser(request) else: return view(request) elif action == CONFIG.ACTION_DO_AGREE: return makeAgreement(request) else: if SERVICES.hasAgreement(request.user): return view(request) else: return askForAgreement(request) else: return informLocked(request)
def view(request): return HOME_VIEWS.index(request)