Merge branch 'cart' of git.2li.ch:ibz/web_AI-5 into cart

* 'cart' of git.2li.ch:ibz/web_AI-5:
  change some code
  correct the html templates
  remove todo tags
  resize the mockup picture so it doesn't use a whole page
  add a page break to move the interface section to it's own page
  add captions and centering to the tikz figures
  make the swot table a bit smaller
  update readme
This commit is contained in:
Ivan Hörler 2018-02-27 20:46:18 +01:00
commit c74438904c
5 changed files with 44 additions and 34 deletions

View File

@ -13,9 +13,10 @@ Inspiration falls jemand ähnlich Schulprojekte hat.
##### Installation ##### Installation
To get started with this repository make sure that you have Virtualbox To get started with this repository make sure that you have
5.1.30 and Vagrant 2.0.0 installed. Vagrant 2.0.0 currently doesn't [Virtualbox](https://www.virtualbox.org/) and
support Virtualbox 5.2. [Vagrant](https://www.vagrantup.com/) installed.
After you have installed Vagrant and Virtualbox run this command in a After you have installed Vagrant and Virtualbox run this command in a
terminal to make sure that you have installed the Virtualbox plugin terminal to make sure that you have installed the Virtualbox plugin
@ -37,9 +38,10 @@ specifications in the "Vagrantfile" file. After it's finished you
should be able to access the web page under http://localhost:8080 should be able to access the web page under http://localhost:8080
To access the admin panel visit http://localhost:8080/admin the To access the admin panel visit http://localhost:8080/admin the
default login is admin and the corresponding password is default login is "admin" and the corresponding password is "password".
"password". By default the application contains no data, you can enter By default the application contains some example categories and
whatever you need. articles as well as a test user. The username of the test user is
"test_user" and the password is "password".
### Support ### Support

View File

@ -73,7 +73,7 @@
target='_blank' target='_blank'
href='http://www.ibz.ch' href='http://www.ibz.ch'
>This is a case study project of Ivan Hörler and Andreas Zweili. >This is a case study project of Ivan Hörler and Andreas Zweili.
</br> <br>
It is a school project/excercise and has no commercial intent. It is a school project/excercise and has no commercial intent.
</a> </a>
</li> </li>

View File

@ -1,8 +1,8 @@
{% extends "webshop/base.html" %} {% extends "webshop/base.html" %}
{% block section_title %}<h1>CHECKOUT</h1>{% endblock %} {% block section_title %}CHECKOUT{% endblock %}
{% block content %} {% block content %}
<h3>Preview your Purchase:</h3> <h3>Preview your Purchase:</h3>
</br> <br>
<h4>Shipping Address:</h4> <h4>Shipping Address:</h4>
{% if person %} {% if person %}
<p><b>Salutation: </b>{{ person.salutation }}</p> <p><b>Salutation: </b>{{ person.salutation }}</p>
@ -19,7 +19,7 @@
</p> </p>
{% endif %} {% endif %}
{% if cart_position_list %} {% if cart_position_list %}
</br> <br>
<h4>Your Items:</h4> <h4>Your Items:</h4>
<table class="table price-table"> <table class="table price-table">
<tr class="table_header"> <tr class="table_header">
@ -52,15 +52,15 @@
</tr> </tr>
{% endfor %} {% endfor %}
<tr> <tr>
<td scope="col" colspan="5"class="text-right"> <td scope="col" colspan="5" class="text-right">
<td scope="col" class="price-value"> <td scope="col" class="price-value">
<dl><dt>Total:</dl></dt></td> <dt><dl>Total:</dl></dt></td>
<td scope="col" class="price-value"> <td scope="col" class="price-value">
<dl><dt>{{ total }} {{ currency_name }}</dl></dt> <dt><dl>{{ total }} {{ currency_name }}</dl></dt>
</td> </td>
</tr> </tr>
</table> </table>
<form id="checkout_form" action="{% url 'order' %}" method="post"> <form id="checkout_form" action="" method="POST">
{% csrf_token %} {% csrf_token %}
{{ checkout_form.as_p }} {{ checkout_form.as_p }}
<input type="submit" value="Order" class="btn btn-success" role="button"/> <input type="submit" value="Order" class="btn btn-success" role="button"/>
@ -76,6 +76,6 @@
<p class="alert text-danger"> <p class="alert text-danger">
<strong> <strong>
{{ message }} {{ message }}
<strong> </strong>
</p> </p>
{% endblock %} {% endblock %}

View File

@ -402,10 +402,8 @@ def checkout(request):
# Here we handle all POST Operations: # Here we handle all POST Operations:
if request.method == 'POST': if request.method == 'POST':
print('checkout post', request.POST)
# here we react to a change of amount per item in the Cart: # here we react to a change of amount per item in the Cart:
if 'checkout' in request.POST: if 'checkout' in request.POST:
print('checkout post request.POST = checkout_form')
checkout_form = CheckoutForm(request.POST) checkout_form = CheckoutForm(request.POST)
if checkout_form.is_valid(): if checkout_form.is_valid():
orderstatus = OrderStatus.objects.get(name='ordered') orderstatus = OrderStatus.objects.get(name='ordered')
@ -425,8 +423,7 @@ def checkout(request):
amount=position.amount, amount=position.amount,
price_in_chf=position.article.price_in_chf price_in_chf=position.article.price_in_chf
) )
cart.delete() return HttpResponseRedirect('/order/')
cart = False
return render(request, 'webshop/checkout.html', return render(request, 'webshop/checkout.html',
{'cart_position_list': cart_position_list, {'cart_position_list': cart_position_list,

View File

@ -118,17 +118,15 @@ geeignet erscheinenden Frameworks. Jede noch so kleine Zeiteinsparung
durch vorgefertigte Entwicklungen werden angenommen und dennoch wollen durch vorgefertigte Entwicklungen werden angenommen und dennoch wollen
wir keine fertigen Software Produkte einsetzen. wir keine fertigen Software Produkte einsetzen.
** TODO SWOT-Analyse ** SWOT-Analyse
Die SWOT-Analyse ist eine Methode, die Stärken, Schwächen, Chancen und Die SWOT-Analyse ist eine Methode, die Stärken, Schwächen, Chancen und
Gefahren zu erkennen, indem eine 4-Felder-Matrix ausgefüllt wird. Gefahren zu erkennen, indem eine 4-Felder-Matrix ausgefüllt wird.
Wichtig vor dem Ausfüllen der SWOT-Analyse ist es, ein klares Ziel zu Wichtig vor dem Ausfüllen der SWOT-Analyse ist es, ein klares Ziel zu
haben. Die ausgefüllte SWOT-Analyse für dieses Projekt ist in der haben. Die ausgefüllte SWOT-Analyse für dieses Projekt ist in der
Tabelle:([[tab:swot]]) zu sehen. Abbildung:(\ref{fig:swot}) zu sehen.
#+CAPTION: SWOT-Analyse
#+NAME: tab:swot
#+BEGIN_EXPORT latex #+BEGIN_EXPORT latex
%--Beginn SWOT Analyse %--Beginn SWOT Analyse
%---Used for SWOT Analysys Chart %---Used for SWOT Analysys Chart
@ -143,11 +141,13 @@ Tabelle:([[tab:swot]]) zu sehen.
\colorlet{T}{schwaechen!50!risiken} \colorlet{T}{schwaechen!50!risiken}
% implemented this in doc instead as in preamble: % implemented this in doc instead as in preamble:
\def\bigfont#1#{\fontsize{120}{130}\selectfont #1} \def\bigfont#1#{\fontsize{120}{130}\selectfont #1}
\begin{figure}[H]
\centering
\begin{tikzpicture}[scale=0.9, \begin{tikzpicture}[scale=0.9,
any/.style={ any/.style={
minimum width=8cm, minimum width=7cm,
minimum height=8cm,% minimum height=7cm,%
text width=7.5cm, text width=6.5cm,
align=center, align=center,
outer sep=1pt outer sep=1pt
}, },
@ -192,6 +192,7 @@ Tabelle:([[tab:swot]]) zu sehen.
any, any,
anchor=center anchor=center
] at (SWOT-2-2) { % Interne Stärken/Externe Chancen feld: ] at (SWOT-2-2) { % Interne Stärken/Externe Chancen feld:
\footnotesize{
\begin{itemize} \begin{itemize}
\item Know-How in Webtechnologien. \item Know-How in Webtechnologien.
\item Quelloffene Software ist leichter zu unterhalten. \item Quelloffene Software ist leichter zu unterhalten.
@ -199,12 +200,13 @@ Tabelle:([[tab:swot]]) zu sehen.
stark reduziert werden. stark reduziert werden.
\item Wir als Programmierer haben ein gutes Know-How \item Wir als Programmierer haben ein gutes Know-How
im Bereich Datenbanken. im Bereich Datenbanken.
\end{itemize} \end{itemize}}
}; };
\node[ \node[
any, any,
anchor=center anchor=center
] at (SWOT-2-3) { % Interne Schwächen/Externe Chancen feld: ] at (SWOT-2-3) { % Interne Schwächen/Externe Chancen feld:
\footnotesize{
\begin{itemize} \begin{itemize}
\item Das Framework ist nicht vollkommen. Teile davon müssten \item Das Framework ist nicht vollkommen. Teile davon müssten
eventuell selber konzipiert/erarbeitet werden. eventuell selber konzipiert/erarbeitet werden.
@ -221,6 +223,7 @@ Tabelle:([[tab:swot]]) zu sehen.
any, any,
anchor=center anchor=center
] at (SWOT-3-2) { % Interne Stärken/ Externe Risiken feld: ] at (SWOT-3-2) { % Interne Stärken/ Externe Risiken feld:
\footnotesize{
\begin{itemize} \begin{itemize}
\item Quelloffene Software kann unkontrolliert kopiert werden. \item Quelloffene Software kann unkontrolliert kopiert werden.
\item Die Implementierung von Währungsänderungen ist \item Die Implementierung von Währungsänderungen ist
@ -232,15 +235,19 @@ Tabelle:([[tab:swot]]) zu sehen.
any, any,
anchor=center anchor=center
] at (SWOT-3-3) { % Interne Schwächen/ Externe Risiken feld: ] at (SWOT-3-3) { % Interne Schwächen/ Externe Risiken feld:
\footnotesize{
\begin{itemize} \begin{itemize}
\item Wir als Programmierer haben keine Erfahrung im \item Wir als Programmierer haben keine Erfahrung im
Konsumsegment unseres Nutzers. Konsumsegment unseres Nutzers.
\item Die Umsetzung der graphischen Anwendungsoberfläche \item Die Umsetzung der graphischen Anwendungsoberfläche
könnte sich als schwierig erweisen. könnte sich als schwierig erweisen.
\item Die Umsetzungszeit ist knapp bemessen. \item Die Umsetzungszeit ist knapp bemessen.
\end{itemize} \end{itemize}}
}; };
\end{tikzpicture} \end{tikzpicture}
\caption{SWOT-Analyse}
\label{fig:swot}
\end{figure}
%--Ende SWOT Analyse %--Ende SWOT Analyse
#+END_EXPORT #+END_EXPORT
@ -286,7 +293,7 @@ Abbildung:([[fig:umweltgrafik]]) grafisch dargestellt.
#+NAME: fig:umweltgrafik #+NAME: fig:umweltgrafik
[[file:diagrammes/stakeholder_diagramm.eps]] [[file:diagrammes/stakeholder_diagramm.eps]]
** TODO Risikomanagement ** Risikomanagement
*** Risikobeschreibung *** Risikobeschreibung
#+CAPTION: Risikobeschreibung #+CAPTION: Risikobeschreibung
@ -339,12 +346,14 @@ Am Ende des Projekts die nicht lauffähigen Teile ausgrenzen. :-)
* Projektmanagement * Projektmanagement
** Organigramm ** Organigramm
#+NAME: fig:Organigramm
#+BEGIN_EXPORT latex #+BEGIN_EXPORT latex
\begin{figure}[H]
\centering
\begin{tikzpicture}[ \begin{tikzpicture}[
auto, auto,
node distance = 0.4cm, node distance = 0.4cm,
thick, thick,
align=center,
every node/.style = { every node/.style = {
rectangle, rectangle,
font = \sffamily, font = \sffamily,
@ -357,8 +366,8 @@ Am Ende des Projekts die nicht lauffähigen Teile ausgrenzen. :-)
} }
] ]
\node (CH) {\textbf{CH}\\Christian Herren}; \node (CH) {\textbf{CH}\\Christian Herren};
\coordinate [below = 0.9cm of CH] (Mitte); \coordinate [below = 1.2cm of CH] (Mitte);
\coordinate [below = 1.6cm of CH] (Unten); \coordinate [below = 2.2cm of CH] (Unten);
\node (CV) [right = 2mm of Mitte] {\textbf{CV}\\Christian Vögeli}; \node (CV) [right = 2mm of Mitte] {\textbf{CV}\\Christian Vögeli};
\node (AZ) [below = of CV] {\textbf{AZ}\\Andreas Zweili}; \node (AZ) [below = of CV] {\textbf{AZ}\\Andreas Zweili};
\node (IH) [left = of AZ] {\textbf{IH}\\Ivan Hörler}; \node (IH) [left = of AZ] {\textbf{IH}\\Ivan Hörler};
@ -368,8 +377,9 @@ Am Ende des Projekts die nicht lauffähigen Teile ausgrenzen. :-)
(Unten) -| (IH) (Unten) -| (IH)
(Unten) -| (AZ); (Unten) -| (AZ);
\end{tikzpicture} \end{tikzpicture}
\caption{Organigramm}
\end{figure}
#+END_EXPORT #+END_EXPORT
#+CAPTION: Organigramm
** Projektstrukturplan ** Projektstrukturplan
** Varianten ** Varianten
@ -1628,6 +1638,7 @@ die Datenbank mit zusätzlichen Anfragen belastet werden kann.
#+NAME: fig:person #+NAME: fig:person
[[file:pictures/class_person.png]] [[file:pictures/class_person.png]]
#+LATEX:\newpage
** Benutzerinterface ** Benutzerinterface
*** Mockup Skizze *** Mockup Skizze
@ -1637,7 +1648,7 @@ wir eine Diskusionsgrundlage wie wir das Interface weiter entwickeln
könnten. könnten.
#+CAPTION: Ein frühes Mockup des Shop #+CAPTION: Ein frühes Mockup des Shop
#+ATTR_LATEX: :width \textwidth #+ATTR_LATEX: :height 15cm
#+NAME: mockup #+NAME: mockup
[[file:pictures/mockup-full-snipet.png]] [[file:pictures/mockup-full-snipet.png]]
#+LATEX:\newpage #+LATEX:\newpage