Compare commits

..

36 Commits

Author SHA1 Message Date
92d2c37000 fix: Added missing error message for missing subject. 2022-08-18 20:53:16 +02:00
e2fa3f75cc fix: Changed user facing text to formal speech. 2022-08-18 20:53:00 +02:00
360f90fc9d fix: Not just pass it along but really use the subject ;) 2022-08-18 20:52:50 +02:00
f58ba3bbc1 feat: Now really send emails. 2022-08-18 20:52:40 +02:00
fa9cf1bf37 fix: Remove opposite highlight classes to just display the most recent one. 2022-08-18 20:52:29 +02:00
e53449352f feat: Added subject to contact form. 2022-08-18 20:52:19 +02:00
4f7edc53a8 fix: Duzen all the way. 2022-08-18 20:52:12 +02:00
9b9f2b95c5 fix: Removed empty class definition. 2022-08-18 20:45:07 +02:00
553bba8917 feat: Improved layout of contact form submit button. 2022-08-18 20:44:58 +02:00
88276c2e2e feat: Switched time based bot protection from JS to PHP sessions. 2022-08-03 18:04:03 +02:00
487f2268b6 feat: Fehlermeldungen anzeigen und Botdetection anhand von Bearbeitunszeit. (#105) 2022-08-03 17:56:54 +02:00
2af9144fcb feat: Arrow functions aufgeräumt und Fehlerbehandlung ergänzt. (#105) 2022-08-03 17:56:54 +02:00
5a089b6a2a feat: Bot-Detection erweitert. (#105) 2022-08-03 17:56:54 +02:00
83d4694190 fix: Fixed Syntax in manifest.json. 2022-08-03 17:56:54 +02:00
bbc1bc2b61 chore: Updated .gitignore. 2022-08-03 17:56:54 +02:00
aeb1ae24fa feat: WIP Kontaktformular hinzugefügt. (#105)
Die URL ist noch hardcoded. Rückmeldung für den User fehlt noch. Die Nachricht geht noch nirgends hin. Spamprotection ohne Captcha ist nur in Ansätzen zu erkennen.
2022-08-03 17:55:25 +02:00
436be5830b feat: Added dev server to project file. 2022-08-03 17:55:25 +02:00
b798c02bab Merge pull request '#116_satzung_pdf_nicht_aktualisiert' (#120) from #116_satzung_pdf_nicht_aktualisiert into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #120
2022-08-03 17:51:41 +02:00
5c4d16660a feat: Updated the pdf document of the Satzung.
All checks were successful
continuous-integration/drone/pr Build is passing
I created this from the HTML-Version. If there's an official PDF feel free to create a PR.
2022-08-03 17:48:07 +02:00
fbb55252d8 fix: Fixed one typo and changed some "ligatures?" to separate characters.
Leaves me a bit puzzled. I'm pretty sure I don't want these in the HTML as it breaks spell checking for example. Maybe there's CSS magic to add them automatically. Please correct me if I'm wrong.
2022-08-03 17:46:57 +02:00
2ec7326c3d fix: Added a bit of visual space to the Dokumente page. 2022-08-03 17:41:08 +02:00
4512a6a1bf Merge pull request 'fix: Fixed nearly unclickable logo in mobile view.' (#115) from #111_logo_mobil_unklickbar into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #115
2022-07-24 12:28:11 +02:00
4181a9b1a8 fix: Fixed nearly unclickable logo in mobile view.
All checks were successful
continuous-integration/drone/pr Build is passing
2022-07-24 12:20:56 +02:00
12516baf00 Merge pull request '#107_mittelbreites_menu_nicht_klickbar' (#114) from #107_mittelbreites_menu_nicht_klickbar into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #114
2022-07-24 11:52:56 +02:00
cfb859d0d6 fix: Fixed unclickable sub menu by adjusting the height of .header__privmary_nav.
All checks were successful
continuous-integration/drone/pr Build is passing
2022-07-24 11:43:33 +02:00
8b20f0fab2 chore: Uncluttered navlist css. 2022-07-24 11:33:49 +02:00
7aa2ce027a chore: Update .gitignore 2022-07-24 10:58:09 +02:00
a129161adf Merge pull request 'fix: Honor stacking context to fix vanishing menu.' (#113) from #110_mobiles_menu_hinter_card_box into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #113
2022-07-24 10:46:55 +02:00
f508b40fd0 fix: Honor stacking context to fix vanishing menu.
All checks were successful
continuous-integration/drone/pr Build is passing
2022-07-24 10:35:55 +02:00
b5e9b4a66a Merge pull request 'Newsletter Juli 2022 hinzugefuegt' (#109) from newsletter-07-2022 into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #109
Reviewed-by: gulliver <gulliver@noreply.git.wtf-eg.de>
2022-07-20 21:13:32 +02:00
rev0lverheld
840c01522c Newsletter Juli 2022 hinzugefuegt
All checks were successful
continuous-integration/drone/pr Build is passing
2022-07-19 21:32:12 +02:00
e1d6157baa Merge pull request 'Drone' (#108) from Brain/webseite:drone-fix into main
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #108
2022-07-19 16:48:15 +02:00
2ccd833918
Sign drone config
All checks were successful
continuous-integration/drone/pr Build is passing
2022-07-12 14:48:02 +02:00
068b279482
Be more specific which PRs are built 2022-07-12 14:29:45 +02:00
ff029195c6 Merge pull request 'Update Satzung. Stand Generalversammlung vom 26.06.2022' (#106) from feature/update-satzung-nach-generalversammlung-2022-06-26 into main
Reviewed-on: #106
2022-07-11 22:05:54 +02:00
5934da3b12 Update Satzung. Stand Generalversammlung vom 26.06.2022 2022-07-11 14:05:05 +02:00
10 changed files with 170 additions and 48 deletions

View File

@ -35,5 +35,12 @@ image_pull_secrets:
- dockerconfig - dockerconfig
trigger: trigger:
branch:
- main
event: event:
- pull_request - pull_request
---
kind: signature
hmac: a7c0aeda778717207ec641e7af90a358376eb3bfb22beeb67217b6d201e9e675
...

View File

@ -229,6 +229,12 @@ header {
grid-row: 1 / span 1; grid-row: 1 / span 1;
} }
.header__homelink {
display: inline-block;
position: relative;
z-index: 1;
}
.header__button, .header__button,
.content__button, .content__button,
.claim__button, .claim__button,
@ -890,10 +896,6 @@ hr.-even {
color: var(--dark-green); color: var(--dark-green);
} }
.content__contact_form {
}
.contact_form__textarea, .contact_form__textarea,
.contact_form__text_input, .contact_form__text_input,
.contact_form__captcha { .contact_form__captcha {
@ -905,6 +907,7 @@ hr.-even {
height: 12em; height: 12em;
} }
.contact_form__subject,
.contact_form__message, .contact_form__message,
.contact_form__name, .contact_form__name,
.contact_form__email, .contact_form__email,
@ -914,6 +917,11 @@ hr.-even {
font-size: 1rem; font-size: 1rem;
} }
.contact_form__submit_button {
font-size: 1rem;
padding: 0 0.25rem;
}
/* Hide captcha field as part of spam protection. /* Hide captcha field as part of spam protection.
We got no real captcha. */ We got no real captcha. */
.contact_form__captcha { .contact_form__captcha {
@ -1287,7 +1295,7 @@ footer {
} }
.slim_box__top_bar_left { .slim_box__top_bar_left {
margin: 1rem 0.5rem 0 0; margin: 0 0.5rem 0 0;
height: 1.125rem; height: 1.125rem;
background-image: url("../images/slim_header_top_triangles.svg"); background-image: url("../images/slim_header_top_triangles.svg");
background-position: right; background-position: right;
@ -1332,14 +1340,23 @@ footer {
display: auto; display: auto;
} }
.header__primary_nav {
height: 2.5rem;
}
.secondary_nav__navlist { .secondary_nav__navlist {
margin-right: 1rem; margin-right: 1rem;
} }
.primary_nav__navlist { .primary_nav__navlist {
display: flex !important;
margin-right: 1.5rem; margin-right: 1.5rem;
} }
.primary_nav__navlist > li:hover > .primary_nav__sub_navlist {
margin: 2.2rem 0 0 -0.5rem;
}
.primary_nav__members, .primary_nav__lang_switch { .primary_nav__members, .primary_nav__lang_switch {
display: none; display: none;
} }
@ -1348,10 +1365,6 @@ footer {
display: none; display: none;
} }
.primary_nav__navlist {
display: flex !important;
}
.content__inner_box.-logo_header { .content__inner_box.-logo_header {
margin: -0.5rem 1.5rem 0 1.5rem; margin: -0.5rem 1.5rem 0 1.5rem;
} }
@ -1521,6 +1534,7 @@ footer {
background-image: none; background-image: none;
margin: 0; margin: 0;
padding: 0; padding: 0;
z-index: 40;
} }
.slim_box__top_bar_left { .slim_box__top_bar_left {
@ -1560,7 +1574,6 @@ footer {
position: absolute; position: absolute;
top: 6.5rem; top: 6.5rem;
right: 0; right: 0;
z-index: 30;
border-top: 2px solid var(--wtf-nearly-black); border-top: 2px solid var(--wtf-nearly-black);
border-left: 2px solid var(--wtf-nearly-black); border-left: 2px solid var(--wtf-nearly-black);
border-bottom: 2px solid var(--wtf-nearly-black); border-bottom: 2px solid var(--wtf-nearly-black);

BIN
assets/dokumente/wtf-satzung.pdf (Stored with Git LFS)

Binary file not shown.

View File

@ -1,6 +1,7 @@
const ajaxUrl = 'https://spielwiese.wtf-eg.de/php/contact_form.php'; const ajaxUrl = 'https://spielwiese.wtf-eg.de/php/contact_form.php';
// const submit_button = document.getElementsByClassName('contact_form__submit_button')[0]; // const submit_button = document.getElementsByClassName('contact_form__submit_button')[0];
const contact_form = document.getElementsByClassName('content__contact_form')[0]; const contact_form = document.getElementsByClassName('content__contact_form')[0];
const subject = document.getElementsByClassName('contact_form__subject')[0];
const message = document.getElementsByClassName('contact_form__message')[0]; const message = document.getElementsByClassName('contact_form__message')[0];
const name = document.getElementsByClassName('contact_form__name')[0]; const name = document.getElementsByClassName('contact_form__name')[0];
const email = document.getElementsByClassName('contact_form__email')[0]; const email = document.getElementsByClassName('contact_form__email')[0];
@ -8,13 +9,28 @@ const captcha = document.getElementsByClassName('contact_form__captcha')[0];
const now = (new Date().getTime()/1000).toFixed(); const now = (new Date().getTime()/1000).toFixed();
const feedback = document.getElementsByClassName('contact_form__feedback')[0]; const feedback = document.getElementsByClassName('contact_form__feedback')[0];
window.addEventListener('DOMContentLoaded', function(event) {
let formData = new FormData();
formData.append('action', 'start_session');
fetch(ajaxUrl, {
method: 'POST',
mode: 'same-origin',
body: formData,
})
.then(response => response.json())
.then(json => {
console.log(json);
})
});
contact_form.addEventListener('submit', function(event) { contact_form.addEventListener('submit', function(event) {
event.preventDefault(); event.preventDefault();
let formData = new FormData(); let formData = new FormData();
formData.append('action', 'handle_form');
formData.append('subject', subject.value);
formData.append('message', message.value); formData.append('message', message.value);
formData.append('name', name.value); formData.append('name', name.value);
formData.append('email', email.value); formData.append('email', email.value);
formData.append('time_sent', now);
// If some bot entered some value, return. // If some bot entered some value, return.
if (typeof captcha.value == 'undefined') { if (typeof captcha.value == 'undefined') {
@ -26,13 +42,14 @@ contact_form.addEventListener('submit', function(event) {
fetch(ajaxUrl, { fetch(ajaxUrl, {
method: 'POST', method: 'POST',
mode:'same-origin', mode: 'same-origin',
body: formData, body: formData,
}) })
.then(response => response.json()) .then(response => response.json())
.then(json => { .then(json => {
console.log(json) console.log(json);
if (json.errors) { if (json.errors) {
feedback.classList.remove('--success');
feedback.classList.add('--error'); feedback.classList.add('--error');
// Über errors iterieren und diese ausgeben (evtl. nur ersten Fehler ausgeben?) // Über errors iterieren und diese ausgeben (evtl. nur ersten Fehler ausgeben?)
let error_message = ''; let error_message = '';
@ -53,6 +70,7 @@ contact_form.addEventListener('submit', function(event) {
}) })
feedback.innerHTML = error_message; feedback.innerHTML = error_message;
} else if (json.status == 'ok') { } else if (json.status == 'ok') {
feedback.classList.remove('--error');
feedback.classList.add('--success'); feedback.classList.add('--success');
feedback.textContent = "Ihre Nachricht wurde erfolgreich ans Office geschickt."; feedback.textContent = "Ihre Nachricht wurde erfolgreich ans Office geschickt.";
} }

View File

@ -1,7 +1,5 @@
<?php <?php
$message = ''; session_start();
$name = '';
$email = '';
function sanitize_text(string $name) { function sanitize_text(string $name) {
$text = filter_var($_POST[$name], FILTER_SANITIZE_FULL_SPECIAL_CHARS); $text = filter_var($_POST[$name], FILTER_SANITIZE_FULL_SPECIAL_CHARS);
@ -18,8 +16,17 @@ function sanitize_text(string $name) {
* mail(): Braucht auf dem Server einen korrekt konfigurierten Mailserver * mail(): Braucht auf dem Server einen korrekt konfigurierten Mailserver
* phpmailer: Bibliothek, der per Composer installiert wird. Tut ganz gut mit SMTP. * phpmailer: Bibliothek, der per Composer installiert wird. Tut ganz gut mit SMTP.
*/ */
function send_message_to_office($message, $name, $email) { function send_message_to_office($subject, $message, $name, $email) {
return true; return mail(
getenv('WTF_CONTACT_TO'),
$subject,
$name . "\r\n" . $message,
$additional_headers = array(
"From" => getenv('WTF_CONTACT_FROM'),
"Reply-To" => $email,
"Return-Path" => getenv('WTF_RETURN_PATH'),
),
);
} }
function send_response($response_data) { function send_response($response_data) {
@ -39,17 +46,20 @@ function send_response($response_data) {
echo $json; echo $json;
} }
if ($_SERVER["REQUEST_METHOD"] == "POST") { function prepare_response() {
$response = array(); $response = array();
if (empty($_POST['message'])) { if (empty($_POST['message'])) {
$response['errors'][] = 'Du hast keine Nachricht eingegeben.'; $response['errors'][] = 'Sieh haben keine Nachricht eingegeben.';
} }
if (empty($_POST['email'])) { if (empty($_POST['email'])) {
$response['errors'][] = 'Du hast keine E-Mail-Adresse eingegeben.'; $response['errors'][] = 'Sie haben keine E-Mail-Adresse eingegeben.';
} }
if (empty($_POST['name'])) { if (empty($_POST['name'])) {
$response['errors'][] = 'Du hast keinen Namen eingegeben.'; $response['errors'][] = 'Sie haben keinen Namen eingegeben.';
}
if (empty($_POST['subject'])) {
$response['errors'][] = 'Sie haben keinen Betreff eingegeben.';
} }
/** /**
* Idee zur Bot-Erkennung: * Idee zur Bot-Erkennung:
@ -59,23 +69,43 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
*/ */
if ( if (
$_POST['captcha'] != 'Nudelsuppe' or $_POST['captcha'] != 'Nudelsuppe' or
preg_match('/\d{10}/', $_POST['time_sent']) != 1 or time() - $_SESSION['start_time'] < 5 or
time() - intval($_POST['time_sent']) < 5 or time() - $_SESSION['start_time'] > 3600
time() - intval($_POST['time_sent']) > 3600
) { ) {
$response['errors'][] = 'Wir glauben du bist ein Bot.'; $response['errors'][] = 'Wir glauben Sie sind ein Bot.';
} }
if (!array_key_exists('errors', $response)) { if (!array_key_exists('errors', $response)) {
$subject = sanitize_text('subject');
$message = sanitize_text('message'); $message = sanitize_text('message');
$name = sanitize_text('name'); $name = sanitize_text('name');
$email = sanitize_text('email'); $email = sanitize_text('email');
if (!send_message_to_office($message, $name, $email)) { if (!send_message_to_office($subject, $message, $name, $email)) {
$response['errors'][] = 'Deine Nachricht konnte nicht übermittelt werden.'; $response['errors'][] = 'Ihre Nachricht konnte nicht übermittelt werden.';
} else { } else {
$response['status'] = 'ok'; $response['status'] = 'ok';
} }
} }
return $response;
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$response = array();
if (empty($_POST['action'])){
$response['errors'][] = 'Kann eigentlich nicht passieren :/';
} else {
if ($_POST['action'] == 'start_session') {
$_SESSION['start_time'] = time();
// $response['session_start_time'] = $_SESSION['start_time'];
// $response['session_id_before'] = session_id();
} elseif ($_POST['action'] == 'handle_form') {
$response = prepare_response();
session_destroy();
} else {
$response['errors'][] = 'Kann eigentlich auch nicht passieren :/';
}
}
send_response($response); send_response($response);
} else { } else {
http_response_code(404); http_response_code(404);

View File

@ -0,0 +1,51 @@
title: Was geht ab? (Juli 2022)
---
author: WTF Vorstand
---
body:
Hallo Genoss*in!
Anderthalb Jahre nach Genossenschaftsgründung haben sich am 18.06.2022 unsere Gründungsmitglieder, Vorstand und Aufsichtsrat erstmalig live und in Farbe zur gleichen Zeit am gleichen Ort getroffen natürlich stilecht in Hamburg!
Dort haben wir den aktuellen Stand der Genossenschaft sowie weitere Zukunftspläne und Ideen für neue Geschäftsfelder besprochen. Ein weiterer, für alle interessierten Mitglieder offener, Hybrid-Workshop soll am 24.-25.09.2022 folgen. Mehr Infos im Forum: https://forum.wtf-eg.de/t/interressiert-an-unserer-zukunft-bitte-den-24-25-september-blocken/716)
### Fazit Generalversammlung
Direkt am Wochenende darauf fand auch unsere Generalversammlung statt, die von unseren Mitgliedern genutzt wurde, sich über den Werdegang der WTF Kooperative eG zu informieren und einige bürokratische To Dos abzuhaken. Das Protokoll zu dieser Veranstaltung ist in Arbeit und wird allen Mitgliedern nach Fertigstellung zur Verfügung gestellt, sodass auch die nicht anwesenden Personen sich informiert halten können.
Es gab berechtigte Anmerkungen, dass die Terminplanung für diese Generalversammlung relativ kurzfristig war, sodass nicht alle, die gerne gewollt hätten, auch teilnehmen konnten. Daher schonmal als Ankündigung: Am 20.11.2022 wird voraussichtlich die nächste Generalversammlung zur (Neu- bzw. Wieder-) Wahl der Vorstände (und ihrer Stellvertreter) stattfinden.
### Kommunikationsgrund-sätze für das Forum
Um die Kommunikation untereinander angenehmer zu gestalten, haben wir eine Nutzungsregelung für das Forum veröffentlicht. Du findest sie hier: https://forum.wtf-eg.de/t/wir-stellen-vor-eine-nutzungsregelung-fuer-dieses-forum/681 und wir würden uns freuen, wenn alle sich Mühe geben, dass das Miteinander in der digitalen Kommunikation konstruktiv und zielführend bleibt.
### AGO-Treffen am 02.08.2022 um 20 Uhr
Auch in Sachen AGO geht es voran. Wir treffen uns am 02.08.2022 um 20 Uhr im Jitsi, um den ersten Entwurf (https://git.wtf-eg.de/wtf-eg/allgemeine_geschaeftsordnung/src/branch/main/AGO.md) weiter zu verfeinern.
Du bist herzlich eingeladen, dich an der Entwicklung unserer AGO zu beteiligen. Das Dokument regelt grundlegende Themen wie: Aufnahmeprozedere der Mitglieder, Überschussverteilung und Mitarbeiterbeteiligung, Übertragungen von Geschäftsanteilen, Grundlagen u.v.m. und kann auch auf Themen wie "Ethische Grundsätze der Genossenschaft" ausgeweitet werden. See you there!
### Barcamp local-it.org
Die Menschen des Local-IT e.V. veranstalten vom 11.-14.08.2022 ein Barcamp in 23909 Mechow (nahe Ratzeburg, ca. 1 h von Hamburg entfernt) und haben uns bzw. unsere Mitglieder zum gemeinsamen Werkeln und Ideen schmieden eingeladen.
Der Verein hat sich “Demokratie stärken, mit digitaler Souveränität und freier Software” auf die Fahne geschrieben. Wenn Du Interesse hast, vorbeizuschauen, findest Du mehr Infos dazu im Forum https://forum.wtf-eg.de/t/hamburg-barcamp-des-local-it-e-v-am-11-14-08-2022-in-mechow-externe-veranstaltung/721 bzw. auf der Website des Vereins https://local-it.org/do-it-local-barcamp/.
### BahnCard 100 zum Aktionspreis für alle unter 27 Jahren
Um die Anreise zu sommerlichen Veranstaltungen noch komfortabler zu gestalten, bietet die Deutsche Bahn für alle Menschen unter 27 Jahren die Möglichkeit, bis zum 30.09.2022 eine BahnCard 100 zu einem reduzierten Preis zu erwerben. Damit zahlst Du für 12 Monate 2.664 € (also 222 € pro Monat) statt 4.144 € und hast den Bahnverkehr innerhalb Deutschlands, sowie ÖPNV in über 130 Städten unkompliziert inclusive.
Eine Bestellung über die Genossenschaft kann nach Absprache erfolgen, Du kannst das Aktionsangebot aber auch unabhängig von der WTF Kooperative eG als Privatperson nutzen. Mehr Infos gibt es hier: https://www.bahn.de/angebot/bahncard/junge-reisende/bahncard100-aktion-u27
Ansonsten bleibt uns nur zu sagen: Genieß' den Sommer, bleib' schön gesund und immer eine kalte Mate bereithalten für die kommende Hitzewelle!
Genossenschaftliche Grüße
Deine WTF Kooperative eG
PS: Wenn Du keine Termine der WTF eG verpassen möchtest, abonniere doch unseren "WTF eG Interne Termine" Kalender https://work.wtf-eg.de/remote.php/dav/calendars/5468a190-1872-103b-8292-73b365a1b398/wtf-interne-termine_shared_by_wtf/
---
meta_description: Blogversion des Newsletters vom Juni 2022 mit einem Fazit zur Generalversammlung, Kommunikationsgrundsätze für das Forum, einem AGO-Treffen, einem Hinweis aufs Bar-Camp und ein Angebot für eine BahnCard 100 für Menschen unter 27
---
pub_date: 2022-07-19

View File

@ -8,9 +8,9 @@ body:
| | | | | | | |
| --: | -- | -- | | --: | -- | -- |
| **Satzung:** | | [wtf-satzung.pdf](/dokumente/wtf-satzung.pdf) | | **Satzung:** | &nbsp; | [wtf-satzung.pdf](/dokumente/wtf-satzung.pdf) |
| **Beitragsordnung:** | | [wtf-beitragsordnung.pdf](/dokumente/wtf-beitragsordnung.pdf) | | **Beitragsordnung:** | &nbsp; | [wtf-beitragsordnung.pdf](/dokumente/wtf-beitragsordnung.pdf) |
| **Beitrittserklärung:**| | [onboarding.wtf-eg.de](https://onboarding.wtf-eg.de) | | **Beitrittserklärung:**| &nbsp; | [onboarding.wtf-eg.de](https://onboarding.wtf-eg.de) |
<br/> <br/>

View File

@ -5,13 +5,13 @@ title: Satzung
body: body:
## WTF Kooperative eG ## WTF Kooperative eG
05. Dezember 2020 2022-06-26
## § 1 Name, Sitz, Zweck, Gegenstand ## § 1 Name, Sitz, Zweck, Gegenstand
(1) Der Name der Genossenschaft lautet: WTF Kooperative eG. Der Sitz der Genossenschaft ist Hamburg.<br> (1) Der Name der Genossenschaft lautet: WTF Kooperative eG. Der Sitz der Genossenschaft ist Hamburg.<br>
(2) Der Zweck der Genossenschaft ist die wirtschaftliche Förderung und Betreuung der Mitglieder.<br> (2) Der Zweck der Genossenschaft ist die wirtschaftliche Förderung und Betreuung der Mitglieder.<br>
(3) Gegenstand des Unternehmens sind Dienstleistungen, Werktätigkeiten und Handel mit Bezug zu Informationstechnologien. Durch deren gemeinsame genossenschaftliche Vermarktung sowie Abwicklung einschlägiger kaufmännischer Dienstleistungen für die Mitglieder wird die Wirtschaft der Mitglieder im Sinne von § 1 Abs. 1 GenG durch Synergieeekte gefördert.<br> (3) Gegenstand des Unternehmens sind Dienstleistungen, Werktätigkeiten und Handel mit Bezug zu Informationstechnologien. Durch deren gemeinsame genossenschaftliche Vermarktung sowie Abwicklung einschlägiger kaufmännischer Dienstleistungen für die Mitglieder wird die Wirtschaft der Mitglieder im Sinne von § 1 Abs. 1 GenG durch Synergieeffekte gefördert.<br>
(4) Die Genossenschaft ist berechtigt, alle Maßnahmen zu treen, die geeignet sind den Gesellschaftszweck zu fördern. Sie darf hierzu andere Unternehmen errichten und erwerben sowie sich an anderen Unternehmen beteiligen. Sie ist ferner berechtigt, Zweigniederlassungen zu errichten.<br> (4) Die Genossenschaft ist berechtigt, alle Maßnahmen zu treffen, die geeignet sind den Gesellschaftszweck zu fördern. Sie darf hierzu andere Unternehmen errichten und erwerben sowie sich an anderen Unternehmen beteiligen. Sie ist ferner berechtigt, Zweigniederlassungen zu errichten.<br>
(5) Zur Erfüllung der genossenschaftlichen Aufgaben kann sie sich der Hilfe sachverständiger Dritter bedienen.<br> (5) Zur Erfüllung der genossenschaftlichen Aufgaben kann sie sich der Hilfe sachverständiger Dritter bedienen.<br>
(6) Geschäfte mit Nichtmitgliedern sind zulässig.<br> (6) Geschäfte mit Nichtmitgliedern sind zulässig.<br>
@ -19,7 +19,7 @@ body:
(1) Zum Erwerb der Mitgliedschaft bedarf es einer unbedingten schriftlichen Beitrittserklärung. Die Mitgliedschaft können erwerben: (1) Zum Erwerb der Mitgliedschaft bedarf es einer unbedingten schriftlichen Beitrittserklärung. Die Mitgliedschaft können erwerben:
- a) natürliche Personen, - a) natürliche Personen,
- b) Personengesellschaften, - b) Personengesellschaften,
- c) juristische Personen des privaten oder öentlichen Rechts. - c) juristische Personen des privaten oder öffentlichen Rechts.
(2) Über die Aufnahme in die Genossenschaft entscheidet der Vorstand.<br> (2) Über die Aufnahme in die Genossenschaft entscheidet der Vorstand.<br>
(3) Die Mitgliedschaft endet durch (3) Die Mitgliedschaft endet durch
@ -27,14 +27,14 @@ body:
- b) Übertragung des gesamten Geschäftsguthabens, - b) Übertragung des gesamten Geschäftsguthabens,
- c) Tod eines Mitglieds, - c) Tod eines Mitglieds,
- d) Insolvenz eines Mitglieds, - d) Insolvenz eines Mitglieds,
- e) Auösung einer juristischen Person oder einer Personengesellschaft, - e) Auflösung einer juristischen Person oder einer Personengesellschaft,
- f) Ausschluss. - f) Ausschluss.
(4) Jedes Mitglied hat die Pflicht, das genossenschaftliche Unternehmen nach Kräften zu (4) Jedes Mitglied hat die Pflicht, das genossenschaftliche Unternehmen nach Kräften zu
unterstützen und die Interessen der Genossenschaft zu wahren. Ebenso ist jedes Mitglied unterstützen und die Interessen der Genossenschaft zu wahren. Ebenso ist jedes Mitglied
verpflichtet, Adressenänderungen innerhalb von drei Wochen dem Vorstand mitzuteilen. verpflichtet, Adressenänderungen innerhalb von drei Wochen dem Vorstand mitzuteilen.
## § 3 Geschäftsanteil, Zahlungen, Rücklagen, Nachschusspicht, Rückvergütung, Verjährung, Mindestkapital ## § 3 Geschäftsanteil, Zahlungen, Rücklagen, Nachschusspflicht, Rückvergütung, Verjährung, Mindestkapital
(1) Ein Geschäftsanteil beträgt 100,- €. Er ist unverzüglich in voller Höhe einzuzahlen.<br> (1) Ein Geschäftsanteil beträgt 100,- €. Er ist unverzüglich in voller Höhe einzuzahlen.<br>
(2) Ein Mitglied kann mehrere Geschäftsanteile übernehmen. Die Gesamtzahl der Geschäftsanteile je Mitglied soll 100 Anteile nicht überschreiten.<br> (2) Ein Mitglied kann mehrere Geschäftsanteile übernehmen. Die Gesamtzahl der Geschäftsanteile je Mitglied soll 100 Anteile nicht überschreiten.<br>
(3) Mit Beitritt ist ein Eintrittsgeld/Agio zu leisten, welches den Rücklagen zuzuführen ist. Höhe und Fälligkeit beschließt die Generalversammlung.<br> (3) Mit Beitritt ist ein Eintrittsgeld/Agio zu leisten, welches den Rücklagen zuzuführen ist. Höhe und Fälligkeit beschließt die Generalversammlung.<br>
@ -53,7 +53,7 @@ verpflichtet, Adressenänderungen innerhalb von drei Wochen dem Vorstand mitzute
(9) Beschlüsse werden gem. § 47 GenG protokolliert. (9) Beschlüsse werden gem. § 47 GenG protokolliert.
## § 5 Aufsichtsrat ## § 5 Aufsichtsrat
(1) Sofern ein Aufsichtsrat bestellt wird, besteht dieser aus zumindest drei Mitgliedern; er überwacht die Geschäftsführung des Vorstands und ist verpichtet, sich zu diesem Zweck über die Angelegenheiten der Genossenschaft zu unterrichten. Er kann jederzeit hierüber Berichterstattung vom Vorstand verlangen. Auch ein einzelnes Mitglied des Aufsichtsrats kann Auskünfte, jedoch nur an den Aufsichtsrat insgesamt, verlangen.<br> (1) Sofern ein Aufsichtsrat bestellt wird, besteht dieser aus zumindest drei Mitgliedern; er überwacht die Geschäftsführung des Vorstands und ist verpflichtet, sich zu diesem Zweck über die Angelegenheiten der Genossenschaft zu unterrichten. Er kann jederzeit hierüber Berichterstattung vom Vorstand verlangen. Auch ein einzelnes Mitglied des Aufsichtsrats kann Auskünfte, jedoch nur an den Aufsichtsrat insgesamt, verlangen.<br>
(2) Der Aufsichtsrat prüft den Jahresabschluss, den Lagebericht, soweit dieser gesetzlich erforderlich ist, und den Vorschlag des Vorstands für die Verwendung eines Jahresüberschusses oder für die Deckung eines Jahresfehlbetrags. Er hat sich darüber zu äußern und der Generalversammlung vor Feststellung des Jahresabschlusses Bericht zu erstatten. Jedes Mitglied des Aufsichtsrates hat den Inhalt des Prüfungsberichts zur Kenntnis zu nehmen.<br> (2) Der Aufsichtsrat prüft den Jahresabschluss, den Lagebericht, soweit dieser gesetzlich erforderlich ist, und den Vorschlag des Vorstands für die Verwendung eines Jahresüberschusses oder für die Deckung eines Jahresfehlbetrags. Er hat sich darüber zu äußern und der Generalversammlung vor Feststellung des Jahresabschlusses Bericht zu erstatten. Jedes Mitglied des Aufsichtsrates hat den Inhalt des Prüfungsberichts zur Kenntnis zu nehmen.<br>
(3) Einzelheiten über die Erfüllung der dem Aufsichtsrat obliegenden Pflichten regelt die vom Aufsichtsrat aufzustellende Geschäftsordnung. Ein Exemplar der Geschäftsordnung ist jedem Mitglied des Aufsichtsrats gegen Empfangsbestätigung auszuhändigen.<br> (3) Einzelheiten über die Erfüllung der dem Aufsichtsrat obliegenden Pflichten regelt die vom Aufsichtsrat aufzustellende Geschäftsordnung. Ein Exemplar der Geschäftsordnung ist jedem Mitglied des Aufsichtsrats gegen Empfangsbestätigung auszuhändigen.<br>
(4) Über eine größere Mitgliederzahl des Aufsichtsrats entscheidet die Generalversammlung. Der Aufsichtsrat ist beschlussfähig, wenn die Mehrheit seiner Mitglieder an der Abstimmung teilnimmt. Der Aufsichtsrat kann schriftlich, in Textform, telefonisch und auf elektronischem Wege Beschlüsse fassen.<br> (4) Über eine größere Mitgliederzahl des Aufsichtsrats entscheidet die Generalversammlung. Der Aufsichtsrat ist beschlussfähig, wenn die Mehrheit seiner Mitglieder an der Abstimmung teilnimmt. Der Aufsichtsrat kann schriftlich, in Textform, telefonisch und auf elektronischem Wege Beschlüsse fassen.<br>
@ -61,20 +61,20 @@ verpflichtet, Adressenänderungen innerhalb von drei Wochen dem Vorstand mitzute
(6) Der Aufsichtsrat kann jederzeit Mitglieder des Vorstandes mit einfacher Mehrheit abwählen. (6) Der Aufsichtsrat kann jederzeit Mitglieder des Vorstandes mit einfacher Mehrheit abwählen.
## § 6 Vorstand ## § 6 Vorstand
(1) Der Vorstand besteht aus mindestens zwei Mitgliedern; er leitet die Genossenschaft in eigener Verantwortung. Der Aufsichtsrat wählt die Mitglieder des Vorstands und gegebenenfalls deren Stellvertreter und bestimmt ihre Amtszeit. Wenn kein Aufsichtsrat bestellt ist, übernimmt die Generalversammlung dies.<br> (1) Der Vorstand besteht aus mindestens zwei Mitgliedern. Der Vorstand leitet die Genossenschaft in eigener Verantwortung. Der Aufsichtsrat wählt im Falle des Ausscheidens eines aktiven Vorstandsmitgliedes einen neuen Vorstand aus den von der Generalversammlung gewählten Stellvertretern. Wenn kein Aufsichtsrat bestellt ist, übernimmt die Generalversammlung dies.<br>
(2) Der Vorstand führt die Geschäfte der Genossenschaft gemäß den Vorschriften der Gesetze, insbesondere des Genossenschaftsgesetzes, der Satzung und der Allgemeinen Geschäftsordnung.<br> (2) Der Vorstand führt die Geschäfte der Genossenschaft gemäß den Vorschriften der Gesetze, insbesondere des Genossenschaftsgesetzes, der Satzung und der Allgemeinen Geschäftsordnung.<br>
(3) Der Vorstand vertritt die Genossenschaft gerichtlich und außergerichtlich. Die Mitglieder des Vorstands sind einzeln zur Vertretung berechtigt. (3) Der Vorstand vertritt die Genossenschaft gerichtlich und außergerichtlich. Die Mitglieder des Vorstands sind einzeln zur Vertretung berechtigt.
(4) Der Vorstand kann schriftlich, in Textform, telefonisch und auf elektronischem Wege Beschlüsse fassen.<br> (4) Der Vorstand kann schriftlich, in Textform, telefonisch und auf elektronischem Wege Beschlüsse fassen.<br>
(5) Dienstverträge mit Vorstandsmitgliedern werden vom Aufsichtsrat im Rahmen der Richtlinien der Generalversammlung und der Allgemeinen Geschäftsordnung abgeschlossen.<br> (5) Dienstverträge mit Vorstandsmitgliedern werden vom Aufsichtsrat im Rahmen der Richtlinien der Generalversammlung und der Allgemeinen Geschäftsordnung abgeschlossen.<br>
## § 7 Pichten, Kündigung, Ausschluss, Auseinandersetzung ## § 7 Pflichten, Kündigung, Ausschluss, Auseinandersetzung
(1) Die Mitglieder sind verpichtet, der Genossenschaft ihre Anschrift mitzuteilen.<br> (1) Die Mitglieder sind verpflichtet, der Genossenschaft ihre Anschrift mitzuteilen.<br>
(2) Jedes Mitglied kann seine Mitgliedschaft zum Schluss eines Geschäftsjahres unter Einhaltung einer Frist von drei Monaten schriftlich kündigen.<br> (2) Jedes Mitglied kann seine Mitgliedschaft zum Schluss eines Geschäftsjahres unter Einhaltung einer Frist von drei Monaten schriftlich kündigen.<br>
(3) Soweit ein Mitglied mit mehreren Geschäftsanteilen beteiligt ist, ohne hierzu durch die Satzung, die Allgemeine Geschäftsordnung oder eine Vereinbarung mit der Genossenschaft verpichtet zu sein, kann es schriftlich einen oder mehrere Geschäftsanteile seiner zusätzlichen Beteiligung zum Schluss eines Geschäftsjahres unter Einhaltung einer Frist von drei Monaten kündigen.<br> (3) Soweit ein Mitglied mit mehreren Geschäftsanteilen beteiligt ist, ohne hierzu durch die Satzung, die Allgemeine Geschäftsordnung oder eine Vereinbarung mit der Genossenschaft verpflichtet zu sein, kann es schriftlich einen oder mehrere Geschäftsanteile seiner zusätzlichen Beteiligung zum Schluss eines Geschäftsjahres unter Einhaltung einer Frist von drei Monaten kündigen.<br>
(4) Die Übertragung des Geschäftsguthabens bedarf außer in den Fällen § 76 Abs. 2 GenG der Zustimmung des Vorstands.<br> (4) Die Übertragung des Geschäftsguthabens bedarf außer in den Fällen § 76 Abs. 2 GenG der Zustimmung des Vorstands.<br>
(5) Mitglieder, deren Verhalten mit den Belangen oder Interessen der Genossenschaft nicht vereinbar ist, können ausgeschlossen werden. Dies gilt insbesondere, wenn (5) Mitglieder, deren Verhalten mit den Belangen oder Interessen der Genossenschaft nicht vereinbar ist, können ausgeschlossen werden. Dies gilt insbesondere, wenn
- a) das Mitglied durch Nichterfüllung seiner Verpflichtungen gegenüber der Genossenschaft diese schädigt oder geschädigt hat; - a) das Mitglied durch Nichterfüllung seiner Verpflichtungen gegenüber der Genossenschaft diese schädigt oder geschädigt hat;
- b) es trotz schriftlicher Aufforderung unter Androhung des Ausschlusses den satzungsmäßigen oder sonstigen der Genossenschaft gegenüber bestehenden Verpfichtungen nicht nachkommt; - b) es trotz schriftlicher Aufforderung unter Androhung des Ausschlusses den satzungsmäßigen oder sonstigen der Genossenschaft gegenüber bestehenden Verpflichtungen nicht nachkommt;
- c) es unrichtige Jahresabschlüsse oder Vermögensübersichten einreicht oder sonst unrichtige oder unvollständige Erklärungen über seine rechtlichen und/oder wirtschaftlichen Verhältnisse abgibt; - c) es unrichtige Jahresabschlüsse oder Vermögensübersichten einreicht oder sonst unrichtige oder unvollständige Erklärungen über seine rechtlichen und/oder wirtschaftlichen Verhältnisse abgibt;
- d) es zahlungsunfähig geworden oder überschuldet ist oder wenn über sein Vermögen ein Antrag auf Eröffnung eines Insolvenzverfahrens gestellt wurde. - d) es zahlungsunfähig geworden oder überschuldet ist oder wenn über sein Vermögen ein Antrag auf Eröffnung eines Insolvenzverfahrens gestellt wurde.
- e) es seinen Geschäftsbetrieb, Sitz oder Wohnsitz verlegt, ohne den Vorstand über die geänderte Anschrift zu informieren, oder wenn sein dauernder Aufenthaltsort unbekannt ist; - e) es seinen Geschäftsbetrieb, Sitz oder Wohnsitz verlegt, ohne den Vorstand über die geänderte Anschrift zu informieren, oder wenn sein dauernder Aufenthaltsort unbekannt ist;
@ -103,4 +103,3 @@ verpflichtet, Adressenänderungen innerhalb von drei Wochen dem Vorstand mitzute
## § 10 Bekanntmachungen ## § 10 Bekanntmachungen
Bekanntmachungen der Genossenschaft erfolgen auf deren Internetseite und in den GenoNachrichten als unabhängiger Informationsplattform für das Genossenschaftswesen. Bekanntmachungen der Genossenschaft erfolgen auf deren Internetseite und in den GenoNachrichten als unabhängiger Informationsplattform für das Genossenschaftswesen.
Hamburg, 05.12.2020

View File

@ -25,6 +25,10 @@
Deine E-Mail-Adresse wird nicht veröffentlicht.<br> Deine E-Mail-Adresse wird nicht veröffentlicht.<br>
<span aria-hidden="true">Erforderliche Felder sind gekennzeichnet <span class="contact_form--required" aria-hidden="true">*</span></span> <span aria-hidden="true">Erforderliche Felder sind gekennzeichnet <span class="contact_form--required" aria-hidden="true">*</span></span>
</p> </p>
<p class="contact_form__text_input">
<label for="name">Betreff <span class="contact_form--required" aria-hidden="true">*</span></label>
<input id="name" class="contact_form__subject" name="subject" type="text" value="" size="30" maxlength="245" required />
</p>
<p class="contact_form__textarea"> <p class="contact_form__textarea">
<label for="message">Nachricht <span class="contact_form--required" aria-hidden="true">*</span></label> <label for="message">Nachricht <span class="contact_form--required" aria-hidden="true">*</span></label>
<textarea id="message" class="contact_form__message" aria-label="message" aria-hidden="true" cols="65" rows="7" name="message" required></textarea> <textarea id="message" class="contact_form__message" aria-label="message" aria-hidden="true" cols="65" rows="7" name="message" required></textarea>