diff --git a/pets/meupet/context_processors.py b/pets/meupet/context_processors.py new file mode 100644 index 0000000..80f1f96 --- /dev/null +++ b/pets/meupet/context_processors.py @@ -0,0 +1,7 @@ +from .models import Pet + + +def pets_count(request): + return { + 'pets_count': Pet.objects.count(), + } diff --git a/pets/meupet/tests/test_context_processors.py b/pets/meupet/tests/test_context_processors.py new file mode 100644 index 0000000..9c558ef --- /dev/null +++ b/pets/meupet/tests/test_context_processors.py @@ -0,0 +1,16 @@ +from django.test import TestCase +from model_mommy import mommy + +from meupet.context_processors import pets_count +from meupet.models import Pet + + +class ContextProcessorsTestCase(TestCase): + def setUp(self): + mommy.make(Pet) + mommy.make(Pet, active=False) + + def test_pets_count(self): + context = pets_count({}) + + self.assertEqual(2, context['pets_count']) diff --git a/pets/pets/settings/prod.py b/pets/pets/settings/prod.py index eeb1fe2..80a3a69 100644 --- a/pets/pets/settings/prod.py +++ b/pets/pets/settings/prod.py @@ -88,6 +88,8 @@ 'django.contrib.messages.context_processors.messages', 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', + 'meupet.context_processors.pets_count', + 'users.context_processors.users_count', ], 'loaders': [ ('django.template.loaders.cached.Loader', PROJECT_TEMPLATE_LOADERS), diff --git a/pets/static/css/pets.css b/pets/static/css/pets.css index 0962c92..c1f7b1d 100644 --- a/pets/static/css/pets.css +++ b/pets/static/css/pets.css @@ -243,6 +243,14 @@ body { border-color: #286B5A; } +/** About **/ +.site-stats { + font-size: 2.4rem; + font-weight: 500; + margin-bottom: 10px; + margin-top: 20px; +} + /** Card Pet **/ .card-pet { margin-bottom: 15px; diff --git a/pets/static/img/madonna_mabel.jpg b/pets/static/img/madonna_mabel.jpg deleted file mode 100644 index 605a0c9..0000000 Binary files a/pets/static/img/madonna_mabel.jpg and /dev/null differ diff --git a/pets/templates/staticpages/about.html b/pets/templates/staticpages/about.html index 1f9d964..e39a4ea 100644 --- a/pets/templates/staticpages/about.html +++ b/pets/templates/staticpages/about.html @@ -4,83 +4,44 @@ {% block title %}Sobre{% endblock %} {% block content %} -

A idéia do site surgiu depois de um resgate, uma tentativa de adoção - e posterior adoção pela minha namorada e - pela mãe dela - em um fim de semana de Abril de 2014 e também por conta de um gato, Darwin, que desapareceu e não - encontramos mais. Sempre penso nele e se, de alguma forma, poderíamos encontrá-lo algum dia. +

+ O Cadê meu Bicho existe há cerca de três anos. A ideia do site surgiu após um resgate e adoção de duas gatinhas e + de um gato, Darwin, que desapareceu no mesmo + período.

-

Atualmente, o Facebook tem sido uma ferramenta essencial para inúmeras associações e ONGs para divulgar sobre - adoções, desaparecimentos e pedidos de ajuda em prol de animais de diversas espécies. Apesar dessa inegável - utilidade, facilidade e popularidade, o Facebook tem sido um dos principais - e mais rápidos - meios de divulgação - de informações, o que faz com que muitos posts dessas ONGs e associações se percam no - imenso mar de - compartilhamentos diários. Queria que houvesse algo centralizado e bem simples. Um lugar onde houvesse só animais - perdidos, encontrados e para adoção.

- -

As gêmeas

- -

Numa sexta a noite de Abril de 2014, ao voltarmos pra casa durante a noite, vi uma pequena forma correndo - desajeitada atravessar a rua. Paramos o carro, e vimos que era um filhote de gato preto e branco que acabara de - entrar em um terreno baldio e se esconder no mato que já vinha crescendo sem qualquer cuidados há algum tempo. -

- -

Tentamos pegar esse filhote por um bom tempo, mas sem sucesso. Desistimos e resolvemos seguir o caminho, ainda do - lado desse terreno. Um pouco mais a frente minha namorada falou “Para!” e eu parei. Demorei pra ver o que ela tinha - visto: um outro gatinho branco, deitado numa sacola branca - não sei como ela viu. -

- -

Quando tentamos chamá-lo, ele também correu junto ao primeiro filhote e ficaram deitados lado a lado, num lugar - onde não conseguíamos alcançar. Passamos a noite arquitetando planos de como conseguiríamos tirar aqueles gatinhos - daquele lugar, pois além do frio que fazia na época, havia muito lixo no local. -

- -

