Skip to content

Commit 4c1437e

Browse files
committed
faster messaging
1 parent 19476b3 commit 4c1437e

File tree

5 files changed

+68
-14
lines changed

5 files changed

+68
-14
lines changed

pyhackers/controllers/ajax.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,24 @@
44
from pyhackers.helpers import current_user_id
55
from pyhackers.service.channel import follow_channel
66
from pyhackers.service.discuss import new_discussion_message, discussion_messages, get_user_discussion_by_nick, new_discussion_follower, remove_discussion_follower
7+
from pyhackers.service.post import new_post
78
from pyhackers.service.project import project_follow
89
from pyhackers.service.user import follow_user, get_user_timeline_by_nick, get_user_projects_by_nick
910

1011

1112
ajax_app = Blueprint('ajax', __name__, url_prefix='/ajax/')
1213

14+
@ajax_app.route("message/new", methods=("POST",))
15+
@login_required
16+
def new_message():
17+
logging.warn(request.form)
18+
message = request.form.get('message')
19+
code = request.form.get("code")
20+
21+
new_post(message, code, current_user_id(), nick=current_user.nick)
22+
return jsonify({'ok': 1})
23+
24+
1325
@ajax_app.route("followchannel", methods=("POST",))
1426
@login_required
1527
def follow_channel_ctrl():

pyhackers/controllers/main.py

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -251,14 +251,6 @@ def user():
251251
@main_app.route("/new", methods=['GET', 'POST'])
252252
@login_required
253253
def new_message():
254-
if request.method == "POST":
255-
logging.warn(request.form)
256-
message = request.form.get('message')
257-
code = request.form.get("code")
258-
259-
new_post(message, code, current_user_id(), nick=current_user.nick)
260-
return jsonify({'ok': 1})
261-
262254
return render_base_template("new_message.html")
263255

264256

pyhackers/static/coffee/app/message.coffee

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,26 @@ class @Message
1212

1313

1414
showMessage : (evt) =>
15-
console.log("ok")
16-
15+
vex.dialog.open
16+
message: "Whats up"
17+
input: """
18+
<textarea rows="3" name="message" required ></textarea>
19+
"""
20+
buttons: [
21+
$.extend({}, vex.dialog.buttons.YES, text: 'Post')
22+
$.extend({}, vex.dialog.buttons.NO, text: 'Back' , class: 'pull-left')
23+
]
24+
callback: (data) ->
25+
return console.log('Cancelled') if data is false
26+
27+
console.log 'Username', data.message
28+
29+
$.post('/ajax/message/new', {message:data.message}, () ->
30+
console.log "Ok"
31+
Messenger().post
32+
message:"Message has been sent"
33+
type:"success"
34+
)
1735

1836
jQuery ->
19-
msg = new Message()
37+
msg = new Message()

pyhackers/static/js/app/message.js

Lines changed: 27 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyhackers/templates/base.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
<link href="{{ static_route }}/css/pygments_tango.css" rel="stylesheet">
3030
<link href="{{ static_route }}/css/vex.css" rel="stylesheet">
3131
<link href="{{ static_route }}/css/vex-theme-os.css" rel="stylesheet">
32+
<link href="{{ static_route }}/css/messenger/messenger.css" rel="stylesheet">
33+
<link href="{{ static_route }}/css/messenger/messenger-theme-future.css" rel="stylesheet">
3234

3335
{% block head %}{% endblock %}
3436

@@ -54,7 +56,8 @@
5456
{% if logged_in %}
5557
<!-- {{ current_user }} -->
5658
<li><a href="#world"><i class="fa fa-globe"></i> </a></li>
57-
<li><a href="#" data-trigger="message"><i class="fa fa-envelope-o"></i> </a></li>
59+
{# <li><a href="#" data-trigger="message"><i class="fa fa-envelope-o"></i> </a></li>#}
60+
<li><a href="#message" data-trigger="message"><i class="fa fa-pencil"></i> </a></li>
5861
{# <li><a href="#"><i class="fa fa-comments-o fa-2x"></i> </a></li>#}
5962

6063
<li class="dropdown">
@@ -64,7 +67,7 @@
6467
<span id='profile_link'>{{ current_user.nick }} </span><b class="caret"></b></a>
6568
<ul class="dropdown-menu">
6669
{# <li><a href="#">Action</a></li>#}
67-
<li><a href="/profile"><i class='fa fa-user'></i>&nbsp;&nbsp;&nbsp;Profile</a></li>
70+
<li><a href="/user/{{ current_user.nick }}"><i class='fa fa-user'></i>&nbsp;&nbsp;&nbsp;Profile</a></li>
6871
{# <li class="disabled"><a href="/profile/settings" ><i class='icon-cogs'></i>&nbsp;&nbsp;Settings</a></li>#}
6972
<li><a href="/logout"><i class='fa fa-power-off'></i>&nbsp;&nbsp;&nbsp;Logout</a></li>
7073
</ul>
@@ -110,10 +113,13 @@
110113
<script src="{{ static_route }}/js/underscore-min.js" type="text/javascript"></script>
111114
<script src="{{ static_route }}/js/bootstrap.min.js" type="text/javascript"></script>
112115
<script src="{{ static_route }}/js/vex.combined.min.js" type="text/javascript"></script>
116+
<script src="{{ static_route }}/js/messenger/messenger.min.js" type="text/javascript"></script>
117+
<script src="{{ static_route }}/js/messenger/messenger-theme-future.js" type="text/javascript"></script>
113118
<script>vex.defaultOptions.className = 'vex-theme-os';</script>
114119
<script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.3.0/handlebars.min.js" type="text/javascript"></script>
115120

116121
<script src="/static/js/app/main.js?_={{ cache_buster }}"></script>
122+
<script src="/static/js/app/message.js?_={{ cache_buster }}"></script>
117123
{% block script_links %}{% endblock %}
118124

119125
{% if PROD %}

0 commit comments

Comments
 (0)