diff --git a/groupsite/forms.py b/groupsite/forms.py index fa826bc..0b06c25 100644 --- a/groupsite/forms.py +++ b/groupsite/forms.py @@ -1,5 +1,6 @@ from django import forms -from models import News, Post, ScienceThing, YoutubeVideo, NewsImg, Publication +from models import News, Post, ScienceThing, YoutubeVideo, NewsImg +from models import Publication, NetworkInfo from django.forms.extras.widgets import SelectDateWidget from django.contrib.admin.widgets import AdminDateWidget from datetime import date @@ -32,4 +33,9 @@ class FormPublication(forms.ModelForm): class Meta: model = Publication fields = ('title', 'description', 'publication_date', 'pdf') - + + +class FormNetwork(forms.ModelForm): + class Meta: + model = NetworkInfo + exclude = ('people',) diff --git a/groupsite/views.py b/groupsite/views.py index 77c2527..d96c516 100755 --- a/groupsite/views.py +++ b/groupsite/views.py @@ -6,6 +6,7 @@ from models import News, NewsImg, ScienceThing, YoutubeVideo, Post, Publication, NetworkInfo from cmipstatus.forms import FormEditProfile, FormPassword from forms import FormNews, FormPost, FormVideo, FormImage, FormPublication +from forms import FormNetwork import requests from bs4 import BeautifulSoup @@ -92,10 +93,13 @@ def people_view(request, people_id): paper_div = [] if network: network = network[0] - lattes_data = requests.get(network.lattes) - soup = BeautifulSoup(lattes_data.text) - paper_div = soup.findAll('div', {'class':"artigo-completo"}) - paper_div = [get_text_from_lattes(div) for div in paper_div] + try: + lattes_data = requests.get(network.lattes) + soup = BeautifulSoup(lattes_data.text) + paper_div = soup.findAll('div', {'class':"artigo-completo"}) + paper_div = [get_text_from_lattes(div) for div in paper_div] + except: + pass return render_to_response("gmaopeopleview.html", {'people':people, 'user':request.user, 'posts':posts, 'publications':publications, @@ -122,6 +126,31 @@ def edit_profile(request): context_instance=RequestContext(request)) +@login_required +def edit_network(request): + user = request.user + people = get_object_or_404(People, username=user) + network = NetworkInfo.objects.filter(people=people) + if network: + network = network[0] + else: + network = NetworkInfo(people=people) + network.save() + + if request.method == 'POST': + form = FormNetwork(request.POST, request.FILES, instance=network) + if form.is_valid(): + network = form.instance + network.people = people + network.save() + return render_to_response("gmaook.html", {'user':user}) + else: + form = FormNetwork(instance=network) + + return render_to_response("gmaoeditnetworking.html", {'form':form, 'user':user}, + context_instance=RequestContext(request)) + + @login_required def edit_configs(request): user = request.user diff --git a/templates/gmaobase.html b/templates/gmaobase.html index 83de513..ea68aa0 100644 --- a/templates/gmaobase.html +++ b/templates/gmaobase.html @@ -37,6 +37,7 @@
  • Enviar Publicação
  • Editar Perfil
  • +
  • Informações de Networking
  • Configurações
  • Logout
  • {% else %} diff --git a/templates/gmaoeditnetworking.html b/templates/gmaoeditnetworking.html new file mode 100644 index 0000000..ed7e18d --- /dev/null +++ b/templates/gmaoeditnetworking.html @@ -0,0 +1,27 @@ +{% extends "gmaobase.html" %} + +{% block pagebanner %} +

    Configuração de Redes Sociais

    +{% endblock %} + +{% block body %} +
    + +
    +

    Password

    + {% if erro %} +
    + × + Erro!
    Informação inválida +
    + {% endif %} +
    + {% csrf_token %} + {{ form.as_p }} + +
    +
    + +
    +{% endblock %} + diff --git a/urls.py b/urls.py index c17bf70..ce08ecc 100644 --- a/urls.py +++ b/urls.py @@ -34,6 +34,7 @@ url(r'^gmao/posts/$', 'groupsite.views.posts'), url(r'^gmao/posts/(.*)/$', 'groupsite.views.post_view'), url(r'^gmao/restricted/edit/$', 'groupsite.views.edit_profile'), + url(r'^gmao/restricted/networking/$', 'groupsite.views.edit_network'), url(r'^gmao/restricted/configs/$', 'groupsite.views.edit_configs'), url(r'^gmao/restricted/create_news/$', 'groupsite.views.create_news'), url(r'^gmao/restricted/create_post/$', 'groupsite.views.create_post'),