Sábado a noite. O primeiro plano que colocamos em prática foi uma adaptação da ideia da trilha de pão que João e - Maria deixaram para encontrar o caminho para a casa. Mas no lugar de pão, usamos ração de gato em sachê, pois tinha - um cheiro bem forte e que, com certeza, atrairia os filhotes de gato. Comecei a jogar a ração perto de onde eles - estavam. Demorou bastante, mas o filhote branquinho começou a comer. Fiz uma trilha com a ração até chegar perto o - suficiente para que eu o alcançasse. Primeiro filhote resgatado. Ganhei uma mordida e colocamos o filhote - que - agora miava desesperadamente alto - dentro de uma caixa e fomos embora. Por enquanto. -

- -

Era uma menina, três cores e rabo comprido que só. -

- -

Não conseguimos pegar o outro filhote, pois era bem mais arisco e não se deixou enganar pela ração. Voltamos pra - casa da minha namorada e deitamos na cama com a gatinha no meio da gente, pensando no outro gatinho que agora estava - sozinho naquele lugar. -

- -

Domingo a tarde. Tentamos novamente a trilha com a ração, mas o filhote preto e branco se afastava cada vez que - tentávamos nos aproximar. Eis que surge a ideia de criar uma armadilha. Minha mãe havia comprado um climatizador, - desses que vem embalados em caixas grandes o suficiente para armadilhas para resgatar filhotes de gato. Se você, - caro leitor, quando criança assistia programas infantis na TV e tentava, sob protestos de sua mãe, construir - brinquedos mirabolantes de materiais de papelaria, saiba que todo esse treinamento não foi uma perda de tempo. - Pegamos a caixa e um rolo de barbante. Amarrei o barbante em apenas um lado da caixa, para que eu conseguisse - puxá-la. Coloquei um pouco de ração dentro dessa caixa-armadilha e a deitei próxima do local onde o filhote estava - deitado. Nos afastamos. Alguns longos minutos de espera. Aos poucos o filhote foi se aproximando da caixa. Assim que - ele entrou para comer a ração, puxei o barbante fazendo com que a caixa ficasse em pé novamente. Segundo filhote - capturado. E esse estava ainda mais bravo que a gata de três cores. -

- -

Para um gato tão pequeno, ele fez bastante barulho, fshhhhhh, tentou pular para fora da - caixa. - Fechamos a caixa e seguimos para a casa da minha namorada. O gato preto e branco era bem pequeno, parecia fraco e - doente, e estava bastante assustado. Pensei que não sobreviveria. Mas sobreviveu. +

+ Atualmente, o Facebook é uma ferramenta essencial para inúmeras associações e ONGs para divulgar adoções, + desaparecimentos e pedidos de ajuda em prol de animais de diversas espécies.

-

Era outra menina, com um rabinho curto. +

+ Apesar dessa inegável utilidade, facilidade e popularidade, o Facebook é um dos principais - e mais rápidos - meios + de + divulgação de informações, o que faz com que muitos posts dessas ONGs e associações se percam no imenso mar de + compartilhamentos diários.

-

Ambas continuam juntas e numa casa onde são rodeadas por mimos e carinhos. +

+ Gostaríamos que houvesse algo centralizado e bem simples. Um lugar onde os animais são o foco.E foi assim que o site + ganhou vida.

-

Essa é uma foto das duas, logo que chegaram em sua nova casa. A gata preta e branca se chama - Madonna e a de três - cores, Mabel. +

+ O código fonte por trás do site é aberto e está disponível no GitHub, isso possibilita que qualquer pessoa com o + conhecimento necessário possa enviar alterações ou utilizar o que já foi feito para criar um site pra sua cidade ou + ONG.

-

As gatinhas Madonna e Mabel

+

Nossos números

+
+
+

{{ pets_count }} pets cadastrados

+

Contando cadastros ativos e inativos

+
-

Sempre me divirto com as gatas que encontramos numa noite de Abril.

-{% endblock %} \ No newline at end of file +
+

{{ users_count }} usuários cadastrados

+
+
+{% endblock %} diff --git a/pets/users/context_processors.py b/pets/users/context_processors.py new file mode 100644 index 0000000..53d6e16 --- /dev/null +++ b/pets/users/context_processors.py @@ -0,0 +1,7 @@ +from .models import OwnerProfile + + +def users_count(request): + return { + 'users_count': OwnerProfile.objects.count() + } diff --git a/pets/users/tests/test_context_processors.py b/pets/users/tests/test_context_processors.py new file mode 100644 index 0000000..c370b76 --- /dev/null +++ b/pets/users/tests/test_context_processors.py @@ -0,0 +1,15 @@ +from django.test import TestCase +from model_mommy import mommy + +from users.context_processors import users_count +from users.models import OwnerProfile + + +class ContextProcessors(TestCase): + def setUp(self): + mommy.make(OwnerProfile) + + def test_users_count(self): + context = users_count({}) + + self.assertEqual(1, context['users_count'])