diff --git a/ogcp/forms/action_forms.py b/ogcp/forms/action_forms.py
index 154e9f0..bc0915a 100644
--- a/ogcp/forms/action_forms.py
+++ b/ogcp/forms/action_forms.py
@@ -33,6 +33,12 @@ class HardwareForm(FlaskForm):
ips = HiddenField()
refresh = SubmitField(label=_('Refresh'))
+class SoftwareForm(FlaskForm):
+ ips = HiddenField()
+ os = SelectField(label=_('Partition'), choices=[])
+ view = SubmitField(label=_('View'))
+ update = SubmitField(label=_('Update'))
+
class SessionForm(FlaskForm):
ips = HiddenField()
os = RadioField(label=_('Session'), choices=[])
diff --git a/ogcp/templates/actions/software.html b/ogcp/templates/actions/software.html
new file mode 100644
index 0000000..713f89b
--- /dev/null
+++ b/ogcp/templates/actions/software.html
@@ -0,0 +1,11 @@
+{% extends 'base.html' %}
+{% import "bootstrap/wtf.html" as wtf %}
+
+{% block content %}
+
+{{ wtf.quick_form(form,
+ action=url_for('action_software'),
+ method='post',
+ button_map={'view': 'primary', 'update': 'primary'}) }}
+
+{% endblock %}
diff --git a/ogcp/templates/scopes.html b/ogcp/templates/scopes.html
index 19ce9d8..d810b2a 100644
--- a/ogcp/templates/scopes.html
+++ b/ogcp/templates/scopes.html
@@ -42,6 +42,8 @@
formaction="{{ url_for('action_refresh') }}" formmethod="post">
+