Ejemplo n.º 1
0
 def get(self, request):
     core = Core()
     status, stats = core.db.getStats()
     if status != DBStatus.s_ok:
         logger.error("Could not get stats")
         return Response({"error": "Could not get stats"}, status=500)
     return Response(stats.__dict__)
Ejemplo n.º 2
0
 def setUp(self):
     self.core = Core()
     self.core.db._populateIds()
     user = DjangoUser.objects.create(username=self.username)
     user.set_password(self.password)
     user.save()
     self.client = Client()
     self.client.login(username=self.username, password=self.password)
Ejemplo n.º 3
0
 def authenticate(self, login: str, password: str) -> bool:
     from webforces.server.core import Core
     core = Core()
     status, user = core.db.getUserByLogin(login)
     if status != DBStatus.s_ok:
         user = User(0, login, "", "", "", [])
         core.db.addUser(user)
         logger.debug(f"Add new user to mongodb: {user}")
     logger.debug(f"Logging in user: '******', password: {password}'")
Ejemplo n.º 4
0
    def get(self, request):
        core = Core()
        status, users = core.db.getAllUsers()

        if status != DBStatus.s_ok:
            raise Exception("Could not get users")

        data = {
            "count": len(users),
        }
        return Response(data)
Ejemplo n.º 5
0
 def setUp(self):
     self.core = Core(validation=True)
     self.core.db._populateIds()
     user = DjangoUser.objects.create(username=self.username)
     user.set_password(self.password)
     user.is_staff = True
     user.is_admin = True
     user.is_superuser = True
     user.save()
     self.client = Client()
     self.client.login(username=self.username, password=self.password)
Ejemplo n.º 6
0
 def get_context_data(self, **kwargs):
     if not self.request.user.is_superuser:
         raise PermissionDenied
     context = super().get_context_data(**kwargs)
     core = Core()
     status, stats = core.db.getStats()
     logger.warning(stats)
     if status != DBStatus.s_ok:
         logger.error("Could not get stats")
         raise Exception("Could not get stats")
     context["stats"] = stats.__dict__
     return context
Ejemplo n.º 7
0
 def get_context_data(self, **kwargs):
     context = super().get_context_data(**kwargs)
     context["username"] = self.kwargs['user']
     context["auth"] = self.request.user.is_authenticated
     core = Core()
     status, user = core.db.getUserByLogin(self.kwargs['user'])
     if status != DBStatus.s_ok:
         context["fullname"] = ""
     else:
         context[
             "fullname"] = f"{user.first_name} {user.middle_name} {user.second_name}"
     return context
Ejemplo n.º 8
0
def sign_up(request):
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            Core().auth.register(username, raw_password)
            return redirect('/')
    else:
        form = UserCreationForm()
    return render(request, 'registration/signup.html', {'form': form})
Ejemplo n.º 9
0
    def post(self, request, login):
        core = Core()
        status, user_db = core.db.getUserByLogin(login)
        if status != DBStatus.s_ok:
            return Response({"error": f"User does not exist: {status}"}, status=500)

        user = request.data.dict()
        user["user_id"] = user_db.user_id
        user["login"] = login
        user["algs_id"] = []
        user = User.fromDict(user)
        status = core.db.updUser(user)
        if status != DBStatus.s_ok:
            return Response({"error": f"Could not update user: {status}"}, status=500)
        return Response({"success": f"User {login} was successfully updated"})
Ejemplo n.º 10
0
    def get(self, request, login):
        core = Core()
        status, user = core.db.getUserByLogin(login)

        if status != DBStatus.s_ok:
            raise Http404("User does not exist")

        data = {
            "id": user.user_id,
            "login": user.login,
            "first_name": user.first_name,
            "second_name": user.second_name,
            "middle_name": user.middle_name,
        }

        return Response(data)
Ejemplo n.º 11
0
def log_in(request):
    if request.method == 'POST':
        form = AuthenticationForm(request.POST)
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        if user:
            if user.is_active:
                login(request, user)
                Core().auth.authenticate(username, password)
                return redirect(request.GET.get('next') or '/')
        else:
            messages.error(request, 'Incorrect username or password')
    else:
        form = AuthenticationForm()
    return render(request, 'registration/login.html', {'form': form})
Ejemplo n.º 12
0
    def get(self, request, title):
        core = Core()
        status, alg = core.db.getAlgByTitle(title)

        if status != DBStatus.s_ok:
            raise Exception("Could not get algorithm")

        data = {
            "alg_id": alg.alg_id,
            "title": alg.title,
            "author_id": alg.author_id,
            "source": alg.source,
            "tests_id": alg.tests_id,
            "lang_id": alg.lang_id,
        }
        return Response(data)
Ejemplo n.º 13
0
import os

if os.environ.get("RUN_MAIN") == "true":
    # Init webforces core
    from webforces.server.core import Core
    Core()
Ejemplo n.º 14
0
 def _action(self, serializer):
     logger.debug(self.request.data)
     if 'username' in self.request.data.keys() and 'password' in self.request.data.keys():
         Core().auth.authenticate(self.request.data['username'], self.request.data['password'])
     return super()._action(serializer)
Ejemplo n.º 15
0
 def setUp(self):
     self.core = Core(validation=True)
     self.core.db._populateIds()
Ejemplo n.º 16
0
 def setUp(self):
     self.core = Core()
     self.core.db._populateIds()
     self.client = Client()
Ejemplo n.º 17
0
 def setUp(self):
     self.core = Core(validation=True)
Ejemplo n.º 18
0
 def test_core_is_proper_singletone(self):
     core2 = Core(validation=True)
     self.assertIs(core2, self.core)