popup
This commit is contained in:
parent
f9a932eebf
commit
63ee0aa9c7
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 3.1.4 on 2020-12-30 21:12
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('homepage', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='product',
|
||||||
|
name='Wolontatriat',
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
]
|
Binary file not shown.
@ -49,6 +49,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="container h-100">
|
||||||
|
<div class="row h-100 justify-content-center align-items-center">
|
||||||
|
<div class="col-10 col-md-8 col-lg-6">
|
||||||
|
<label for="cun">To ogłoszenie wolontariackie <span>*</span></label>
|
||||||
|
<select id="cun" name="wol">
|
||||||
|
<option value="1">Nie</option>
|
||||||
|
<option value="2">Tak</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="container h-100">
|
<div class="container h-100">
|
||||||
<div class="row h-100 justify-content-center align-items-center">
|
<div class="row h-100 justify-content-center align-items-center">
|
||||||
<div class="col-10 col-md-8 col-lg-6">
|
<div class="col-10 col-md-8 col-lg-6">
|
||||||
|
@ -3,6 +3,92 @@
|
|||||||
{% block content %}
|
{% block content %}
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<style>
|
||||||
|
body {font-family: Arial, Helvetica, sans-serif;}
|
||||||
|
|
||||||
|
/* The Modal (background) */
|
||||||
|
.modal {
|
||||||
|
display: none; /* Hidden by default */
|
||||||
|
position: fixed; /* Stay in place */
|
||||||
|
z-index: 1; /* Sit on top */
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 100%; /* Full width */
|
||||||
|
height: 100%; /* Full height */
|
||||||
|
overflow: auto; /* Enable scroll if needed */
|
||||||
|
background-color: rgb(0,0,0); /* Fallback color */
|
||||||
|
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
|
||||||
|
-webkit-animation-name: fadeIn; /* Fade in the background */
|
||||||
|
-webkit-animation-duration: 0.4s;
|
||||||
|
animation-name: fadeIn;
|
||||||
|
animation-duration: 0.4s
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Modal Content */
|
||||||
|
.modal-content {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: #fefefe;
|
||||||
|
width: 100%;
|
||||||
|
-webkit-animation-name: slideIn;
|
||||||
|
-webkit-animation-duration: 0.4s;
|
||||||
|
animation-name: slideIn;
|
||||||
|
animation-duration: 0.4s
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The Close Button */
|
||||||
|
.close {
|
||||||
|
color: white;
|
||||||
|
float: right;
|
||||||
|
font-size: 28px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close:hover,
|
||||||
|
.close:focus {
|
||||||
|
color: #000;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-header {
|
||||||
|
padding: 2px 16px;
|
||||||
|
background-color: #5cb85c;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modal-body {padding: 2px 16px;}
|
||||||
|
|
||||||
|
.modal-footer {
|
||||||
|
padding: 2px 16px;
|
||||||
|
background-color: #5cb85c;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add Animation */
|
||||||
|
@-webkit-keyframes slideIn {
|
||||||
|
from {bottom: -300px; opacity: 0}
|
||||||
|
to {bottom: 0; opacity: 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes slideIn {
|
||||||
|
from {bottom: -300px; opacity: 0}
|
||||||
|
to {bottom: 0; opacity: 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes fadeIn {
|
||||||
|
from {opacity: 0}
|
||||||
|
to {opacity: 1}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fadeIn {
|
||||||
|
from {opacity: 0}
|
||||||
|
to {opacity: 1}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<!--================Categories Banner Area =================-->
|
<!--================Categories Banner Area =================-->
|
||||||
@ -43,6 +129,61 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="container h-100">
|
||||||
|
<div class="row h-100 justify-content-center align-items-center">
|
||||||
|
<div class="col-10 col-md-8 col-lg-6">
|
||||||
|
<input type="checkbox" id="scales" name="scales" >
|
||||||
|
<label>Zapoznałem się z <a id="myBtn" style="color:blue">Regulaminem</a></label>
|
||||||
|
<div id="myModal" class="modal">
|
||||||
|
|
||||||
|
<!-- Modal content -->
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<span class="close">×</span>
|
||||||
|
<h2>Regulamin</h2>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<h6>Serwis wystawiania przedmiotów i usług SocialHelper jest zarządzany przez spółkę SocialHelper z siedzibą przy ulicy Jana Kowalskiego 99, 12-200 Warszawa, Polska.
|
||||||
|
</h6>
|
||||||
|
<br/>
|
||||||
|
<h6>Przed zarejestrowaniem się w serwisie użytkownik ma obowiązek zapoznania się z niniejszym regulaminem i zobowiązać się do jego przestrzegania.
|
||||||
|
</h6>
|
||||||
|
<br>
|
||||||
|
§1.1 Niniejsze warunki określają wzajemne relacje pomiędzy SocialHelper a Użytkownikami lub Odwiedzającymi.
|
||||||
|
<br/>
|
||||||
|
§1.2 Witryna umożliwia Użytkownikom wymianę przedmiotów oraz usług na zasadach barteru lub wolontariatu.
|
||||||
|
<br/>
|
||||||
|
§1.3 Witryna nie jest przeznaczona dla osób niepełnoletnich. W przypadku osób niepełnoletnich rodzic lub opiekun musi zarejestrować się w celu korzystania z usług oraz nadzorować korzystanie z usług przez osoby niepełnoletnie.
|
||||||
|
<br/>
|
||||||
|
§1.4 Rejestrując się w witrynie użytkownik zobowiązany jest do podania swojego adresu e-mail i hasła (bezpośrednio lub za pomocą profilu Facebook lub Google).
|
||||||
|
<br/><br/>
|
||||||
|
§2.1 SocialHelper jest internetowym pośredniczącym serwisem oferującym użytkownikom wirtualne forum wymiany. SocialHelper nie jest stroną żadnej transakcji pomiędzy użytkownikami.
|
||||||
|
<br/>
|
||||||
|
§2.2 Wystawione przedmioty nie mogą być produktami medycznymi oraz pochodzenia ludzkiego, używkami, bronią palną i amunicją, a także wszelkimi przedmiotami, których posiadanie jest niezgodne z polskim prawem.
|
||||||
|
<br/>
|
||||||
|
§2.3 Wystawione usługi nie mogą mieć charakteru seksualnego.
|
||||||
|
<br/>
|
||||||
|
§2.4 Użytkownik musi być właścicielem wystawionych przedmiotów i posiadać prawo do ich wymiany.
|
||||||
|
<br/>
|
||||||
|
§2.5 SocialHelper zastrzega sobie prawo do blokowania użytkowników naruszających regulamin, podających niewłaściwe informacje, niewywiązujących się z transakcji oraz wykorzystujących chat do spraw niezwiązanych z przeprowadzanymi transakcjami.
|
||||||
|
<br/>
|
||||||
|
§2.6 Użytkownicy mogą aktywować konto premium podlegające cyklicznej opłacie miesięcznej wynoszącej 9.99 PLN obciążającej ich konto lub kartę debetową.
|
||||||
|
<br/><br/>
|
||||||
|
|
||||||
|
§3.1 Wszyscy Odwiedzający i Użytkownicy ponoszą pełną odpowiedzialność za przedmioty i usługi wystawione na witrynie SocialHelper w tym jego opis, prawidłowość innych przedstawionych szczegółów oraz komunikację z innymi użytkownikami, a także ogólnie transakcje zawierane z innymi użytkownikami i mogące z nich wyniknąć spory.
|
||||||
|
<br/><br/>
|
||||||
|
§4.1 SocialHelper posiada wszelkie prawa własności intelektualnej dotyczące witryny, jej systemu (katalogu, jego przenoszenia, itp.), projektu witryny i oprogramowania wykorzystywanego przez witrynę, w tym znaków towarowych i nazw domen.
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="container h-100">
|
<div class="container h-100">
|
||||||
<div class="row h-100 justify-content-center align-items-center">
|
<div class="row h-100 justify-content-center align-items-center">
|
||||||
<div class="col-10 col-md-8 col-lg-6">
|
<div class="col-10 col-md-8 col-lg-6">
|
||||||
@ -142,6 +283,33 @@ Copyright ©<script>document.write(new Date().getFullYear());</script> All r
|
|||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<!--================End Footer Area =================-->
|
<!--================End Footer Area =================-->
|
||||||
|
<script>
|
||||||
|
// Get the modal
|
||||||
|
var modal = document.getElementById("myModal");
|
||||||
|
|
||||||
|
// Get the button that opens the modal
|
||||||
|
var btn = document.getElementById("myBtn");
|
||||||
|
|
||||||
|
// Get the <span> element that closes the modal
|
||||||
|
var span = document.getElementsByClassName("close")[0];
|
||||||
|
|
||||||
|
// When the user clicks the button, open the modal
|
||||||
|
btn.onclick = function() {
|
||||||
|
modal.style.display = "block";
|
||||||
|
}
|
||||||
|
|
||||||
|
// When the user clicks on <span> (x), close the modal
|
||||||
|
span.onclick = function() {
|
||||||
|
modal.style.display = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
// When the user clicks anywhere outside of the modal, close it
|
||||||
|
window.onclick = function(event) {
|
||||||
|
if (event.target == modal) {
|
||||||
|
modal.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -59,6 +59,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="container h-100">
|
||||||
|
<div class="row h-100 justify-content-center align-items-center">
|
||||||
|
<div class="col-10 col-md-8 col-lg-6">
|
||||||
|
<label for="cun">To ogłoszenie wolontariackie <span>*</span></label>
|
||||||
|
<select id="cun" name="wol">
|
||||||
|
<option value="1">Nie</option>
|
||||||
|
<option value="2">Tak</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="container h-100">
|
<div class="container h-100">
|
||||||
<div class="row h-100 justify-content-center align-items-center">
|
<div class="row h-100 justify-content-center align-items-center">
|
||||||
<div class="col-10 col-md-8 col-lg-6">
|
<div class="col-10 col-md-8 col-lg-6">
|
||||||
|
@ -80,7 +80,6 @@ def index_offer(request):
|
|||||||
}
|
}
|
||||||
return HttpResponse(template.render(context, request))
|
return HttpResponse(template.render(context, request))
|
||||||
|
|
||||||
|
|
||||||
def contact(request):
|
def contact(request):
|
||||||
return render(request , 'homepage/contact.html')
|
return render(request , 'homepage/contact.html')
|
||||||
|
|
||||||
@ -168,6 +167,14 @@ def add_offer(request):
|
|||||||
type_local = request.POST['type']
|
type_local = request.POST['type']
|
||||||
script_local = request.POST['script']
|
script_local = request.POST['script']
|
||||||
title_local = request.POST['title']
|
title_local = request.POST['title']
|
||||||
|
|
||||||
|
|
||||||
|
wol_local = request.POST['wol']
|
||||||
|
if wol_local == "1":
|
||||||
|
wol = False
|
||||||
|
else:
|
||||||
|
wol = True
|
||||||
|
|
||||||
data_local = timezone.now()
|
data_local = timezone.now()
|
||||||
if request.FILES:
|
if request.FILES:
|
||||||
pic_local = request.FILES['file']
|
pic_local = request.FILES['file']
|
||||||
@ -176,6 +183,7 @@ def add_offer(request):
|
|||||||
offer_local = request.POST['offer']
|
offer_local = request.POST['offer']
|
||||||
product = Product(
|
product = Product(
|
||||||
picture = pic_local,
|
picture = pic_local,
|
||||||
|
Wolontatriat = wol,
|
||||||
create_date = data_local,
|
create_date = data_local,
|
||||||
user_iden = request.user,
|
user_iden = request.user,
|
||||||
type = int(type_local),
|
type = int(type_local),
|
||||||
@ -186,6 +194,7 @@ def add_offer(request):
|
|||||||
keywords = "",
|
keywords = "",
|
||||||
)
|
)
|
||||||
product.save()
|
product.save()
|
||||||
|
messages.success(request, 'Ogłoszenie dodane!')
|
||||||
return redirect(my_offer)
|
return redirect(my_offer)
|
||||||
return render(request , 'homepage/add_offer.html')
|
return render(request , 'homepage/add_offer.html')
|
||||||
else:
|
else:
|
||||||
@ -195,6 +204,7 @@ def delete_offer(request, offer_id):
|
|||||||
instance = Product.objects.get(id=offer_id)
|
instance = Product.objects.get(id=offer_id)
|
||||||
instance.active = False
|
instance.active = False
|
||||||
instance.save()
|
instance.save()
|
||||||
|
messages.success(request, 'Ogłoszenie usunięte!')
|
||||||
|
|
||||||
return redirect(my_offer)
|
return redirect(my_offer)
|
||||||
|
|
||||||
@ -212,12 +222,20 @@ def edit_offer(request, offer_id):
|
|||||||
type_local = request.POST['type']
|
type_local = request.POST['type']
|
||||||
script_local = request.POST['script']
|
script_local = request.POST['script']
|
||||||
title_local = request.POST['title']
|
title_local = request.POST['title']
|
||||||
|
|
||||||
|
wol_local = request.POST['wol']
|
||||||
|
if wol_local == "1":
|
||||||
|
wol = False
|
||||||
|
else:
|
||||||
|
wol = True
|
||||||
|
|
||||||
if request.FILES:
|
if request.FILES:
|
||||||
pic_local = request.FILES['file']
|
pic_local = request.FILES['file']
|
||||||
instance.picture = pic_local
|
instance.picture = pic_local
|
||||||
|
|
||||||
offer_local = request.POST['offer']
|
offer_local = request.POST['offer']
|
||||||
|
|
||||||
|
instance.Wolontatriat = wol,
|
||||||
instance.type = int(type_local)
|
instance.type = int(type_local)
|
||||||
instance.offer = int(offer_local)
|
instance.offer = int(offer_local)
|
||||||
instance.title = title_local
|
instance.title = title_local
|
||||||
@ -226,6 +244,7 @@ def edit_offer(request, offer_id):
|
|||||||
instance.keywords = ""
|
instance.keywords = ""
|
||||||
|
|
||||||
instance.save()
|
instance.save()
|
||||||
|
messages.success(request, 'Ogłoszenie edytowane!')
|
||||||
return redirect(my_offer)
|
return redirect(my_offer)
|
||||||
return render(request , 'homepage/edycja_ogloszenia.html', context)
|
return render(request , 'homepage/edycja_ogloszenia.html', context)
|
||||||
|
|
||||||
@ -234,6 +253,18 @@ def create_user(request):
|
|||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
email = request.POST['email']
|
email = request.POST['email']
|
||||||
password = request.POST['password']
|
password = request.POST['password']
|
||||||
|
if email == "":
|
||||||
|
messages.error(request,'Pole email jest puste!')
|
||||||
|
return redirect('create_user')
|
||||||
|
|
||||||
|
if "@" not in email:
|
||||||
|
messages.error(request,'Wprowadzony email jest niepoprawny!')
|
||||||
|
return redirect('create_user')
|
||||||
|
|
||||||
|
if password == "":
|
||||||
|
messages.error(request,'Pole hasło jest puste!')
|
||||||
|
return redirect('create_user')
|
||||||
|
|
||||||
if User.objects.filter(email=email).exists():
|
if User.objects.filter(email=email).exists():
|
||||||
messages.error(request,'Ten adres e-mail jest już używany')
|
messages.error(request,'Ten adres e-mail jest już używany')
|
||||||
return redirect('create_user')
|
return redirect('create_user')
|
||||||
@ -255,7 +286,14 @@ def delete_user(request):
|
|||||||
User = get_user_model()
|
User = get_user_model()
|
||||||
instant = User.objects.filter(id=request.user.id).first()
|
instant = User.objects.filter(id=request.user.id).first()
|
||||||
instant.is_active = False
|
instant.is_active = False
|
||||||
|
instant.email = str(instant.id)
|
||||||
|
instant.username = str(instant.id)
|
||||||
|
instant_offer = Product.objects.filter(user_iden = instant)
|
||||||
|
for offer in instant_offer:
|
||||||
|
offer.active = False
|
||||||
|
offer.save()
|
||||||
instant.save()
|
instant.save()
|
||||||
|
|
||||||
messages.success(request,'Konto skasowane!')
|
messages.success(request,'Konto skasowane!')
|
||||||
return redirect(index)
|
return redirect(index)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user