link_box.html 6.59 KB
Newer Older
David Haynes's avatar
David Haynes committed
1
2
<!-- load in go templatetags -->
{% load go_extras %}
3

David Haynes's avatar
David Haynes committed
4
5
<!-- load in qr code lib -->
{% load qr_tags %}
Chris Reffett's avatar
Chris Reffett committed
6

David Haynes's avatar
David Haynes committed
7
<!-- each link_box is a container of a bunch of elements -->
8
<div class="container">
David Haynes's avatar
David Haynes committed
9

David Haynes's avatar
David Haynes committed
10
    <!-- essentially the left side of the link_box -->
11
    <div class="col-md-8">
David Haynes's avatar
David Haynes committed
12
        <!-- what is the address? -->
13
        <h3>Go Address:</h3>
14
        <div id="link-container" class="input-group">
15
            <a id="link-{{url.short}}" class="form-control" href="{{domain}}{{url.short}}">
16
17
18
                {{domain}}{{url.short}}
            </a>
            <div id="button-container" class="input-group-addon">
Robert Hitt's avatar
Robert Hitt committed
19
                <button id="copy-button-{{url.short}}" type="button" class="button btn btn-default btn-xs fa" role="button"
20
                        data-clipboard-target="#link-{{url.short}}" title="Copy to Clipboard">
21
22
23
24
25
                    <i id="clipboard-icon" class="fa fa-clipboard fa-1g" aria-hidden="true"></i>
                </button>
            </div>
        </div>

26
        <br></br>
Chris Reffett's avatar
Chris Reffett committed
27

David Haynes's avatar
David Haynes committed
28
        <!-- what are some details about the address? -->
29
30
        <h3>Address Details:</h3>
        <strong>Target URL:</strong>
David Haynes's avatar
David Haynes committed
31
        <br />
David Haynes's avatar
David Haynes committed
32

David Haynes's avatar
David Haynes committed
33
        <a href="{{url.target}}">{{url.target}}</a>
David Haynes's avatar
David Haynes committed
34
        <br />
David Haynes's avatar
David Haynes committed
35

36
37
38
        {% if url.owner == request.user.registereduser and request.user.registereduser.approved == True %}
            <strong>Clicks:</strong> {{url.clicks}}
            <br />
David Haynes's avatar
David Haynes committed
39

40
41
            <strong>QR Code Uses:</strong> {{url.qrclicks}}
            <br />
David Haynes's avatar
David Haynes committed
42

43
44
45
46
47
            <strong>Social Media Clicks:</strong> {{url.socialclicks}}
            <br />

            <strong>Expires:</strong> {{url.expires|default_if_none:"Never"}}
            <br></br>
Zosman's avatar
Zosman committed
48
            <!-- Delete Button  -->
49
            <a class="button btn btn-danger btn-sm fa" data-target="#deletionModal-{{url.short}}" data-toggle="modal">
50
51
                <i class="fa fa-trash-o fa-lg"></i> Delete
            </a>
52

David Haynes's avatar
David Haynes committed
53
            <!-- edit button -->
54
55
56
57
58
            <a tabindex="0" class="button btn btn-info btn-sm fa" role="button" data-toggle="popover" title="Not Implemented Quite Yet :(" data-content="We are working on adding this feature in a future
            release of Go. If you'd like to check that progress or potentially
            contribute code, head to git.gmu.edu/srct/go">
                <i class="fa fa-cog"></i> Edit
            </a>
Zosman's avatar
Zosman committed
59
            <!--Define Delete Modal-->
60
            <div id="deletionModal-{{url.short}}" class="modal fade" role="dialog" tabindex="-1">
61
                <div class="modal-dialog">
David Haynes's avatar
David Haynes committed
62
63
64
65
66
67
68
                    <!-- Modal content-->
                    <div class="modal-content" style="background-color:#f5f5f5; border-radius: 7px">
                        <div class="modal-header" style="text-align:center;">
                            <h4 class="modal-title  text-center"
                            style="font-weight:bold; font-size: 21px !important;">
                            Are you sure you would like to delete this link?</h4>
                            <h6 style="font-weight:500; margin-top: 0px; margin-bottom: 0px;">
Robert Hitt's avatar
Robert Hitt committed
69
                            Deleting a link is permanent and can not be undone!</h6>
