Go to file
David Barragán Merino e2d1b8ae0d Created a method decorator to change temporarily the value of an attribute to the instance 2013-11-17 16:09:06 +01:00
doc Start adding coding rules 2013-04-11 18:36:39 +02:00
greenmine Created a method decorator to change temporarily the value of an attribute to the instance 2013-11-17 16:09:06 +01:00
sql Removed some comments 2013-11-13 10:45:05 +01:00
.ctags changing language-force paramter on ctags with languages parameter 2013-04-01 09:49:02 +02:00
.gitignore Ignored greenmine/search 2013-04-26 10:10:41 +02:00
.travis.yml Minor change on .travis.ymld file. 2013-10-23 19:23:08 +02:00
AUTHORS.rst Add AUTHORS.rst file. 2013-10-07 15:58:20 +02:00
LICENSE Add initial license template (pending revision) 2013-04-07 13:40:53 +02:00
NOTICE Remove some repeated content from NOTICE file. 2013-10-17 13:25:58 +02:00
README.rst Fixed a type 2013-11-12 18:52:51 +01:00
dumpdata_role.sh Added a script to make a dump of all roles into a fixture 2013-10-30 15:08:26 +01:00
manage.py Start adding coding rules 2013-04-11 18:36:39 +02:00
regenerate.sh Update the regenerate.sh script 2013-10-16 09:30:11 +02:00
requirements.txt Changing django 1.6 requirement to use the new Django stable version 2013-11-06 18:02:29 +01:00

README.rst

Greenmine Backend
=================

.. image:: http://kaleidos.net/static/img/badge.png
    :target: http://kaleidos.net/community/greenmine/

.. image:: https://travis-ci.org/kaleidos/greenmine-back.png?branch=master
    :target: https://travis-ci.org/kaleidos/greenmine-back

.. image:: https://coveralls.io/repos/kaleidos/greenmine-back/badge.png?branch=master
    :target: https://coveralls.io/r/kaleidos/greenmine-back?branch=master


Setup development environment
-----------------------------

Just execute these commands in your virtualenv(wrapper):

.. code-block:: console

    pip install -r requirements.txt
    python manage.py syncdb --migrate --noinput
    python manage.py loaddata initial_user
    python manage.py sample_data
    python manage.py createinitialrevisions

You have to load the sql sentences of the file ``sql/tags.sql`` and your database
must support PL/Python. You use a dbuser with privileges in the database,
'greenmine' for example, to do this.

.. code-block:: console

    psql greenmine

.. code-block:: sql

    CREATE LANGUAGE plpythonu;

    CREATE OR REPLACE FUNCTION unpickle (data text)
        RETURNS text[]
    AS $$
        import base64
        import pickle

        return pickle.loads(base64.b64decode(data))
    $$ LANGUAGE plpythonu IMMUTABLE;

    CREATE INDEX issues_unpickle_tags_index ON issues_issue USING btree (unpickle(tags));


Note: greenmine only runs with python 3.3+.

Note: Initial auth data: admin/123123


Polyfills
---------

Django-Rest Framework by default returns 403 for not authenticated requests and permission denied
requests. The file ``greenmine/base/monkey.py`` contains a temporary fix for this bug.

This patch is applied when the module ``base.models`` it's loaded. Once it's solved on django rest
framework, this patch can be removed.