Explorar el Código

semanticuiforms

tBKwtWS hace 6 años
padre
commit
6790b1ff71

+ 1 - 1
.gitignore

@@ -7,7 +7,7 @@
 # Django
 __pycache__/
 db.sqlite3
-**/migrations/*.py
+#**/migrations/*.py
 
 # Node
 /node_modules/

+ 3 - 1
README.md

@@ -51,7 +51,7 @@ For now, set the database authentication details in the following files:
 
 ## uwsgi
 1. `sudo ln -s /opt/h0v1n8-website-env/website_uwsgi.ini /etc/uwsgi/vassals/website_uwsgi.ini`
-1. `sudo nano /etc/rc.local`
+1. `sudo nano /etc/rc.local`:
 ```
 #!/bin/sh
 
@@ -60,6 +60,8 @@ For now, set the database authentication details in the following files:
 exit 0
 ```
 Test with: `bin/uwsgi --emperor /etc/uwsgi/vassals/`
+TBD
+/etc/rc.local: 
 
 ## Nginx configuration
 1. See if you to change `STATIC_ROOT` in `website/website/settings.py`.

+ 1 - 0
requirements.txt

@@ -1,4 +1,5 @@
 Django==2.2.6
+django-semanticui-forms==1.6.5
 django-settings-export==1.2.1
 importlib-metadata==0.23
 inflect==3.0.2

+ 4 - 0
website/rotbot/forms.py

@@ -20,6 +20,9 @@ class NetworkForm(ModelForm):
             'home_channel': '<i class="hashtag icon"></i>Home channel',
             'command_character': '<i class="terminal icon"></i>Command character',
             'help_character': '<i class="help icon"></i>Help character',
+            'network_services': '<i class="lightbulb outline icon"></i>Network services',
+            'enabled': '<i class="power off icon"></i>Enabled',
+            'mute': '<i class="comment slash icon"></i>Mute',
         }
         widgets={
             'name': forms.TextInput(attrs={'autocomplete': 'on'}),
@@ -38,4 +41,5 @@ class HostForm(ModelForm):
         }
         widgets={
             'address': forms.TextInput(attrs={'autocomplete': 'on'}),
+            'ssl': forms.CheckboxInput(attrs={'_style': 'toggle',}),
         }

+ 23 - 139
website/rotbot/templates/rotbot/network_form.html

@@ -1,158 +1,42 @@
 {% extends "base.html" %}
+{% load semanticui %}
 {% block content %}
-  <form class= "ui form" method="post" action="{% block formtag %}{% endblock formtag %}">
+<form class= "ui form" method="post" action="{% block formtag %}{% endblock formtag %}">
   {% csrf_token %}
   {{ form.non_field_errors }}
-  {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %}
   <div class="two fields">
-    <div class="required field{% if form.name.errors %} error{% endif %}">
-      <label for="{{ form.name.id_for_label }}">{{ form.name.label|safe }}</label>
-      {{ form.name }}
-      {% if form.name.errors %}
-        <div class="ui inverted red message">
-          {{ form.name.errors }}
-        </div>
-      {% endif %}
-    </div>
-    <div class="required field{% if form.slug.errors %} error{% endif %}">
-      <label for="{{ form.slug.id_for_label }}">{{ form.slug.label|safe }}</label>
-      {{ form.slug }}
-      {% if form.slug.errors %}
-        <div class="ui inverted red message">
-          {{ form.slug.errors }}
-        </div>
-      {% endif %}
-    </div>
+    {% render_field form.name %}
+    {% render_field form.slug %}
   </div>
   {{ hostformset.management_form }}
   {% for hostform in hostformset %}
-    {{ hostform.non_field_errors }}
-    {% for field in hostform.hidden_fields %}{{ field }}{% endfor %}
+  {{ hostform.non_field_errors }}
     <div class="four fields">
-      <div class="required field{% if hostform.address.errors %} error{% endif %}">
-        <label for="{{ hostform.address.id_for_label }}">{{ hostform.address.label|safe }}</label>
-        {{ hostform.address }}
-        {% if hostform.address.errors %}
-          <div class="ui inverted red message">
-            {{ hostform.address.errors }}
-          </div>
-        {% endif %}
-      </div>
-      <div class="required field{% if hostform.port.errors %} error{% endif %}">
-        <label for="{{ hostform.port.id_for_label }}">{{ hostform.port.label|safe }}</label>
-        {{ hostform.port }}
-        {% if hostform.port.errors %}
-          <div class="ui inverted red message">
-            {{ hostform.port.errors }}
-          </div>
-        {% endif %}
-      </div>
-      <div class="field{% if hostform.ssl.errors %} error{% endif %}">
-        <div class="ui inverted toggle checkbox">
-          {{ hostform.ssl }}
-          <label for="{{ hostform.ssl.id_for_label }}">{{ hostform.ssl.label|safe }}</label>
-          {% if hostform.port.errors %}
-            <div class="ui inverted red message">
-              {{ hostform.port.errors }}
-            </div>
-          {% endif %}
-        </div>
-      </div>
-      <div class="field">
-        <div class="ui inverted checkbox">
-          {{ hostform.DELETE }}
-          {% if hostform.instance.pk %}
-            <label for="{{ hostform.DELETE.id_for_label }}">{{ hostform.DELETE.label }}</label>
-          {% else %}
-            <label for="{{ hostform.DELETE.id_for_label }}">Clear</label>
-          {% endif %}
-          {% if hostform.DELETE.errors %}
-            <div class="ui inverted red message">
-              {{ hostform.DELETE.errors }}
-            </div>
-          {% endif %}
-        </div>
-      </div>
+      {% render_field hostform.address %}
+      {% render_field hostform.port %}
+      {% render_field hostform.ssl %}
+      {% render_field hostform.DELETE %}
     </div>
   {% endfor %}
   <div class="four fields">
-    <div class="required field{% if form.nickname.errors %} error{% endif %}">
-      <label for="{{ form.nickname.id_for_label }}">{{ form.nickname.label|safe }}</label>
-      {{ form.nickname }}
-      {% if form.nickname.errors %}
-        <div class="ui inverted red message">
-          {{ form.nickname.errors }}
-        </div>
-      {% endif %}
-    </div>
-    <div class="field{% if form.password.errors %} error{% endif %}">
-      <label for="{{ form.password.id_for_label }}">{{ form.password.label|safe }}</label>
-      {{ form.password }}
-      {% if form.password.errors %}
-        <div class="ui inverted red message">
-          {{ form.password.errors }}
-        </div>
-      {% endif %}
-    </div>
-    <div class="field{% if form.mail.errors %} error{% endif %}">
-      <label for="{{ form.mail.id_for_label }}">{{ form.mail.label|safe }}</label>
-      {{ form.mail }}
-      {% if form.mail.errors %}
-        <div class="ui inverted red message">
-          {{ form.mail.errors }}
-        </div>
-      {% endif %}
-    </div>
-    <div class="required field{% if form.username.errors %} error{% endif %}">
-      <label for="{{ form.username.id_for_label }}">{{ form.username.label|safe }}</label>
-      {{ form.username }}
-      {% if form.username.errors %}
-        <div class="ui inverted red message">
-          {{ form.username.errors }}
-        </div>
-      {% endif %}
-    </div>
+    {% render_field form.nickname %}
+    {% render_field form.password %}
+    {% render_field form.mail %}
+    {% render_field form.username %}
   </div>
-  <div class="three fields">
-    <div class="required field{% if form.home_channel.errors %} error{% endif %}">
-      <label for="{{ form.home_channel.id_for_label }}">{{ form.home_channel.label|safe }}</label>
-      {{ form.home_channel }}
-      {% if form.home_channel.errors %}
-        <div class="ui inverted red message">
-          {{ form.home_channel.errors }}
-        </div>
-      {% endif %}
-    </div>
-    <div class="required field{% if form.command_character.errors %} error{% endif %}">
-      <label for="{{ form.command_character.id_for_label }}">{{ form.command_character.label|safe }}</label>
-      {{ form.command_character }}
-      {% if form.command_character.errors %}
-        <div class="ui inverted red message">
-          {{ form.command_character.errors }}
-        </div>
-      {% endif %}
-    </div>
-    <div class="required field{% if form.help_character.errors %} error{% endif %}">
-      <label for="{{ form.help_character.id_for_label }}">{{ form.help_character.label|safe }}</label>
-      {{ form.help_character }}
-      {% if form.help_character.errors %}
-        <div class="ui inverted red message">
-          {{ form.help_character.errors }}
-        </div>
-      {% endif %}
-    </div>
+  <div class="four fields">
+    {% render_field form.network_services %}
+    {% render_field form.home_channel %}
+    {% render_field form.command_character %}
+    {% render_field form.help_character %}
   </div>
-  <div class="ui inverted toggle checkbox{% if form.enabled.errors %} error{% endif %}">
-    {{ form.enabled }}
-    <label for="{{ form.enabled.id_for_label }}">{{ form.enabled.label|safe }}</label>
-    {% if form.enabled.errors %}
-      <div class="ui inverted red message">
-        {{ form.enabled.errors }}
-      </div>
-    {% endif %}
+  <div class="two fields">
+    {% render_field form.enabled %}
+    {% render_field form.mute %}
   </div>
   <button class="ui right floated inverted positive button" type="submit" value="Submit"><i class="save icon"></i>Save</button>
   {% block buttons %}{% endblock buttons %}
-  </form>
+</form>
 
 {% endblock %}
+    {% for field in hostform.hidden_fields %}{{ field }}{% endfor %}

+ 2 - 1
website/website/settings.py

@@ -22,7 +22,7 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 SECRET_KEY = 'f_nxx)y&fw6*u#dd_du6y9&)1$q+a0!y38+6sk151+6)@1kxge'
 
 # SECURITY WARNING: don't run with debug turned on in production!
-DEBUG = False
+DEBUG = True
 
 ALLOWED_HOSTS = ['*']
 
@@ -36,6 +36,7 @@ INSTALLED_APPS = [
     'django.contrib.sessions',
     'django.contrib.messages',
     'django.contrib.staticfiles',
+    'semanticuiforms',
     'core.apps.CoreConfig',
     'knowledgebase.apps.KnowledgebaseConfig',
     'dancecalendar.apps.DancecalendarConfig',