Merge pull request #1737 from emanuelschuetze/motion-csv-import
Add motion csv import (Fixes #1675)
This commit is contained in:
commit
37cd431aa9
@ -11,7 +11,7 @@
|
||||
"angular-animate": "~1.4.7",
|
||||
"angular-sanitize": "~1.4.7",
|
||||
"angular-bootstrap": "~0.14.3",
|
||||
"angular-csv-import": "~0.0.26",
|
||||
"angular-csv-import": "~0.0.27",
|
||||
"angular-formly-templates-bootstrap": "~6.1.5",
|
||||
"angular-formly": "~7.3.2",
|
||||
"angular-loading-bar": "~0.8.0",
|
||||
|
@ -1,28 +1,16 @@
|
||||
"Bezeichner";"Titel";"Text";"Begründung";"Antragsteller";"Sachgebiet"
|
||||
1;"Entlastung des Vorstandes";"Die Versammlung möge beschließen, den Vorstand für seine letzte Legislaturperiode zu entlasten.";"Bericht erfolgt mündlich.";"Vorstand";
|
||||
"SA 1";"Satzungsänderung § 2 Abs. 3";"<p>Die Versammlung möge beschließen, die Satzung in § 2 Abs. 3 wie folgt zu ändern:</p>
|
||||
<p>Es wird vor dem Wort ""Zweck"" das Wort ""gemeinnütziger"" eingefügt.</p>";"Die Änderung der Satzung ist aufgrund der letzten Erfahrungen eine sinnvolle Maßnahme, weil ...";"Harry Holland";"Satzungsanträge"
|
||||
"SA 2";"Einführung von elektronischen Abstimmungen mit OpenSlides";"Die Versammlung möge beschließen, die Satzung so zu ändern, dass öffentliche Abstimmungen künftig elektronisch mit OpenSlides durchgeführt werden können.";"Elektronische Abstimmungen beschleunigen den Ablauf. OpenSlides wird bereits bei uns eingesetzt und bietet ein zusätzliches Plugin, um mit Keypads für jeden Teilnehmer elektronisch abzustimmen. Die Ergebnisse werden direkt in OpenSlides gespeichert. Details gibts über den professional Support auf http://openslides.org.";"Dr. Max Mustermann";"Satzungsanträge"
|
||||
"B 1";"Bildungspolitik 1 (HTML)";"<p><b>Lorem ipsum</b> dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
|
||||
<p>List:</p>
|
||||
<ul><li>a</li><li>b</li><li>c</li></ul>
|
||||
<p>Onec <i>pede</i> just</p>
|
||||
<pre>0 1 2 3
|
||||
4 5 6 7</pre>
|
||||
<p>Bringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus.</p>
|
||||
<p>Aenean leo ligula, porttitor eu, <u>consequat</u> vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.</p>";"<p>Nam eget dui.</p>
|
||||
identifier,title,text,reason,submitter,category
|
||||
1,Entlastung des Vorstandes,"Die Versammlung möge beschließen, den Vorstand für seine letzte Legislaturperiode zu entlasten.",Bericht erfolgt mündlich.,Vorstand,
|
||||
SA 1,Satzungsänderung § 2 Abs. 3,"<p>Die Versammlung möge beschließen, die Satzung in § 2 Abs. 3 wie folgt zu ändern:</p>
|
||||
<p>Es wird vor dem Wort ""Zweck"" das Wort ""gemeinnütziger"" eingefügt.</p>","Die Änderung der Satzung ist aufgrund der letzten Erfahrungen eine sinnvolle Maßnahme, weil ...",Harry Holland,Satzungsanträge
|
||||
SA 2,Einführung von elektronischen Abstimmungen mit OpenSlides,"Die Versammlung möge beschließen, die Satzung so zu ändern, dass öffentliche Abstimmungen künftig elektronisch mit OpenSlides durchgeführt werden können.","Elektronische Abstimmungen beschleunigen den Ablauf. OpenSlides wird bereits bei uns eingesetzt und bietet ein zusätzliches Plugin, um mit Keypads für jeden Teilnehmer elektronisch abzustimmen. Die Ergebnisse werden direkt in OpenSlides gespeichert. Details gibts über den professional Support auf http://openslides.org.",Dr. Max Mustermann,Satzungsanträge
|
||||
B 1,Bildungspolitik 1 (HTML),"<p><b>Lorem ipsum</b> dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
|
||||
<p>Ende.</p>","<p>Nam eget dui.</p>
|
||||
<ol><li>Etiam rhoncus.</li><li>Maecenas tempus</li><li>tellus eget condimentum rhoncus</li></ol>
|
||||
<p>Sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna.</p>";"Gipsz Jakab";"Bildung"
|
||||
"B 2";"Bildungspolitik 2 (Plain)";"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.";"Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.";"Fred Nurk";"Bildung"
|
||||
"N 1";"OpenSlides für alle";"<p>Sed ut perspiciatis <b>unde omnis iste natus</b> error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
|
||||
|
||||
<p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</p>
|
||||
|
||||
<p>Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?</p>";"www.openslides.org";"John Doe";"Netzpolitik"
|
||||
"W 1";"Antrag zur Wirtschaftspolitik";"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.";"But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?";"Mario Rossi";"Wirtschaft"
|
||||
"W 2";"Finanzen";"Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.";;"Otto Normalverbraucher";"Wirtschaft"
|
||||
;"Soziale Fragen";"<p>The quick, brown fox jumps over a lazy dog. DJs flock by when MTV ax quiz prog. Junk MTV quiz graced by fox whelps. Bawds jog, flick quartz, vex nymphs. Waltz, bad nymph, for quick jigs vex! Fox nymphs grab quick-jived waltz. Brick quiz whangs jumpy veldt fox. Bright vixens jump; dozy fowl quack.</p>
|
||||
|
||||
<p>Quick <b>wafting</b> zephyrs vex bold Jim. Quick zephyrs blow, vexing daft Jim. Sex-charged fop blew my junk TV quiz. How quickly daft jumping zebras vex. Two driven jocks help fax my big quiz. Quick, Baz, get my woven flax jodhpurs! ""Now fax quiz Jack! "" my brave ghost pled.</p>";;"Otto Normalverbraucher";"Soziales"
|
||||
;"Umweltpolitischer Leitantrag";"Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.";"Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pro.";"Harry Holland";"Umwelt"
|
||||
"B 3";"Bildung stärken";"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.";;"Morten Meinigmand";"Bildung"
|
||||
<p>Sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna.</p>",Gipsz Jakab,Bildung
|
||||
B 2,Bildungspolitik 2 (Plain),"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.","Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.",Fred Nurk,Bildung
|
||||
N 1,OpenSlides für alle,"Sed ut perspiciatis <b>unde omnis iste natus</b> error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.",www.openslides.org,John Doe,Netzpolitik
|
||||
W 1,Antrag zur Wirtschaftspolitik,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.","But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?",Mario Rossi,Wirtschaft
|
||||
W 2,Finanzen,"Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.",,Otto Normalverbraucher,Wirtschaft
|
||||
,Soziale Fragen,"The quick, brown fox jumps over a lazy dog. DJs flock by when MTV ax quiz prog. Junk MTV quiz graced by fox whelps. Bawds jog, flick quartz, vex nymphs. Waltz, bad nymph, for quick jigs vex! Fox nymphs grab quick-jived waltz. Brick quiz whangs jumpy veldt fox. Bright vixens jump; dozy fowl quack.",,Otto Normalverbraucher,Soziales
|
||||
,Umweltpolitischer Leitantrag,"Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.","Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pro.",Harry Holland,Umwelt
|
||||
B 3,Bildung stärken,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.",,Morten Meinigmand,Bildung
|
||||
|
|
@ -1,29 +1,16 @@
|
||||
"Identifier";"Title";"Text";"Reason";"Submitter";"Category"
|
||||
1;"Discharge of the Executive Board";"The assembly may decide: discharge the Executive Board.";"Report will be oral.";"Executive board";
|
||||
"SA 1";"Statutory change § 2 Abs. 3";"<p>The assembly may decide: change statue § 2, 3 as follows:</p>
|
||||
<p>It is inserted the word ""profit"" before the word ""purpose"".</p>";"
|
||||
The changes of the articles is based on the last experience a meaningful measure because ...";"Harry Holland";"Statute"
|
||||
"SA 2";"Introduction of electronic voting OpenSlides";"The Assembly may decide to amend the statute so that public votings can be conducted electronically with OpenSlides.";"Electronic votings increase the speed of meetings. OpenSlides is already used by us and offers an additional plugin to vote electronically with keypads for each participant. The results are stored directly in OpenSlides. See details about the professional support to http://openslides.org.";"Dr. Max Mustermann";"Statute"
|
||||
"B 1";"Educational policy 1 (HTML)";"<p><b>Lorem ipsum</b> dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
|
||||
<p>List:</p>
|
||||
<ul><li>a</li><li>b</li><li>c</li></ul>
|
||||
<p>Onec <i>pede</i> just</p>
|
||||
<pre>0 1 2 3
|
||||
4 5 6 7</pre>
|
||||
<p>Bringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus.</p>
|
||||
<p>Aenean leo ligula, porttitor eu, <u>consequat</u> vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus. Phasellus viverra nulla ut metus varius laoreet. Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.</p>";"<p>Nam eget dui.</p>
|
||||
identifier,title,text,reason,submitter,category
|
||||
1,Discharge of the Executive Board,The assembly may decide: discharge the Executive Board.,Report will be oral.,Executive board,
|
||||
SA 1,Statutory change § 2 Abs. 3,"The assembly may decide: change statue § 2, 3 as follows: It is inserted the word ""profit"" before the word ""purpose"".","
|
||||
The changes of the articles is based on the last experience a meaningful measure because ...",Harry Holland,Statute
|
||||
SA 2,Introduction of electronic voting OpenSlides,The Assembly may decide to amend the statute so that public votings can be conducted electronically with OpenSlides.,Electronic votings increase the speed of meetings. OpenSlides is already used by us and offers an additional plugin to vote electronically with keypads for each participant. The results are stored directly in OpenSlides. See details about the professional support to http://openslides.org.,Dr. Max Mustermann,Statute
|
||||
B 1,Educational policy 1 (HTML),"<p><b>Lorem ipsum</b> dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.</p>
|
||||
<p>End.</p>","<p>Nam eget dui.</p>
|
||||
<ol><li>Etiam rhoncus.</li><li>Maecenas tempus</li><li>tellus eget condimentum rhoncus</li></ol>
|
||||
<p>Sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna.</p>";"Gipsz Jakab";"Education"
|
||||
"B 2";"Educational policy 2 (Plain)";"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.";"Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.";"Fred Nurk";"Education"
|
||||
"N 1";"OpenSlides for everyone";"<p>Sed ut perspiciatis <b>unde omnis iste natus</b> error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.</p>
|
||||
|
||||
<p>Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</p>
|
||||
|
||||
<p>Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur?</p>";"www.openslides.org";"John Doe";"Network policy"
|
||||
"W 1";"Motion about economic policy";"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.";"But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?";"Mario Rossi";"Economy"
|
||||
"W 2";"Finances";"Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.";;"Otto Normalverbraucher";"Economy"
|
||||
;"Social issues";"<p>The quick, brown fox jumps over a lazy dog. DJs flock by when MTV ax quiz prog. Junk MTV quiz graced by fox whelps. Bawds jog, flick quartz, vex nymphs. Waltz, bad nymph, for quick jigs vex! Fox nymphs grab quick-jived waltz. Brick quiz whangs jumpy veldt fox. Bright vixens jump; dozy fowl quack.</p>
|
||||
|
||||
<p>Quick <b>wafting</b> zephyrs vex bold Jim. Quick zephyrs blow, vexing daft Jim. Sex-charged fop blew my junk TV quiz. How quickly daft jumping zebras vex. Two driven jocks help fax my big quiz. Quick, Baz, get my woven flax jodhpurs! ""Now fax quiz Jack! "" my brave ghost pled.</p>";;"Otto Normalverbraucher";"Social"
|
||||
;"Environmental executive report ";"Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.";"Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pro.";"Harry Holland";"Environment"
|
||||
"B 3";"Strengthen education";"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.";;"Morten Meinigmand";"Education"
|
||||
<p>Sem quam semper libero, sit amet adipiscing sem neque sed ipsum. Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus. Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt. Duis leo. Sed fringilla mauris sit amet nibh. Donec sodales sagittis magna.</p>",Gipsz Jakab,Education
|
||||
B 2,Educational policy 2 (Plain),"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.","Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium.",Fred Nurk,Education
|
||||
N 1,OpenSlides for everyone,"Sed ut perspiciatis <b>unde omnis iste natus</b> error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.",www.openslides.org,John Doe,Network policy
|
||||
W 1,Motion about economic policy,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.","But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure?",Mario Rossi,Economy
|
||||
W 2,Finances,"Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.",,Otto Normalverbraucher,Economy
|
||||
,Social issues,"The quick, brown fox jumps over a lazy dog. DJs flock by when MTV ax quiz prog. Junk MTV quiz graced by fox whelps. Bawds jog, flick quartz, vex nymphs. Waltz, bad nymph, for quick jigs vex! Fox nymphs grab quick-jived waltz. Brick quiz whangs jumpy veldt fox. Bright vixens jump; dozy fowl quack.",,Otto Normalverbraucher,Social
|
||||
,Environmental executive report ,"Li Europan lingues es membres del sam familie. Lor separat existentie es un myth. Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pronunciation e li plu commun vocabules. Omnicos directe al desirabilite de un nov lingua franca: On refusa continuar payar custosi traductores.","Por scientie, musica, sport etc, litot Europa usa li sam vocabular. Li lingues differe solmen in li grammatica, li pro.",Harry Holland,Environment
|
||||
B 3,Strengthen education,"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.",,Morten Meinigmand,Education
|
||||
|
|
@ -276,10 +276,9 @@ angular.module('OpenSlidesApp.agenda.site', ['OpenSlidesApp.agenda'])
|
||||
|
||||
.controller('AgendaImportCtrl', [
|
||||
'$scope',
|
||||
'$state',
|
||||
'Agenda',
|
||||
'Customslide',
|
||||
function($scope, $state, Agenda, Customslide) {
|
||||
function($scope, Agenda, Customslide) {
|
||||
// import from textarea
|
||||
$scope.importByLine = function () {
|
||||
$scope.items = $scope.itemlist[0].split("\n");
|
||||
|
@ -47,6 +47,11 @@ h3 {
|
||||
padding-bottom: 14px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 18px;
|
||||
color: #222;
|
||||
}
|
||||
|
||||
|
||||
p {
|
||||
padding-bottom: 14px;
|
||||
@ -621,6 +626,24 @@ img {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
/* for angular-csv-import form */
|
||||
.import {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.import .label {
|
||||
color: #333 !important;
|
||||
font-size: 100%;
|
||||
font-weight: normal;
|
||||
width: 100px;
|
||||
text-align: left;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.import .label::after {
|
||||
content: ': ';
|
||||
}
|
||||
|
||||
/* voting results */
|
||||
.result_label {
|
||||
margin-top: 5px;
|
||||
@ -639,6 +662,7 @@ img {
|
||||
padding: 0 10px 10px 10px;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
#chatbox-text {
|
||||
overflow-y: scroll;
|
||||
height: 190px;
|
||||
|
@ -75,9 +75,20 @@ angular.module('OpenSlidesApp.motions.site', ['OpenSlidesApp.motions'])
|
||||
});
|
||||
}]
|
||||
})
|
||||
.state('motions.motion.csv-import', {
|
||||
url: '/csv-import',
|
||||
controller: 'MotionCSVImportCtrl',
|
||||
.state('motions.motion.import', {
|
||||
url: '/import',
|
||||
controller: 'MotionImportCtrl',
|
||||
resolve: {
|
||||
motions: function(Motion) {
|
||||
return Motion.findAll();
|
||||
},
|
||||
categories: function(Category) {
|
||||
return Category.findAll();
|
||||
},
|
||||
users: function(User) {
|
||||
return User.findAll();
|
||||
}
|
||||
}
|
||||
})
|
||||
// categories
|
||||
.state('motions.category', {
|
||||
@ -560,9 +571,160 @@ angular.module('OpenSlidesApp.motions.site', ['OpenSlidesApp.motions'])
|
||||
}
|
||||
])
|
||||
|
||||
.controller('MotionCSVImportCtrl', function($scope, Motion) {
|
||||
// TODO
|
||||
})
|
||||
.controller('MotionImportCtrl', [
|
||||
'$scope',
|
||||
'gettext',
|
||||
'Category',
|
||||
'Motion',
|
||||
'User',
|
||||
function($scope, gettext, Category, Motion, User) {
|
||||
// set initial data for csv import
|
||||
$scope.motions = []
|
||||
$scope.separator = ',';
|
||||
$scope.encoding = 'UTF-8';
|
||||
$scope.encodingOptions = ['UTF-8', 'ISO-8859-1'];
|
||||
$scope.csv = {
|
||||
content: null,
|
||||
header: true,
|
||||
headerVisible: false,
|
||||
separator: $scope.separator,
|
||||
separatorVisible: false,
|
||||
encoding: $scope.encoding,
|
||||
encodingVisible: false,
|
||||
result: null
|
||||
};
|
||||
// set csv file encoding
|
||||
$scope.setEncoding = function () {
|
||||
$scope.csv.encoding = $scope.encoding;
|
||||
};
|
||||
// set csv file encoding
|
||||
$scope.setSeparator = function () {
|
||||
$scope.csv.separator = $scope.separator;
|
||||
};
|
||||
// detect if csv file is loaded
|
||||
$scope.$watch('csv.result', function () {
|
||||
$scope.motions = [];
|
||||
var quotionRe = /^"(.*)"$/;
|
||||
angular.forEach($scope.csv.result, function (motion) {
|
||||
if (motion.identifier) {
|
||||
motion.identifier = motion.identifier.replace(quotionRe, '$1');
|
||||
if (motion.identifier != '') {
|
||||
// All motion objects are already loaded via the resolve statement from ui-router.
|
||||
var motions = Motion.getAll();
|
||||
if (_.find(motions, function (item) {
|
||||
return item.identifier == motion.identifier;
|
||||
})) {
|
||||
motion.importerror = true;
|
||||
motion.identifier_error = gettext('Error: Identifier already exists.');
|
||||
}
|
||||
}
|
||||
}
|
||||
// title
|
||||
if (motion.title) {
|
||||
motion.title = motion.title.replace(quotionRe, '$1');
|
||||
}
|
||||
if (!motion.title) {
|
||||
motion.importerror = true;
|
||||
motion.title_error = gettext('Error: Title is required.');
|
||||
}
|
||||
// text
|
||||
if (motion.text) {
|
||||
motion.text = motion.text.replace(quotionRe, '$1');
|
||||
}
|
||||
if (!motion.text) {
|
||||
motion.importerror = true;
|
||||
motion.text_error = gettext('Error: Text is required.');
|
||||
}
|
||||
// reason
|
||||
if (motion.reason) {
|
||||
motion.reason = motion.reason.replace(quotionRe, '$1');
|
||||
}
|
||||
// submitter
|
||||
if (motion.submitter) {
|
||||
motion.submitter = motion.submitter.replace(quotionRe, '$1');
|
||||
if (motion.submitter != '') {
|
||||
// All user objects are already loaded via the resolve statement from ui-router.
|
||||
var users = User.getAll();
|
||||
angular.forEach(users, function (user) {
|
||||
if (user.short_name == motion.submitter) {
|
||||
motion.submitters_id = [user.id];
|
||||
motion.submitter = User.get(user.id).full_name;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (motion.submitter && motion.submitter != '' && !motion.submitters_id) {
|
||||
motion.submitter_create = gettext('New participant will be created.');
|
||||
}
|
||||
// category
|
||||
if (motion.category) {
|
||||
motion.category = motion.category.replace(quotionRe, '$1');
|
||||
if (motion.category != '') {
|
||||
// All categore objects are already loaded via the resolve statement from ui-router.
|
||||
var categories = Category.getAll();
|
||||
angular.forEach(categories, function (category) {
|
||||
// search for existing category
|
||||
if (category.name == motion.category) {
|
||||
motion.category_id = category.id;
|
||||
motion.category = Category.get(category.id).name;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
if (motion.category && motion.category != '' && !motion.category_id) {
|
||||
motion.category_create = gettext('New category will be created.');
|
||||
}
|
||||
$scope.motions.push(motion);
|
||||
});
|
||||
});
|
||||
|
||||
// import from csv file
|
||||
$scope.import = function () {
|
||||
$scope.csvImporting = true;
|
||||
angular.forEach($scope.motions, function (motion) {
|
||||
if (!motion.importerror) {
|
||||
// create new user if not exist
|
||||
if (!motion.submitters_id) {
|
||||
var index = motion.submitter.indexOf(' ');
|
||||
var user = {
|
||||
first_name: motion.submitter.substr(0, index),
|
||||
last_name: motion.submitter.substr(index+1),
|
||||
groups: []
|
||||
}
|
||||
User.create(user).then(
|
||||
function(success) {
|
||||
// set new user id
|
||||
motion.submitters_id = [success.id];
|
||||
}
|
||||
);
|
||||
}
|
||||
// create new category if not exist
|
||||
if (!motion.category_id) {
|
||||
var category = {
|
||||
name: motion.category,
|
||||
prefix: motion.category.charAt(0)
|
||||
}
|
||||
Category.create(category).then(
|
||||
function(success) {
|
||||
// set new category id
|
||||
motion.category_id = [success.id];
|
||||
}
|
||||
);
|
||||
}
|
||||
Motion.create(motion).then(
|
||||
function(success) {
|
||||
motion.imported = true;
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
$scope.csvimported = true;
|
||||
};
|
||||
$scope.clear = function () {
|
||||
$scope.csv.result = null;
|
||||
};
|
||||
}
|
||||
])
|
||||
|
||||
.controller('CategoryListCtrl', function($scope, Category) {
|
||||
Category.bindAll({}, $scope, 'categories');
|
||||
|
@ -38,12 +38,7 @@
|
||||
<tr ng-repeat="category in categories | filter: filter.search | orderBy:sortby:reverse">
|
||||
<td>{{ category.prefix }}
|
||||
<td><a ui-sref="motions.category.detail({id: category.id})">{{ category.name }}</a>
|
||||
<td os-perms="motions.can_manage core.can_manage_projector" class="nobr">
|
||||
<!-- projector, TODO: add link to activate slidea-->
|
||||
<a href="#TODO" os-perms="core.can_manage_projector" class="btn btn-default btn-sm"
|
||||
title="{{ 'Show' | translate }}">
|
||||
<i class="fa fa-video-camera"></i>
|
||||
</a>
|
||||
<td os-perms="motions.can_manage" class="nobr minimum">
|
||||
<!-- edit -->
|
||||
<a ui-sref="motions.category.detail.update({id: category.id})" os-perms="motions.can_manage"
|
||||
class="btn btn-default btn-sm"
|
||||
|
140
openslides/motions/static/templates/motions/motion-import.html
Normal file
140
openslides/motions/static/templates/motions/motion-import.html
Normal file
@ -0,0 +1,140 @@
|
||||
<div class="header">
|
||||
<div class="title">
|
||||
<div class="submenu">
|
||||
<a ui-sref="motions.motion.list" class="btn btn-sm btn-default">
|
||||
<i class="fa fa-angle-double-left fa-lg"></i>
|
||||
<translate>Back to overview</translate>
|
||||
</a>
|
||||
</div>
|
||||
<h1 translate>Import motions</h1>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="details">
|
||||
|
||||
<div class="block row">
|
||||
<div class="title">
|
||||
<h3 translate>Select a CSV file
|
||||
</div>
|
||||
<div class="block right import">
|
||||
<label class="label" for="inputSeparator" translate>Separator</label>
|
||||
<input type="text" ng-model="separator" ng-change="setSeparator()" ng-init="separator=separator" id="inputSeparator">
|
||||
<br>
|
||||
<label class="label" for="selectEncoding" translate>Encoding</label>
|
||||
<select ng-model="encoding" ng-options="enc as enc for enc in encodingOptions"
|
||||
ng-selected="setEncoding()" ng-init="encoding=encoding" id="selectEncoding"></select>
|
||||
<ng-csv-import
|
||||
content="csv.content"
|
||||
header="csv.header"
|
||||
header-visible="csv.headerVisible"
|
||||
separator="csv.separator"
|
||||
separator-visible="csv.separatorVisible"
|
||||
result="csv.result"
|
||||
encoding="csv.encoding"
|
||||
encoding-visible="csv.encodingVisible"></ng-csv-import>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h4 translate>Please note:</h4>
|
||||
<ul>
|
||||
<li><translate>Required comma or semicolon separated values with these column header names in the first row</translate>:<br>
|
||||
<code>'identifier, title, text, reason, submitter, category'</code>
|
||||
<li translate>Identifier, reason, submitter and category are optional and may be empty.
|
||||
<li translate>Only double quotes are accepted as text delimiter (no single quotes).
|
||||
<li><a href="https://github.com/OpenSlides/OpenSlides/wiki/CSV-Import" translate>
|
||||
Use the CSV example file from OpenSlides Wiki.
|
||||
</a>
|
||||
</ul>
|
||||
|
||||
<div ng-if="csv.result">
|
||||
<h3 translate>Preview</h3>
|
||||
<table class="table table-striped table-bordered table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<th>#
|
||||
<th translate>Identifier
|
||||
<th translate>Title
|
||||
<th translate>Text
|
||||
<th translate>Reason
|
||||
<th translate>Submitter
|
||||
<th translate>Category</th>
|
||||
<tbody ng-repeat="motion in motions">
|
||||
<tr>
|
||||
<td class="minimum"
|
||||
ng-class="{ 'text-danger': motion.importerror, 'text-success': motion.imported }">
|
||||
<span ng-if="motion.importerror">
|
||||
<i class="fa fa-exclamation-triangle fa-lg"></i>
|
||||
</span>
|
||||
<span ng-if="!motion.importerror && !motion.imported">
|
||||
<i class="fa fa-check-circle-o fa-lg"></i>
|
||||
</span>
|
||||
<span ng-if="motion.imported">
|
||||
<i class="fa fa-check-circle fa-lg"></i>
|
||||
</span>
|
||||
<td>
|
||||
{{ $index + 1 }}
|
||||
<td ng-class="{ 'text-danger': motion.identifier_error }">
|
||||
<span ng-if="motion.identifier_error" title="{{ motion.identifier_error | translate }}">
|
||||
<i class="fa fa-exclamation-triangle pointer"></i>
|
||||
</span>
|
||||
{{ motion.identifier }}
|
||||
<td ng-class="{ 'text-danger': motion.title_error }">
|
||||
<span ng-if="motion.title_error" title="{{ motion.title_error | translate }}">
|
||||
<i class="fa fa-exclamation-triangle"></i>
|
||||
</span>
|
||||
{{ motion.title }}
|
||||
<td ng-class="{ 'text-danger': motion.text_error }">
|
||||
<span ng-if="motion.text_error" title="{{ motion.text_error | translate }}">
|
||||
<i class="fa fa-exclamation-triangle"></i>
|
||||
</span>
|
||||
{{ motion.text | limitTo:80 }}{{ motion.text.length > 80 ? '...' : '' }}
|
||||
<td>{{ motion.reason | limitTo:80 }}{{ motion.reason.length > 80 ? '...' : '' }}
|
||||
<td ng-class="{ 'text-warning': motion.submitter_create }">
|
||||
<span ng-if="motion.submitter_create" title="{{ motion.submitter_create | translate }}" class="pointer">
|
||||
<i class="fa fa-plus-circle"></i>
|
||||
</span>
|
||||
{{ motion.submitter }}
|
||||
<td ng-class="{ 'text-warning': motion.category_create }">
|
||||
<span ng-if="motion.category_create" title="{{ motion.category_create | translate }}" class="pointer">
|
||||
<i class="fa fa-plus-circle"></i>
|
||||
</span>
|
||||
{{ motion.category }}
|
||||
</table>
|
||||
|
||||
<div class="text-danger">
|
||||
<div ng-repeat="motion in motionsFailed = (motions | filter:{importerror:true})"></div>
|
||||
<i class="fa fa-exclamation-triangle"></i>
|
||||
{{ motionsFailed.length }}
|
||||
<translate>motions will be not imported.</translate>
|
||||
</div>
|
||||
<div>
|
||||
<div ng-repeat="motion in motionsPassed = (motions | filter:{importerror:false})"></div>
|
||||
<i class="fa fa-check-circle-o fa-lg"></i>
|
||||
{{ motions.length - motionsFailed.length }}
|
||||
<translate>motions will be imported.</translate>
|
||||
</div>
|
||||
<div ng-repeat="motion in motionsImported = (motions | filter:{imported:true})"></div>
|
||||
<div ng-if="motionsImported.length > 0" class="text-success">
|
||||
<hr class="smallhr">
|
||||
<i class="fa fa-check-circle fa-lg"></i>
|
||||
{{ motionsImported.length }}
|
||||
<translate>motions were successfully imported.</translate>
|
||||
</div>
|
||||
|
||||
<div class="spacer">
|
||||
<button ng-click="clear()" class="btn btn-default" translate>
|
||||
Clear preview
|
||||
</button>
|
||||
<button ng-if="!csvImporting" ng-click="import()" class="btn btn-primary" translate>
|
||||
Import {{ motions.length - motionsFailed.length }} motions
|
||||
</button>
|
||||
</div>
|
||||
<div class="spacer">
|
||||
<a ng-if="csvimported" ui-sref="motions.motion.list" class="btn btn-default">
|
||||
<i class="fa fa-angle-double-left fa-lg"></i>
|
||||
<translate>Back to motions overview</translate>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -13,6 +13,10 @@
|
||||
<i class="fa fa-tags fa-lg"></i>
|
||||
<translate>Tags</translate>
|
||||
</a>
|
||||
<a ui-sref="motions.motion.import" os-perms="motions.can_manage" class="btn btn-default btn-sm">
|
||||
<i class="fa fa-download fa-lg"></i>
|
||||
<translate>Import</translate>
|
||||
</a>
|
||||
<a ui-sref="motions_pdf" target="_blank" class="btn btn-default btn-sm">
|
||||
<i class="fa fa-file-pdf-o fa-lg"></i>
|
||||
<translate>PDF</translate>
|
||||
@ -62,10 +66,10 @@
|
||||
<div class="col-sm-12 text-left">
|
||||
<!-- delete button -->
|
||||
<a ng-show="isDeleteMode"
|
||||
os-perms="motions.can_manage" ng-click="delete()"
|
||||
os-perms="motions.can_manage" ng-click="deleteMultiple()"
|
||||
class="btn btn-primary">
|
||||
<i class="fa fa-trash fa-lg"></i>
|
||||
<translate>Delete selected items</translate>
|
||||
<translate>Delete selected motions</translate>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@ -153,7 +157,7 @@
|
||||
</span>
|
||||
<!-- quickEdit columns -->
|
||||
<td ng-if="motion.quickEdit && motion.isAllowed('quickedit')" colspan="5">
|
||||
<h4>{{ motion.getTitle() }} <span class="text-muted">– Quick Edit</span></h4>
|
||||
<h4>{{ motion.getTitle() }} <span class="text-muted">– <translate>QuickEdit</translate></span></h4>
|
||||
<alert ng-show="alert.show" type="{{ alert.type }}" ng-click="alert={}" close="alert={}">
|
||||
{{alert.msg}}
|
||||
</alert>
|
||||
|
@ -552,9 +552,8 @@ angular.module('OpenSlidesApp.users.site', ['OpenSlidesApp.users'])
|
||||
|
||||
.controller('UserImportCtrl', [
|
||||
'$scope',
|
||||
'$state',
|
||||
'User',
|
||||
function($scope, $state, User) {
|
||||
function($scope, User) {
|
||||
// import from textarea
|
||||
$scope.importByLine = function () {
|
||||
$scope.users = $scope.userlist[0].split("\n");
|
||||
|
@ -74,10 +74,10 @@
|
||||
<div class="col-sm-12 text-left">
|
||||
<!-- delete button -->
|
||||
<a ng-show="isDeleteMode"
|
||||
os-perms="users.can_manage" ng-click="delete()"
|
||||
os-perms="users.can_manage" ng-click="deleteMultiple()"
|
||||
class="btn btn-primary">
|
||||
<i class="fa fa-trash fa-lg"></i>
|
||||
<translate>Delete selected items</translate>
|
||||
<translate>Delete selected participants</translate>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user