David Haynes's avatar
David Haynes committed
70
71
72
73
74
75
76
77
                        </div>
                        <div class="modal-body" style="padding-bottom: 80px">
                            <a type="button" class="btn btn-success btn-lg" style="border-width: 0px;float:left; width:49%; background-color: #A9B0AD; color: #ffffff; border-radius: 4px;" data-dismiss="modal">Cancel</a>
                            <a type="button" class="btn btn-danger btn-lg" href="{{domain}}delete/{{url.short}}" style="border-width: 0px; float:right; width:49%;background-color: #AC1D37; color: #ffffff; border-radius: 4px;">Delete</a>
                        </div>
                    </div>
                </div>
            </div>
78
79
80
81
        {% endif %}
        <br></br>
    </div>

David Haynes's avatar
David Haynes committed
82
    <!-- essentially the right side of the box -->
83
    <div class="col-md-4">
David Haynes's avatar
David Haynes committed
84
        <!-- some goofy code to use the qr lib and show the image -->
85
86
87
88
89
90
        {% with domain|add:url.short as the_url %}
            {% with the_url|add:"?qr" as qr_url%}
              {% qr_from_text qr_url 's' %}
            {% endwith %}

            {% with the_url|add:"?social" as social_url %}
David Haynes's avatar
David Haynes committed
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
                <!-- twitter -->
                <a class="share" href="http://twitter.com/share?url={{ social_url }}" target="_blank" title="Share via Twitter">
                    <i class="fa fa-twitter-square fa-3x"></i>
                </a>

                <!-- facebook -->
                <a class="share" href="http://www.facebook.com/share.php?u={{ social_url }}" target="_blank" title="Share via Facebook">
                    <i class="fa fa-facebook-square fa-3x"></i>
                </a>

                <!-- g+ -->
                <a class="share" href="https://plus.google.com/share?url={{ social_url }}" target="_blank" title="Share via Google+">
                    <i class="fa fa-google-plus-square fa-3x"></i>
                </a>

                <!-- linkedin -->
                <a class="share" href="http://www.linkedin.com/shareArticle?mini=true&amp;url={{ social_url }}&amp;ro=false&amp;summary=&amp;source=" target="_blank" title="Share via LinkedIn">
108
                <i class="fa fa-linkedin-square fa-3x"></i>
David Haynes's avatar
David Haynes committed
109
                </a>
110
111
            {% endwith %}

David Haynes's avatar
David Haynes committed
112
            <!-- list out qr downloads -->
113
            {% with the_url|add:"?qr" as qr_url %}
David Haynes's avatar
David Haynes committed
114
115
            <!-- spacing matters with <pre>, ignore the ugliness -->
                <pre><strong>QR Downloads:</strong>
Michael Bailey's avatar
Michael Bailey committed
116
117
        <a href="https://chart.googleapis.com/chart?cht=qr&chs=268x268&chl={{ qr_url }}" target="_blank">Small (268x268)</a>
        <a href="https://chart.googleapis.com/chart?cht=qr&chs=383x383&chl={{ qr_url }}" target="_blank">Medium (383x383)</a>
David Haynes's avatar
David Haynes committed
118
        <a href="https://chart.googleapis.com/chart?cht=qr&chs=547x547&chl={{ qr_url }}" target="_blank">Large (547x547)</a></pre>
119
120
            {% endwith %}
        {% endwith %}
121
    </div>
122
</div>
123

David Haynes's avatar
David Haynes committed
124
<!-- some inline js for the clipboard hoving text -->
125
<script>
126
127
128
129
130
131
    $(function() {
        var option = {
            'trigger': 'hover'
        };
        $('[data-toggle="popover"]').popover(option)
    })
132
</script>
Robert Hitt's avatar
Robert Hitt committed
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151

<!-- script for copying text an displaying a tooltip -->
<script>
var clipboard = new Clipboard('#copy-button-{{url.short}}');

$('#copy-button-{{url.short}}').tooltip({
    trigger: 'hover',
    placement: 'bottom'
});

$('#copy-button-{{url.short}}').on('hidden.bs.tooltip', function () {
    $('#copy-button').attr('data-original-title', 'Copy to Clipboard');
});

clipboard.on('success', function(e) {
    e.clearSelection();
    $('#copy-button-{{url.short}}').attr('data-original-title', 'Copied!').tooltip('show');
});
</script>