diff --git a/app/assets/stylesheets/bootstrap_and_overrides.css.less b/app/assets/stylesheets/bootstrap_and_overrides.css.less
index d122d886..d4004530 100644
--- a/app/assets/stylesheets/bootstrap_and_overrides.css.less
+++ b/app/assets/stylesheets/bootstrap_and_overrides.css.less
@@ -36,4 +36,27 @@ body {
@import "datepicker";
// Custom styles
-@import "foodsoft";
\ No newline at end of file
+section {
+ padding-bottom: 30px;
+ margin-bottom: 30px;
+ border-bottom: 1px solid #d3d3d3;
+}
+
+// Tasks ..
+.accepted {
+ color: #468847;
+}
+.unaccepted {
+ color: #B94A48;
+}
+
+// Wiki
+#wikiContent {
+ .editsection {
+ display: none;
+ }
+ .mw-headline a {
+ color: @textColor;
+ text-decoration: none;
+ }
+}
\ No newline at end of file
diff --git a/app/assets/stylesheets/foodsoft.less b/app/assets/stylesheets/foodsoft.less
deleted file mode 100644
index 512a6403..00000000
--- a/app/assets/stylesheets/foodsoft.less
+++ /dev/null
@@ -1,13 +0,0 @@
-section {
- padding-bottom: 30px;
- margin-bottom: 30px;
- border-bottom: 1px solid #d3d3d3;
-}
-
-.accepted {
- color: #468847;
-}
-
-.unaccepted {
- color: #B94A48;
-}
\ No newline at end of file
diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb
index 5ff62e88..8b4ce3cf 100644
--- a/app/controllers/pages_controller.rb
+++ b/app/controllers/pages_controller.rb
@@ -97,6 +97,23 @@ class PagesController < ApplicationController
end
def all
+ @pages = Page.non_redirected
+ @partial = params[:view] || 'recent_changes'
+
+ if params[:name]
+ @pages = @pages.where("title LIKE ?", "%#{params[:name]}%").limit(20).order('updated_at DESC')
+ @partial = 'title_list'
+ else
+ order = case @partial
+ when 'recent_changes' then
+ 'updated_at DESC'
+ when 'site_map' then
+ 'created_at DESC'
+ when 'title_list' then
+ 'title DESC'
+ end
+ @pages.order(order)
+ end
end
def version
diff --git a/app/helpers/pages_helper.rb b/app/helpers/pages_helper.rb
index 4154c461..09be29f0 100644
--- a/app/helpers/pages_helper.rb
+++ b/app/helpers/pages_helper.rb
@@ -41,10 +41,10 @@ module PagesHelper
unless toc.blank?
toc = WikiCloth.new({:data => toc, :link_handler => Wikilink.new}).to_html
- section_count = 0
toc.gsub(/
([^<>\n]*)/) do
- section_count += 1
- "#{$1}"
+ name = $1
+ anchor = name.gsub(/\s/, '_').gsub(/[^a-zA-Z_]/, '')
+ "#{name.truncate(20)}"
end.html_safe
end
end
diff --git a/app/views/foodcoop/workgroups/edit.html.haml b/app/views/foodcoop/workgroups/edit.html.haml
index 24de5b4e..2fed947b 100644
--- a/app/views/foodcoop/workgroups/edit.html.haml
+++ b/app/views/foodcoop/workgroups/edit.html.haml
@@ -6,5 +6,6 @@
einladen.
= simple_form_for [:foodcoop, @workgroup] do |f|
= render :partial => 'shared/group_form_fields', :locals => {:f => f}
- = f.submit
- = link_to "oder abbrechen", foodcoop_workgroups_path
+ .form-actions
+ = f.submit
+ = link_to "oder abbrechen", foodcoop_workgroups_path
diff --git a/app/views/home/index.html.haml b/app/views/home/index.html.haml
index fe654043..b246ff55 100644
--- a/app/views/home/index.html.haml
+++ b/app/views/home/index.html.haml
@@ -5,16 +5,12 @@
- unless @unaccepted_tasks.empty? && @next_tasks.empty? && @unassigned_tasks_number == 0
%section.well
- %h2 Aufgaben
- -unless @next_tasks.empty?
- %div{:style => "float:left, margin-bottom:2em"}
- %strong Deine Aufgaben für die nächste Woche:
- %table.table(style="width:25em")
- -for task in @next_tasks
- %tr
- %td= format_date task.due_date
- %td
- %b= task.name
+ - unless @next_tasks.empty?
+ %h3 Deine Aufgaben für nächste Woche
+ %dl.dl-horizontal
+ - @next_tasks.each do |task|
+ %dt= l task.due_date, format: "%A, %d. %b"
+ %dd= link_to task.name, task_path(task)
- unless @unaccepted_tasks.empty?
%h3 Aufgaben übernehmen
@@ -23,7 +19,6 @@
- unless @unassigned_tasks_number == 0
%h3 Offene Aufgaben
= "Es gibt #{@unassigned_tasks_number} #{link_to 'offene Aufgabe(n)', :controller => 'tasks'}".html_safe
- %p= link_to "Meine Aufgaben", user_tasks_path
- if current_user.ordergroup
= render :partial => 'shared/open_orders', :locals => {:ordergroup => current_user.ordergroup}
diff --git a/app/views/pages/_body.html.haml b/app/views/pages/_body.html.haml
index 3f06f54d..db96b857 100644
--- a/app/views/pages/_body.html.haml
+++ b/app/views/pages/_body.html.haml
@@ -1,10 +1,9 @@
- content = wikified_body @page.body, @page.title
- toc = generate_toc @page.body
-- unless toc.blank?
- #wikitoc
- %h2
- Inhaltsverzeichnis
- %span= link_to_function "[verstecken]", "Element.toggle('wikitoc-content')"
- #wikitoc-content= toc
+- unless toc.blank? or params[:preview]
+ - content_for :sidebar do
+ #wikitoc.well.well-small
+ %h3 Inhalt
+ = toc
= content
\ No newline at end of file
diff --git a/app/views/pages/_form.html.haml b/app/views/pages/_form.html.haml
index 2e24adb6..eaa22935 100644
--- a/app/views/pages/_form.html.haml
+++ b/app/views/pages/_form.html.haml
@@ -1,12 +1,26 @@
- if params[:preview]
- %h2 Vorschau
- #preview= render :partial => 'body'
+ %section#wikiContent
+ = render 'body'
-#wiki-syntax-help
- .box_title
- %h2 Schnelle Formatierungshilfe
- .column_content
- %table(frame="void")
+.row-fluid
+ .span8
+ = simple_form_for @page do |f|
+ = f.hidden_field :lock_version
+ = f.input :title, input_html: {class: 'input-xxlarge'}
+ = f.input :body, input_html: {class: 'input-xxlarge'}
+ = f.input :parent_id, as: :select, collection: parent_pages_to_select(@page)
+ .form-actions
+ = button_tag :name => 'preview', class: 'btn' do
+ %i.icon-search
+ Vorschau
+ = button_tag class: 'btn' do
+ %i.icon-save
+ Speichern
+ = link_to "oder abbrechen", @page
+
+ .span4
+ %h3 Schnelle Formatierungshilfe
+ %table.table
%tbody
%tr
%td(colspan=2)
@@ -79,17 +93,3 @@
Siehe
= link_to "Tabellen", "http://www.mediawiki.org/wiki/Help:Tables", :target => '_blank'
-- simple_form_for @page do |f|
- = f.hidden_field :lock_version
- = f.input :title
- = f.input :body, :input_html => {:size => "65x30"}
- %p
- = submit_tag "Vorschau", :name => 'preview'
- |
- = submit_tag "Speichern"
- |
- = link_to "Abbrechen", @page
- | Oberseite ändern:
- = collection_select(:page, :parent_id, parent_pages_to_select(@page), :id, :permalink, {:prompt => "Neue Oberseite?", :include_blank => true})
-
-%div(style="clear:right; height:1px")
diff --git a/app/views/pages/_recent_changes.html.haml b/app/views/pages/_recent_changes.html.haml
index 1c0af9e2..6a5440c7 100644
--- a/app/views/pages/_recent_changes.html.haml
+++ b/app/views/pages/_recent_changes.html.haml
@@ -1,7 +1,8 @@
-.column_content
- %table
+%table.table.table-striped
+ %thead
%tr
%th Titel
%th Zuletzt aktualisiert
- - for page in Page.non_redirected.order('updated_at DESC')
+ %tbody
+ - for page in @pages
= render :partial => "page_list_item", :locals => {:page => page, :level => 0, :siteMap => 0}
diff --git a/app/views/pages/_site_map.html.haml b/app/views/pages/_site_map.html.haml
index 85c01b41..f19afe64 100644
--- a/app/views/pages/_site_map.html.haml
+++ b/app/views/pages/_site_map.html.haml
@@ -1,11 +1,12 @@
-.column_content
- %table
+%table.table.table-striped
+ %thead
%tr
%th Titel
%th Zuletzt aktualisiert
- homepage = Page.find_by_permalink('Home')
- unless homepage.nil?
= render :partial => 'page_list_item', :locals => {:page => homepage, :level => 0, :siteMap => 1}
- - for page in Page.no_parent.non_redirected.order('created_at DESC')
+ %tbody
+ - for page in @pages
- if page.id != homepage.id
= render :partial => 'page_list_item', :locals => {:page => page, :level => 0, :siteMap => 1}
diff --git a/app/views/pages/_title_list.html.haml b/app/views/pages/_title_list.html.haml
index e46c0075..3750a292 100644
--- a/app/views/pages/_title_list.html.haml
+++ b/app/views/pages/_title_list.html.haml
@@ -1,7 +1,8 @@
-.column_content
- %table
+%table.table.table-striped
+ %thead
%tr
%th Titel
%th Zuletzt aktualisiert
- - for page in Page.non_redirected.order('title DESC')
+ %tbody
+ - for page in @pages
= render :partial => "page_list_item", :locals => {:page => page, :level => 0, :siteMap => 0}
\ No newline at end of file
diff --git a/app/views/pages/all.html.haml b/app/views/pages/all.html.haml
index ac84ba19..c3d93b78 100644
--- a/app/views/pages/all.html.haml
+++ b/app/views/pages/all.html.haml
@@ -1,21 +1,17 @@
- title "Alle Wikiseiten", false
-.wiki_all
- #breadcrump
- = link_to_wikipage_by_permalink("Home", "Foodcoop-Wiki")
+- content_for :sidebar do
+ = link_to "Neue Seite anlegen", new_page_path, class: 'btn btn-primary'
- %h1 Alle Wikiseiten
+.navbar
+ .navbar-inner
+ %ul.nav
+ %li= link_to 'Letzte Änderungen', all_pages_path(:view => 'recent_changes')
+ %li= link_to 'Seiten-Liste', all_pages_path(:view => 'title_list')
+ %li= link_to 'Site Map', all_pages_path(:view => 'site_map')
+ = form_tag all_pages_path, method: :get, class: 'form-search pull-right' do
+ = text_field_tag :name, params[:name], class: 'input-medium search-query',
+ placeholder: 'Seitentitel ...'
+ = submit_tag "Suche", class: 'btn'
-
- #sidebar
- #sidebar-links
- = link_to "Neue Seite anlegen", new_page_path
-
- .left_column{:style => "width:100%"}
- .box_title
- #editOrderNav
- = link_to 'Letzte Änderungen', all_pages_path(:view => 'recent_changes')
- = link_to 'Seiten-Liste', all_pages_path(:view => 'title_list')
- = link_to 'Site Map', all_pages_path(:view => 'site_map')
- #left_column
- = render :partial => params[:view] || 'recent_changes'
\ No newline at end of file
+= render @partial
\ No newline at end of file
diff --git a/app/views/pages/edit.html.haml b/app/views/pages/edit.html.haml
index 2d065b1a..c3f6789e 100644
--- a/app/views/pages/edit.html.haml
+++ b/app/views/pages/edit.html.haml
@@ -1,14 +1,3 @@
-- title "#{@page.title} bearbeiten", false
+- title "Seite bearbeiten"
-.wiki_edit
- #breadcrump
- = link_to_wikipage_by_permalink("Home", "Foodcoop-Wiki")
- - for page in @page.ancestors.reverse
- %span.wikiSeparator >
- = link_to_wikipage(page)
- %span.wikiSeparator >
- = link_to_wikipage(@page)
-
- %h1 #{@page.title} bearbeiten
-
- = render :partial => 'form'
+= render 'form'
diff --git a/app/views/pages/new.html.haml b/app/views/pages/new.html.haml
index 8bb44198..6bac72c5 100644
--- a/app/views/pages/new.html.haml
+++ b/app/views/pages/new.html.haml
@@ -1,16 +1,3 @@
-- title "Neue Wikiseite anlegen", false
+- title "Neue Wikiseite anlegen"
-.wiki_new
- #breadcrump
- = link_to_wikipage_by_permalink("Home", "Foodcoop-Wiki")
- - parent_page = Page.find_by_permalink(params[:parent])
- - if parent_page != nil
- - for page in parent_page.ancestors.reverse
- %span.wikiSeparator >
- = link_to_wikipage(page)
- %span.wikiSeparator >
- = @page.title
-
- %h1 Neue Wikiseite anlegen
-
- = render :partial => 'form'
+= render 'form'
diff --git a/app/views/pages/show.html.haml b/app/views/pages/show.html.haml
index f84ebb26..19deeae4 100644
--- a/app/views/pages/show.html.haml
+++ b/app/views/pages/show.html.haml
@@ -1,51 +1,54 @@
- title @page.title, false
-.wiki_show
-
- #breadcrump
- = link_to_wikipage_by_permalink("Home", "Foodcoop-Wiki")
- - for page in @page.ancestors.reverse
- %span.wikiSeparator >
- = link_to_wikipage(page)
- %span.wikiSeparator >
- = @page.title
-
- #sidebar
- #sidebar-links
- = link_to "Bearbeiten", edit_page_path(@page)
- = link_to "Versionen (#{@page.versions.count})", "#versions", 'data-toggle-this' => '#versions'
- - unless @page.children.empty?
- = link_to "Unterseiten", "#subpages", 'data-toggle-this' => '#subpages'
- #versions{:style => "display:none"}
- .box_title
- %h2 Versionen
- .column_content
- %ul
- - for version in @page.versions.reverse
- %li
- = link_to I18n.l(version.updated_at, :format => "%d.%m.%y %H:%M"), version_page_path(@page, :version => version.lock_version)
- = "(#{User.find_by_id(version.updated_by).try(:nick)})"
-
- - unless @page.children.empty?
- #subpages{:style => "display:none"}
- .box_title
- %h2 Unterseiten
- .column_content
- %ul
- - for page in @page.children
- %li= link_to_wikipage(page)
-
- #wiki_content
- %h1
- = @page.title
- = render :partial => 'body'
-
- %hr.clear/
+- content_for :sidebar do
%p
- = link_to "Seite bearbeiten", edit_page_path(@page)
- |
- = link_to "Seite löschen", @page, :method => :delete, :confirm => "Achtung, auch alle Unterseiten werden gelöscht. Bist Du sicher?"
- | Zuletzt bearbeitet von
- %b
- = "#{@page.user.try(:nick)}"
- = "am #{format_datetime @page.updated_at}"
+ = link_to edit_page_path(@page), class: 'btn btn-primary' do
+ %i.icon-edit
+ Seite bearbeiten
+ .well.well-small
+ %ul.nav.nav-list
+ %li
+ %li= link_to "Versionen (#{@page.versions.count})", "#versions", 'data-toggle-this' => '#versions'
+ - unless @page.children.empty?
+ %li= link_to "Unterseiten", "#subpages", 'data-toggle-this' => '#subpages'
+
+ #versions.well.well-small{:style => "display:none"}
+ %h3 Versionen
+ %ul.unstyled
+ - @page.versions.reverse.each do |version|
+ %li
+ = link_to I18n.l(version.updated_at, :format => "%d.%m.%y %H:%M"), version_page_path(@page, :version => version.lock_version)
+ = "(#{User.find_by_id(version.updated_by).try(:nick)})"
+
+ - unless @page.children.empty?
+ #subpages.well.well-small{:style => "display:none"}
+ %h3 Unterseiten
+ %ul.unstyled
+ - @page.children.each do |page|
+ %li= link_to_wikipage(page)
+
+#breadcrump
+ = link_to_wikipage_by_permalink("Home", "Foodcoop-Wiki")
+ - for page in @page.ancestors.reverse
+ %span.wikiSeparator >
+ = link_to_wikipage(page)
+ %span.wikiSeparator >
+ = @page.title
+
+
+#wikiContent
+ .page-header
+ %h1= @page.title
+ = render :partial => 'body'
+
+%hr.clear/
+%p
+ = link_to edit_page_path(@page), class: 'btn btn-primary' do
+ %i.icon-edit
+ Seite bearbeiten
+ = link_to "Seite löschen", @page, class: 'btn btn-danger', :method => :delete,
+ :confirm => "Achtung, auch alle Unterseiten werden gelöscht. Bist Du sicher?"
+ | Zuletzt bearbeitet von
+ %b
+ = "#{@page.user.try(:nick)}"
+ = "am #{format_datetime @page.updated_at}"
diff --git a/app/views/pages/version.html.haml b/app/views/pages/version.html.haml
index 369fa375..f1a15e3b 100644
--- a/app/views/pages/version.html.haml
+++ b/app/views/pages/version.html.haml
@@ -1,27 +1,11 @@
-- title @page.title, false
+- title "#{@page.title} - Version #{@version.lock_version}"
-.wiki_version
- #breadcrump
- = link_to_wikipage_by_permalink("Home", "Foodcoop-Wiki")
- - for page in @page.ancestors.reverse
- %span.wikiSeparator >
- = link_to_wikipage(page)
- %span.wikiSeparator >
- = link_to_wikipage(@page)
-
- %h1
- = @page.title
-
- #sidebar
- .box_title
- %h2 Version
- .column_content
- %b= "#{format_datetime_timespec(@version.updated_at, "%a, %d.%m.%Y, %H:%M Uhr") }"
- %ul
- %li= "Autor: #{User.find(@version.updated_by).nick}"
- %li= link_to "Aktuelle Version sehen", wiki_page_path(:permalink => @page.permalink)
- %li= link_to "Auf diese Version zurücksetzen", revert_page_path(@page, :version => @version.lock_version)
-
- = wikified_body @version.body
- %div(style="clear:right")
+- content_for :sidebar do
+ %h3 Version
+ %b= "#{format_datetime_timespec(@version.updated_at, "%a, %d.%m.%Y, %H:%M Uhr") }"
+ %ul
+ %li= "Autor: #{User.find(@version.updated_by).nick}"
+ %li= link_to "Aktuelle Version sehen", wiki_page_path(:permalink => @page.permalink)
+ %li= link_to "Auf diese Version zurücksetzen", revert_page_path(@page, :version => @version.lock_version)
+= wikified_body @version.body
diff --git a/app/views/shared/_group.html.haml b/app/views/shared/_group.html.haml
index e91fabd2..1e4947fd 100644
--- a/app/views/shared/_group.html.haml
+++ b/app/views/shared/_group.html.haml
@@ -1,32 +1,25 @@
-%table
- %tr
- %td Beschreibung:
- %td=h group.description
+%dl.dl-horizontal
+ %dt Beschreibung:
+ %dd=h group.description
- if group.is_a?(Ordergroup) and (@current_user.role_admin? or @current_user.role_finance?)
- %tr
- %td Kontakt:
- %td=h group.contact
- %tr
- %td Adresse:
- %td= link_to_gmaps group.contact_address
- %tr
- %td Gruppe hat Zugriff auf:
- %td= format_roles(group)
- %tr
- %td Mitglieder:
- %td
- - members = group.users
- = "(#{members.size})"
- = members.collect(&:nick).join(", ")
+ %dt Kontakt:
+ %dd=h group.contact
+ %dt Adresse:
+ %dd= link_to_gmaps group.contact_address
+ %dt Zugriff auf:
+ %dd= format_roles(group)
+ %dt Mitglieder:
+ %dd
+ - members = group.users
+ = "(#{members.size})"
+ = members.collect(&:nick).join(", ")
- if group.is_a?(Workgroup)
- %tr
- %td wöchentlicher Job:
- %td
- - if group.weekly_task
- =h "#{group.task_name} am #{weekday(group.weekday)}"
- - else
- kein wöchentlicher Job definiert
+ %dt wöchentlicher Job:
+ %dd
+ - if group.weekly_task
+ =h "#{group.task_name} am #{weekday(group.weekday)}"
+ - else
+ kein wöchentlicher Job definiert
- else
- %tr
- %td Äpfel-Bestellbeschränkung
- %td= group.ignore_apple_restriction ? 'deaktiviert' : 'aktiviert'
+ %dt Äpfel-Bestellbeschränkung
+ %dd= group.ignore_apple_restriction ? 'deaktiviert' : 'aktiviert'
diff --git a/app/views/shared/_group_form_fields.html.haml b/app/views/shared/_group_form_fields.html.haml
index 5753aa16..8de6b874 100644
--- a/app/views/shared/_group_form_fields.html.haml
+++ b/app/views/shared/_group_form_fields.html.haml
@@ -1,5 +1,5 @@
= f.input :name
-= f.input :description
+= f.input :description, as: :text, input_html: {rows: 4}
= yield
@@ -11,19 +11,20 @@
= f.input :task_name
= f.input :task_required_users
= f.input :task_duration, :as => :select, :collection => (1..3)
- = f.input :task_description, as: :text, input_html: {rows: 10}
+ = f.input :task_description, as: :text, input_html: {rows: 5}
= f.input :next_weekly_tasks_number
-= f.input :user_tokens, :as => :string, :input_html => { 'data-pre' => f.object.users.map { |u| u.token_attributes }.to_json }
+= f.input :user_tokens, :as => :string,
+ :input_html => { 'data-pre' => f.object.users.map { |u| u.token_attributes }.to_json }
-- content_for :head do
+- content_for :javascript do
:javascript
function toggleWeeklyTaskFields() {
if ($('#workgroup_weekly_task').is(':checked')) {
- $('#weekly_task_fields div.input').show();
+ $('#weekly_task_fields .control-group').show();
$('#weekly_task_fields input').removeAttr('disabled');
} else {
- $('#weekly_task_fields div.input').hide();
+ $('#weekly_task_fields .control-group').hide();
$('#weekly_task_fields input').attr('disabled', 'disabled');
}
}
@@ -39,7 +40,8 @@
prePopulate: $("##{f.object.class.to_s.underscore}_user_tokens").data("pre"),
hintText: 'Nach Nutzerin suchen',
noResultText: 'Keine Nutzerin gefunden',
- searchingText: 'Suche ...'
+ searchingText: 'Suche ...',
+ theme: 'facebook'
});
});
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 5f955591..8cc3b4e5 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -335,6 +335,7 @@ de:
private: Privat
page:
body: 'Inhalt'
+ parent_id: Oberseite
supplier:
address: 'Adresse'
phone: 'Telefon'