Commit 179e38b0a49e5abba75affa9d80a27f14e33080b
Committed by
Matheus de Sousa Faria
1 parent
9398a678
Exists in
profile_integration
Removed some of workarounds
Showing
7 changed files
with
42 additions
and
46 deletions
Show diff stats
colab/accounts/templates/accounts/user_update_form.html
| ... | ... | @@ -121,7 +121,7 @@ $(function() { |
| 121 | 121 | <h3>{% gravatar user_.email 50 %} {{ user_.get_full_name }} ({{ user_.username }})</h3> |
| 122 | 122 | <a href="https://gravatar.com" target="_blank"> |
| 123 | 123 | {% trans "Change your avatar at Gravatar.com" %} |
| 124 | - </a>{{ lala }} | |
| 124 | + </a> | |
| 125 | 125 | </div> |
| 126 | 126 | <br> |
| 127 | 127 | <br> |
| ... | ... | @@ -148,7 +148,7 @@ $(function() { |
| 148 | 148 | } |
| 149 | 149 | </style> |
| 150 | 150 | <div class="tab-content"> |
| 151 | - <div id="profile" class="tab-pane fade"> | |
| 151 | + <div id="profile" class="tab-pane fade in active"> | |
| 152 | 152 | <form method="post"> |
| 153 | 153 | {% csrf_token %} |
| 154 | 154 | |
| ... | ... | @@ -229,15 +229,12 @@ $(function() { |
| 229 | 229 | </div> |
| 230 | 230 | </form> |
| 231 | 231 | </div> |
| 232 | - <div id="code" class="tab-pane fade in active"> | |
| 233 | - {% content_xpto %} | |
| 234 | - </div> | |
| 235 | - <div id="social" class="tab-pane fade"> | |
| 236 | - <p>Some content in menu 2.</p> | |
| 237 | - </div> | |
| 232 | + {% for widget in widgets %} | |
| 233 | + <div id="{{ widget.identifier }}" class="tab-pane fade"> | |
| 234 | + <h2>{{ widget.name }}</h2> | |
| 235 | + {{ widget.get_body }} | |
| 236 | + </div> | |
| 237 | + {% endfor %} | |
| 238 | 238 | </div> |
| 239 | 239 | |
| 240 | - | |
| 241 | - | |
| 242 | - | |
| 243 | 240 | {% endblock %} | ... | ... |
colab/accounts/views.py
| ... | ... | @@ -46,7 +46,6 @@ class UserProfileUpdateView(UserProfileBaseMixin, UpdateView): |
| 46 | 46 | def get_context_data(self, **kwargs): |
| 47 | 47 | context = {} |
| 48 | 48 | context['widgets'] = WidgetManager.get_widgets('profile', self.request) |
| 49 | - context['lala'] = 'lala123' | |
| 50 | 49 | context.update(kwargs) |
| 51 | 50 | return super(UserProfileUpdateView, self).get_context_data(**context) |
| 52 | 51 | ... | ... |
colab/plugins/gitlab/templates/proxy/gitlab_profile.html
colab/plugins/gitlab/urls.py
| ... | ... | @@ -4,7 +4,5 @@ from django.conf.urls import patterns, url |
| 4 | 4 | from .views import GitlabProxyView, GitlabProfileProxyView |
| 5 | 5 | |
| 6 | 6 | urlpatterns = patterns('', |
| 7 | - # Gitlab URLs | |
| 8 | - #url(r'(?P<path>profile.*)$', GitlabProfileProxyView.as_view(), name='gitlab'), | |
| 9 | 7 | url(r'^(?P<path>.*)$', GitlabProxyView.as_view(), name='gitlab'), |
| 10 | 8 | ) | ... | ... |
colab/plugins/gitlab/widgets.py
| ... | ... | @@ -8,14 +8,28 @@ class GitlabProfileWidget(GitlabProxyView, Widget): |
| 8 | 8 | name = 'Gitlab Profile' |
| 9 | 9 | default_url = '/gitlab/profile/account' |
| 10 | 10 | |
| 11 | + def get_body(self): | |
| 12 | + start = self.content.find('<body') | |
| 13 | + start = self.content.find('>', start) | |
| 14 | + end = self.content.find('</body>') | |
| 15 | + print "start = " + str(start) + ", end = " + str(end) | |
| 16 | + print "content = " + self.content | |
| 17 | + | |
| 18 | + if -1 in [start, end]: | |
| 19 | + return '' | |
| 20 | + | |
| 21 | + body = self.content[start + len('>'):end] | |
| 22 | + return mark_safe(body) | |
| 23 | + | |
| 11 | 24 | def generate_content(self, request): |
| 12 | 25 | requested_url = request.GET.get('code', self.default_url) |
| 13 | 26 | g = GitlabProfileProxyView() |
| 14 | 27 | r = g.dispatch(request, requested_url) |
| 28 | + | |
| 15 | 29 | if r.status_code == 302: |
| 16 | 30 | location = r.get('Location') |
| 17 | 31 | requested_url = location[location.find('/{}/'.format(self.app_label)):] |
| 18 | 32 | request.method = 'GET' |
| 19 | 33 | r = g.dispatch(request, requested_url) |
| 20 | 34 | |
| 21 | - return "<div>" + r.content + "</div>" | |
| 22 | 35 | \ No newline at end of file |
| 36 | + self.content = r.content | ... | ... |
colab/plugins/templatetags/plugins.py
| ... | ... | @@ -51,23 +51,3 @@ def plugins_menu(context): |
| 51 | 51 | |
| 52 | 52 | cache.set(cache_key, menu) |
| 53 | 53 | return menu |
| 54 | - | |
| 55 | -import requests | |
| 56 | -from django.conf import settings | |
| 57 | -from colab.plugins.gitlab.views import GitlabProfileProxyView | |
| 58 | -@register.simple_tag(takes_context=True) | |
| 59 | -def content_xpto(context): | |
| 60 | - request = context['request'] | |
| 61 | - requested_url = request.GET.get('code', '/gitlab/profile/account') | |
| 62 | - print "requested_url1 = " + requested_url | |
| 63 | - | |
| 64 | - g = GitlabProfileProxyView() | |
| 65 | - r = g.dispatch(request, requested_url) | |
| 66 | - if r.status_code == 302: | |
| 67 | - location = r.get('Location') | |
| 68 | - requested_url = location[location.find('/gitlab/'):] | |
| 69 | - request.method = 'GET' | |
| 70 | - print "requested_url2 = " + requested_url | |
| 71 | - r = g.dispatch(request, requested_url) | |
| 72 | - | |
| 73 | - return "<div>" + r.content + "</div>" | ... | ... |
colab/plugins/utils/widget_manager.py
| 1 | +from django.utils.safestring import mark_safe | |
| 1 | 2 | |
| 2 | 3 | class Widget: |
| 3 | 4 | identifier = None |
| 4 | 5 | name = None |
| 5 | 6 | default_url = None |
| 6 | - content = None | |
| 7 | + content = '' | |
| 7 | 8 | |
| 8 | 9 | def get_body(self): |
| 9 | 10 | # avoiding regex in favor of performance |
| 10 | - start = content.find('<body>') | |
| 11 | - end = content.find('</body>') | |
| 12 | - head = content[start + len('<body>'):end] | |
| 13 | - return head | |
| 11 | + start = self.content.find('<body>') | |
| 12 | + end = self.content.find('</body>') | |
| 13 | + | |
| 14 | + if -1 in [start, end]: | |
| 15 | + return '' | |
| 16 | + | |
| 17 | + body = self.content[start + len('<body>'):end] | |
| 18 | + return mark_safe(body) | |
| 14 | 19 | |
| 15 | 20 | def get_header(self): |
| 16 | 21 | # avoiding regex in favor of performance |
| 17 | - start = content.find('<head>') | |
| 18 | - end = content.find('</head>') | |
| 19 | - head = content[start + len('<head>'):end] | |
| 20 | - return head | |
| 22 | + start = self.content.find('<head>') | |
| 23 | + end = self.content.find('</head>') | |
| 24 | + | |
| 25 | + if -1 in [start, end]: | |
| 26 | + return '' | |
| 27 | + | |
| 28 | + head = self.content[start + len('<head>'):end] | |
| 29 | + return mark_safe(head) | |
| 21 | 30 | |
| 22 | 31 | def generate_content(self, request=None): |
| 23 | 32 | self.content = '' | ... | ... |