diff --git a/smash/web/forms.py b/smash/web/forms.py
index 454cb6ac6c0ac56d5b2921e71726e7a9abbc7105..ef870ce1f2eb8471e0b2a98ea41f6b1b926c2aa7 100644
--- a/smash/web/forms.py
+++ b/smash/web/forms.py
@@ -61,6 +61,11 @@ class AppointmentDetailForm(ModelForm):
         fields = '__all__'
 
 
+class AppointmentEditForm(ModelForm):
+    class Meta:
+        model = Appointment
+        fields = '__all__'
+
 class AppointmentAddForm(ModelForm):
     class Meta:
         model = Appointment
diff --git a/smash/web/templates/assignments/edit.html b/smash/web/templates/assignments/edit.html
new file mode 100644
index 0000000000000000000000000000000000000000..3ba01a89e856ff57b32b9b6b9a8f20bdf2463668
--- /dev/null
+++ b/smash/web/templates/assignments/edit.html
@@ -0,0 +1,90 @@
+{% extends "_base.html" %}
+{% load static %}
+{% load filters %}
+
+{% block styles %}
+{{ block.super }}
+	<!-- DataTables -->
+  <link rel="stylesheet" href="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.css' %}">
+{% endblock styles %}
+
+{% block page_title %}'assignments'{% endblock page_title %}
+{% block page_header %}Edit assignment{% endblock page_header %}
+{% block page_description %}{% endblock page_description %}
+
+{% block title %} - Edit assignment information{% endblock %}
+
+{% block breadcrumb %}
+{% include "assignments/breadcrumb.html" %}
+{% endblock breadcrumb %}
+
+{% block maincontent %}
+
+{% block content %}
+<div class="box box-info">
+	<div class="box-header with-border">
+		<a href="{% url 'web.views.assignments' %}" class="btn btn-block btn-default" onclick="history.back()">Go back (without changes)</a>
+	</div>
+
+	{% comment %} <div class="box-header with-border">
+		<h3 class="box-title">Details of appointment</h3>
+	</div>{% endcomment %}
+
+	<form method="post" action="" class="form-horizontal">
+		{% csrf_token %}
+
+		<div class="box-body">
+			{% for field in form %}
+				<div class="col-md-6 form-group  {% if field.errors %}has-error{% endif %}">
+					<label for="{# TODO #}" class="col-sm-4 control-label">
+						{{ field.label }}
+					</label>
+
+					<div class="col-sm-8">
+						{{ field|add_class:'form-control' }}
+					</div>
+
+          {% if field.errors %}
+            <span class="help-block">
+              {{ field.errors }}
+            </span>
+          {% endif %}
+				</div>
+			{% endfor %}
+		</div><!-- /.box-body -->
+
+		<div class="box-footer">
+			<div class="col-sm-6">
+				<button type="submit" class="btn btn-block btn-success">Save</button>
+			</div>
+			<div class="col-sm-6">
+				<a href="{% url 'web.views.assignments' %}" class="btn btn-block btn-default" onclick="history.back()">Cancel</a>
+			</div>
+		</div><!-- /.box-footer -->
+	</form>
+</div>
+{% endblock %}
+
+
+
+
+{% endblock maincontent %}
+
+{% block scripts %}
+	{{ block.super }}
+
+	<script src="{% static 'AdminLTE/plugins/datatables/jquery.dataTables.min.js' %}"></script>
+	<script src="{% static 'AdminLTE/plugins/datatables/dataTables.bootstrap.min.js' %}"></script>
+	<script>
+		$(function () {
+			$('#table').DataTable({
+			  "paging": true,
+			  "lengthChange": false,
+			  "searching": true,
+			  "ordering": true,
+			  "info": true,
+			  "autoWidth": false
+			});
+		});
+	</script>
+{% endblock scripts %}
diff --git a/smash/web/templates/subjects/visitdetails.html b/smash/web/templates/subjects/visitdetails.html
index 982b4a8e3638296372bba50897e6b75f051cad36..558127324540c0ffbae8e787067817a16b739937 100644
--- a/smash/web/templates/subjects/visitdetails.html
+++ b/smash/web/templates/subjects/visitdetails.html
@@ -99,7 +99,9 @@
               {% else %} {{ app.flying_team }}
               {% endif %}
             </td>
-            <td> <a href="" type="button" class="btn btn-block btn-default">TODO</a> </td>
+            <td>
+              <a href="{% url 'web.views.assignment_edit' app.id %}" type="button" class="btn btn-block btn-default">Edit</a>
+            </td>
           </tr>
           {% endfor %}
 
diff --git a/smash/web/templates/visits/details.html b/smash/web/templates/visits/details.html
index 94bac5ca1e293062d47ad4e2e709acfee66290f5..6a2002d87b32fe96c5009602d3e80f8e494b2d8f 100644
--- a/smash/web/templates/visits/details.html
+++ b/smash/web/templates/visits/details.html
@@ -102,7 +102,9 @@
       {% else %} {{ app.flying_team }}
       {% endif %}
     </td>
-    <td> <a href="" type="button" class="btn btn-block btn-default">TODO</a> </td>
+    	<td>
+        <a href="{% url 'web.views.assignment_edit' app.id %}" type="button" class="btn btn-block btn-default">Edit</a>
+      </td>
   </tr>
   {% endfor %}
 
diff --git a/smash/web/urls.py b/smash/web/urls.py
index 5191920ef1101e68bddc61f8f5c35b3b027462c2..030dd7b6995d3a177bf72ccfef46b21afd8584c8 100644
--- a/smash/web/urls.py
+++ b/smash/web/urls.py
@@ -20,6 +20,7 @@ urlpatterns = [
     url(r'assignments$', views.assignments, name='web.views.assignments'),
     url(r'assignments/details/(?P<id>\d+)$', views.assignment_details, name='web.views.assignment_details'),
     url(r'assignments/add/(?P<id>\d+)$', views.assignment_add, name='web.views.assignment_add'),
+    url(r'assignments/edit/(?P<id>\d+)$', views.assignment_edit, name='web.views.assignment_edit'),
 
     url(r'visits$', views.visits, name='web.views.visits'),
     url(r'visits/details/(?P<id>\d+)$', views.visit_details, name='web.views.visit_details'),
diff --git a/smash/web/views.py b/smash/web/views.py
index 9acb1d4b8359db660d8069068f02b43ec49bd2cd..a697fffbb43bffb3ff5a91e69ba75121bf55a831 100644
--- a/smash/web/views.py
+++ b/smash/web/views.py
@@ -294,3 +294,13 @@ def assignment_add(request, id):
 
 	vid = id
 	return wrap_response(request, 'assignments/add.html', {'form': form, 'visitID': vid})
+
+def assignment_edit(request, id):
+	if request.method == 'POST':
+		form = AppointmentEditForm(request.POST, request.FILES, instance=Appointment.objects.get(id=id))
+		if form.is_valid():
+			form.save()
+			return redirect(assignments)
+	else:
+		form = AppointmentEditForm(instance=Appointment.objects.get(id=id))
+	return wrap_response(request, 'assignments/edit.html', {'form': form})