Skip to content
This repository was archived by the owner on Apr 17, 2023. It is now read-only.

Commit f86fe75

Browse files
authored
Add files via upload
1 parent f7d4c54 commit f86fe75

File tree

7 files changed

+83
-0
lines changed

7 files changed

+83
-0
lines changed

Proiect/aplicatieJobs/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
#

Proiect/aplicatieJobs/admin.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.contrib import admin
2+
3+
# Register your models here.

Proiect/aplicatieJobs/apps.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class AplicatiejobsConfig(AppConfig):
5+
default_auto_field = 'django.db.models.BigAutoField'
6+
name = 'aplicatieJobs'

Proiect/aplicatieJobs/models.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from django.db import models
2+
3+
4+
class Jobs(models.Model):
5+
type = models.CharField(max_length=11)
6+
url = models.CharField(max_length=100)
7+
title = models.CharField(max_length=100)
8+
description = models.TextField(max_length=300)
9+
how_to_apply = models.TextField(max_length=300)
10+
11+
active = models.BooleanField(default=1)
12+
13+
def __str__(self):
14+
return f"{self.type} - {self.url} - {self.title} - {self.description} - {self.how_to_apply}"

Proiect/aplicatieJobs/tests.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.test import TestCase
2+
3+
# Create your tests here.

Proiect/aplicatieJobs/urls.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
from django.urls import path
2+
3+
from aplicatieJobs import views
4+
5+
app_name = 'jobs'
6+
7+
urlpatterns = [
8+
path('', views.JobsView.as_view(), name='lista_jobs'),
9+
path('adaugare/', views.CreateJobsView.as_view(), name='adauga'),
10+
path('<int:pk>/update/', views.UpdateJobsView.as_view(), name='modifica'),
11+
path('<int:pk>/stergere/', views.delete_jobs, name='sterge'),
12+
path('<int:pk>/activeaza/', views.activate_jobs, name='activeaza'),]

Proiect/aplicatieJobs/views.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
from django.contrib.auth.decorators import login_required
2+
from django.contrib.auth.mixins import LoginRequiredMixin
3+
from django.shortcuts import redirect
4+
from django.urls import reverse
5+
from django.views.generic import ListView, CreateView, UpdateView
6+
7+
from aplicatieJobs.models import Jobs
8+
9+
10+
class JobsView(LoginRequiredMixin, ListView):
11+
model = Jobs
12+
template_name = 'aplicatieJobs/jobs_index.html'
13+
paginate_by = 5
14+
15+
16+
class CreateJobsView(LoginRequiredMixin, CreateView):
17+
model = Jobs
18+
fields = ['type', 'url', 'title', 'description', 'how_to_apply']
19+
template_name = 'aplicatieJobs/jobs_form.html'
20+
21+
def get_success_url(self):
22+
return reverse('jobs:lista_jobs')
23+
24+
25+
class UpdateJobsView(LoginRequiredMixin, UpdateView):
26+
model = Jobs
27+
fields = ['type', 'url', 'title', 'description', 'how_to_apply']
28+
template_name = 'aplicatieJobs/jobs_form.html'
29+
30+
def get_success_url(self):
31+
return reverse('jobs:lista_jobs')
32+
33+
34+
@login_required
35+
def delete_jobs(request, pk):
36+
Jobs.objects.filter(id=pk).update(active=0)
37+
return redirect('jobs:lista_jobs')
38+
39+
40+
@login_required
41+
def activate_jobs(request, pk):
42+
Jobs.objects.filter(id=pk).update(active=1)
43+
return redirect('jobs:lista_jobs')
44+

0 commit comments

Comments
 (0)