public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/static/js/, gpackages/templates/
@ 2012-07-14 20:15 Slava Bacherikov
  0 siblings, 0 replies; 3+ messages in thread
From: Slava Bacherikov @ 2012-07-14 20:15 UTC (permalink / raw
  To: gentoo-commits

commit:     701aa930ec348cf97836f6d93dc0e9a39c12358b
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Fri Jul 13 12:46:06 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Fri Jul 13 12:46:06 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=701aa930

Add arches groups

---
 gpackages/apps/packages/widgets.py   |    9 +++++++
 gpackages/static/js/arches_select.js |   41 ++++++++++++++++++++-------------
 gpackages/templates/arch_choice.html |    8 ++++++
 3 files changed, 42 insertions(+), 16 deletions(-)

diff --git a/gpackages/apps/packages/widgets.py b/gpackages/apps/packages/widgets.py
index 9bc303d..ccfeacc 100644
--- a/gpackages/apps/packages/widgets.py
+++ b/gpackages/apps/packages/widgets.py
@@ -41,11 +41,20 @@ class DivCheckboxSelectMultiple(forms.CheckboxSelectMultiple):
         output.extend(row1 + row2)
         output.append('</div>')
         button_group = []
+        button_group.append('<div class="btn-toolbar">')
         button_group.append('<div class="btn-group">')
         button_group.append('<button type="button" class="btn" id="reset">Reset</button>')
         button_group.append('<button type="button" class="btn" id="set">Set</button>')
         button_group.append('<button type="button" class="btn" id="default">Default</button>')
         button_group.append('</div>')
+        button_group.append('<div class="btn-group">')
+        button_group.append('<button type="button" class="btn" id="exotic">Exotic</button>')
+        button_group.append('<button type="button" class="btn" id="linux">Linux</button>')
+        button_group.append('<button type="button" class="btn" id="fbsd">FreeBSD</button>')
+        button_group.append('<button type="button" class="btn" id="solaris">Solaris</button>')
+        button_group.append('<button type="button" class="btn" id="prefix">Prefix</button>')
+        button_group.append('</div>')
+        button_group.append('</div>')
         output.extend(button_group)
         return mark_safe('\n'.join(output))
 

diff --git a/gpackages/static/js/arches_select.js b/gpackages/static/js/arches_select.js
index cf9c281..afec0cf 100644
--- a/gpackages/static/js/arches_select.js
+++ b/gpackages/static/js/arches_select.js
@@ -1,10 +1,20 @@
 var ArchesMenu = function (){
     var self = function(){};
-    var cache, default_arch_obj;
+    var cache;
     var gen_func = function(func){
         return function() { cache.each(func); }
     }
-    function create_dict(arr){
+    var gen_func2 = function(dict) {
+        return gen_func(function(num, obj){
+            if(obj.value in dict){
+                obj.checked = true;
+            } else {
+                obj.checked = false;
+            }
+        });
+    }
+
+    function create_dict(arr) {
         o = {};
         for(i=0;i<arr.length;i++){
             o[arr[i]] = true;
@@ -12,12 +22,18 @@ var ArchesMenu = function (){
         return o;
     }
     $.extend(self, {
-        init: function () {
-            $('#reset').live('click', ArchesMenu.reset);
-            $('#set').live('click', ArchesMenu.set);
-            $('#default').live('click', ArchesMenu.set_default);
+        init: function (id_list, var_names) {
             cache = $(':checkbox');
-            default_arch_obj = create_dict(default_arches);
+            $('#reset').click(ArchesMenu.reset);
+            $('#set').click(ArchesMenu.set);
+            var dict, param;
+            for(var i=0; i<id_list.length; i++){
+                dict = create_dict(var_names[i]);
+                param = 'set_' + id_list[i];
+                ArchesMenu[param] = gen_func2(dict);
+                $('#' + id_list[i]).click(ArchesMenu[param]);
+
+            }
         },
         reset: gen_func(function(num, obj){
                 obj.checked = false;
@@ -26,14 +42,6 @@ var ArchesMenu = function (){
         set: gen_func(function(num, obj){
                 obj.checked = true;
             }
-        ),
-        set_default: gen_func(function(num, obj){
-                if(obj.value in default_arch_obj){
-                    obj.checked = true;
-                } else {
-                    obj.checked = false;
-                }
-            }
         )
     });
     return self;
@@ -41,7 +49,8 @@ var ArchesMenu = function (){
 
 !function ($){
   $(function () {
-        ArchesMenu.init();
+        ArchesMenu.init(['default', 'exotic', 'fbsd', 'linux', 'solaris', 'prefix'], 
+                        [default_arches, exotic_arches, fbsd_arches, linux_arches, solaris_arches, prefix_arches]);
     });
 }(window.jQuery);
 

diff --git a/gpackages/templates/arch_choice.html b/gpackages/templates/arch_choice.html
index ea83223..d55c96e 100644
--- a/gpackages/templates/arch_choice.html
+++ b/gpackages/templates/arch_choice.html
@@ -4,6 +4,14 @@
 <script>
     // set default arches
     var default_arches = {{ default_arches|safe }};
+    var exotic_arches = ['mk68k', 'mips', 's390', 'sh'];
+    var fbsd_arches = ['amd64-fbsd', 'sparc-fbsd', 'x86-fbsd'];
+    var linux_arches = ['alpha', 'amd64', 'arm', 'hppa', 'ia64', 'm68k', 'mips', 'ppc', 'ppc64', 's390', 'sh', 'sparc', 'x86'];
+    var solaris_arches = ['sparc64-solaris', 'sparc-solaris', 'x64-solaris', 'x86-solaris'];
+    var prefix_arches = ['amd64-linux', 'arm-linux', 'hppa-hpux', 'ia64-hpux', 'ia64-linux', 'm68k-mint',
+                         'mips-irix', 'ppc-aix', 'ppc-macos', 'ppc-openbsd', 'sparc-solaris', 'sparc64-solaris',
+                         'x64-freebsd', 'x64-macos', 'x64-openbsd', 'x64-solaris', 'x86-cygwin', 'x86-freebsd', 'x86-interix',
+                         'x86-linux', 'x86-macos', 'x86-netbsd', 'x86-openbsd', 'x86-solaris', 'x86-winnt'];
 </script>
 <div class="arches">
 <form action="./" method="post" enctype="multipart/form-data">{% csrf_token %}



^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/static/js/, gpackages/templates/
@ 2012-07-08 19:54 Slava Bacherikov
  0 siblings, 0 replies; 3+ messages in thread
From: Slava Bacherikov @ 2012-07-08 19:54 UTC (permalink / raw
  To: gentoo-commits

commit:     18697040d5bb1876c3c21abcea696c6c3ff302f1
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Sat Jul  7 18:52:43 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Sat Jul  7 18:52:43 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=18697040

Extend select arches view with javascript

---
 gpackages/apps/packages/views.py     |    4 ++-
 gpackages/apps/packages/widgets.py   |    6 ++++
 gpackages/static/js/arches_select.js |   47 ++++++++++++++++++++++++++++++++++
 gpackages/templates/arch_choice.html |   11 +++++++-
 gpackages/templates/base.html        |   12 +++++---
 5 files changed, 73 insertions(+), 7 deletions(-)

diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/views.py
index 1123d5a..13266c4 100644
--- a/gpackages/apps/packages/views.py
+++ b/gpackages/apps/packages/views.py
@@ -187,10 +187,12 @@ class LicenseDetailView(ContextView, DetailView):
     slug_field = 'name'
     queryset = LicenseModel.objects.all()
     
-class ArchChoiceView(ArchesViewMixin, FormView):
+class ArchChoiceView(ContextView, ArchesViewMixin, FormView):
     form_class = ArchChoiceForm
     template_name = 'arch_choice.html'
     success_url = '/'
+    extra_context = {'page_name': 'Select arches', 
+                     'default_arches': arches}
 
     def get_initial(self):
         arches = self.get_arches()

diff --git a/gpackages/apps/packages/widgets.py b/gpackages/apps/packages/widgets.py
index 047d0e2..5059601 100644
--- a/gpackages/apps/packages/widgets.py
+++ b/gpackages/apps/packages/widgets.py
@@ -39,4 +39,10 @@ class DivCheckboxSelectMultiple(forms.CheckboxSelectMultiple):
         row2.append('</div>')
         output.extend(row1 + row2)
         output.append('</div>')
+        output.append('<input type="button" id="reset" value="Reset" />')
+        output.append('<input type="button" id="set" value="Set" />')
+        output.append('<input type="button" id="default" value="Default" />')
         return mark_safe('\n'.join(output))
+
+    class Media:
+        js = ('js/arches_select.js',)

diff --git a/gpackages/static/js/arches_select.js b/gpackages/static/js/arches_select.js
new file mode 100644
index 0000000..cf9c281
--- /dev/null
+++ b/gpackages/static/js/arches_select.js
@@ -0,0 +1,47 @@
+var ArchesMenu = function (){
+    var self = function(){};
+    var cache, default_arch_obj;
+    var gen_func = function(func){
+        return function() { cache.each(func); }
+    }
+    function create_dict(arr){
+        o = {};
+        for(i=0;i<arr.length;i++){
+            o[arr[i]] = true;
+        }
+        return o;
+    }
+    $.extend(self, {
+        init: function () {
+            $('#reset').live('click', ArchesMenu.reset);
+            $('#set').live('click', ArchesMenu.set);
+            $('#default').live('click', ArchesMenu.set_default);
+            cache = $(':checkbox');
+            default_arch_obj = create_dict(default_arches);
+        },
+        reset: gen_func(function(num, obj){
+                obj.checked = false;
+            }
+        ),
+        set: gen_func(function(num, obj){
+                obj.checked = true;
+            }
+        ),
+        set_default: gen_func(function(num, obj){
+                if(obj.value in default_arch_obj){
+                    obj.checked = true;
+                } else {
+                    obj.checked = false;
+                }
+            }
+        )
+    });
+    return self;
+}();
+
+!function ($){
+  $(function () {
+        ArchesMenu.init();
+    });
+}(window.jQuery);
+

diff --git a/gpackages/templates/arch_choice.html b/gpackages/templates/arch_choice.html
index 0b03c61..7af213f 100644
--- a/gpackages/templates/arch_choice.html
+++ b/gpackages/templates/arch_choice.html
@@ -1,10 +1,19 @@
 {% extends 'base.html' %}
 
 {% block content %}
+<script>
+    // set default arches
+    var default_arches = {{ default_arches|safe }};
+</script>
 <div class="arches">
 <form action="./" method="post" enctype="multipart/form-data">{% csrf_token %}
-   {{ form.as_ul }} 
+   {{ form.as_ul }} <br />
     <input type="submit" value="Submit" />
 </form>
 </div>
 {% endblock content %}
+
+{% block scripts %}
+    {{ block.super }}
+    {{ form.media }}
+{% endblock scripts %}

diff --git a/gpackages/templates/base.html b/gpackages/templates/base.html
index 6abe005..850c644 100644
--- a/gpackages/templates/base.html
+++ b/gpackages/templates/base.html
@@ -133,11 +133,13 @@
 
     <!-- Le javascript
     ================================================== -->
-    <script src="{{ STATIC_URL }}js/jquery.js"></script>
-    <script src="{{ STATIC_URL }}js/bootstrap.js"></script>
-    <script src="{{ STATIC_URL }}js/csrf.js"></script>
-    <script src="{{ STATIC_URL }}js/language.js"></script>
-    <script src="{{ STATIC_URL }}js/packages_details.js"></script>
+    {% block scripts %}
+        <script src="{{ STATIC_URL }}js/jquery.js"></script>
+        <script src="{{ STATIC_URL }}js/bootstrap.js"></script>
+        <script src="{{ STATIC_URL }}js/csrf.js"></script>
+        <script src="{{ STATIC_URL }}js/language.js"></script>
+        <script src="{{ STATIC_URL }}js/packages_details.js"></script>
+    {% endblock scripts %}
 {% endblock body %}
   </body>
 </html>



^ permalink raw reply related	[flat|nested] 3+ messages in thread
* [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/static/js/, gpackages/templates/
@ 2012-06-30  0:22 Slava Bacherikov
  0 siblings, 0 replies; 3+ messages in thread
From: Slava Bacherikov @ 2012-06-30  0:22 UTC (permalink / raw
  To: gentoo-commits

commit:     352228c716b23c57f8b0e86e48c809550f5274fb
Author:     Slava Bacherikov <slava <AT> bacher09 <DOT> org>
AuthorDate: Fri Jun 29 23:04:17 2012 +0000
Commit:     Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
CommitDate: Fri Jun 29 23:04:17 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=352228c7

Add details to package

---
 gpackages/apps/packages/views.py        |    2 +-
 gpackages/static/js/packages_details.js |   21 ++++++++++++++++
 gpackages/templates/base.html           |    1 +
 gpackages/templates/package_object.html |   40 ++++++++++++++++++++++++++++++-
 4 files changed, 62 insertions(+), 2 deletions(-)

diff --git a/gpackages/apps/packages/views.py b/gpackages/apps/packages/views.py
index 5d70510..d04acd3 100644
--- a/gpackages/apps/packages/views.py
+++ b/gpackages/apps/packages/views.py
@@ -81,7 +81,7 @@ class PackagesListsView(MultipleFilterListViewMixin, ContextListView):
     base_queryset = PackageModel.objects.all(). \
         select_related('virtual_package',
                        'virtual_package__category'). \
-        prefetch_related('repository'). \
+        prefetch_related('repository', 'herds', 'maintainers'). \
         prefetch_keywords(arches)
 
 class PackageDetailView(ContextView, DetailView):

diff --git a/gpackages/static/js/packages_details.js b/gpackages/static/js/packages_details.js
new file mode 100644
index 0000000..75cb070
--- /dev/null
+++ b/gpackages/static/js/packages_details.js
@@ -0,0 +1,21 @@
+!function ($){
+    $(function() {
+        $('.package a.trigger').click(function (e){
+            var self = $(e.target),
+            details = self.parent().next();
+            $('.trigger', this).text() == '+'
+                ? $('.trigger', this).text('-')
+                : $('.trigger', this).text('+');
+
+            if (details.hasClass('hide')){
+                details.removeClass('hide');
+                details.hide();
+                details.fadeIn(200);
+            }
+            else details.fadeToggle(200);
+
+            e.preventDefault();
+            return false;
+        });
+    });
+}(window.jQuery);

diff --git a/gpackages/templates/base.html b/gpackages/templates/base.html
index 69d5ff6..74b4797 100644
--- a/gpackages/templates/base.html
+++ b/gpackages/templates/base.html
@@ -160,6 +160,7 @@ Text
     <script src="{{ STATIC_URL }}js/bootstrap.js"></script>
     <script src="{{ STATIC_URL }}js/csrf.js"></script>
     <script src="{{ STATIC_URL }}js/language.js"></script>
+    <script src="{{ STATIC_URL }}js/packages_details.js"></script>
 {% endblock body %}
   </body>
 </html>

diff --git a/gpackages/templates/package_object.html b/gpackages/templates/package_object.html
index d713d4a..189d9bd 100644
--- a/gpackages/templates/package_object.html
+++ b/gpackages/templates/package_object.html
@@ -1,6 +1,6 @@
 {% load url from future %}
 {% load packages %}
-<div class="well package-well">
+<div class="well package-well package">
     <div class="package-name">
         <span><a href="{{ package.get_absolute_url }}">{{ package.cp }}</a>:: {{ package.repository.name }}</span>
         <span class="package_update_datetime">{{ package.updated_datetime }}</span>
@@ -9,4 +9,42 @@
         <div style="padding-bottom: 10px; margin 10px;">{{ package.description }}</div>
     {% endif %}
     {% render_keywords_table package arches %}
+
+    {% with herds=package.herds.all maintainers=package.maintainers.all %}
+    {% if herds or maintainers %}
+    <div style="padding-bottom: 10px; padding-top: 0px; margin-top: 0px;">
+    <a href="#" class="trigger"><span class="trigger">+</span>Details</a>
+    </div>
+    <div class="row-fluid details hide">
+        <table class="table table-striped table-hover">
+            <colgroup>
+                <col class="span1">
+                <col class="span1">
+            </colgroup>
+            <tbody>
+                {% if herds %}
+                <tr>
+                    <td>Herds:</td>
+                    <td>
+                        {% for herd in herds %}
+                        <a href="{% url 'packages' herd=herd.name %}">{{ herd.name }}</a>{% if not forloop.last %},{% endif %}
+                        {% endfor %}
+                    </td>
+                </tr>
+                {% endif %}
+                {% if maintainers %}
+                <tr>
+                    <td>Maintainers:</td>
+                    <td>
+                        {% for maintainer in maintainers %}
+                        <a href="{% url 'packages' maintainer=maintainer.pk %}">{{ maintainer.name }}</a>{% if not forloop.last %},{% endif %}
+                        {% endfor %}
+                    </td>
+                </tr>
+                {% endif %}
+            </tbody>
+        </table>
+    </div>
+    {% endif %}
+    {% endwith %}
 </div>



^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-07-14 20:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-14 20:15 [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/, gpackages/static/js/, gpackages/templates/ Slava Bacherikov
  -- strict thread matches above, loose matches on Subject: below --
2012-07-08 19:54 Slava Bacherikov
2012-06-30  0:22 Slava Bacherikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox