mirror of
				https://gitlab.ub.uni-bielefeld.de/sfb1288inf/nopaque.git
				synced 2025-11-03 20:02:47 +00:00 
			
		
		
		
	Merge branch 'public-corpus' of gitlab.ub.uni-bielefeld.de:sfb1288inf/nopaque into public-corpus
This commit is contained in:
		@@ -11,6 +11,7 @@ from app.models import (
 | 
			
		||||
from ..decorators import corpus_follower_permission_required
 | 
			
		||||
from . import bp
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@bp.route('/<hashid:corpus_id>/followers', methods=['POST'])
 | 
			
		||||
@corpus_follower_permission_required('MANAGE_FOLLOWERS')
 | 
			
		||||
@content_negotiation(consumes='application/json', produces='application/json')
 | 
			
		||||
 
 | 
			
		||||
@@ -787,11 +787,17 @@ class User(HashidMixin, UserMixin, db.Model):
 | 
			
		||||
    #endregion Profile Privacy settings
 | 
			
		||||
 | 
			
		||||
    def follow_corpus(self, corpus, role=None):
 | 
			
		||||
        if role is None:
 | 
			
		||||
            cfr = CorpusFollowerRole.query.filter_by(default=True).first()
 | 
			
		||||
        else:
 | 
			
		||||
            cfr = role
 | 
			
		||||
        if self.is_following_corpus(corpus):
 | 
			
		||||
            return
 | 
			
		||||
        r = CorpusFollowerRole.query.filter_by(default=True).first() if role is None else role
 | 
			
		||||
        cfa = CorpusFollowerAssociation(corpus=corpus, role=r, follower=self)
 | 
			
		||||
        db.session.add(cfa)
 | 
			
		||||
            cfa = CorpusFollowerAssociation.query.filter_by(corpus=corpus, follower=self).first()
 | 
			
		||||
            if cfa.role != cfr:
 | 
			
		||||
                cfa.role = cfr
 | 
			
		||||
        else:
 | 
			
		||||
            cfa = CorpusFollowerAssociation(corpus=corpus, role=cfr, follower=self)
 | 
			
		||||
            db.session.add(cfa)
 | 
			
		||||
 | 
			
		||||
    def unfollow_corpus(self, corpus):
 | 
			
		||||
        if not self.is_following_corpus(corpus):
 | 
			
		||||
@@ -840,7 +846,7 @@ class User(HashidMixin, UserMixin, db.Model):
 | 
			
		||||
        if role is None:
 | 
			
		||||
            return False
 | 
			
		||||
        self.follow_corpus(corpus, role)
 | 
			
		||||
        db.session.add(self)
 | 
			
		||||
        # db.session.add(self)
 | 
			
		||||
        return True
 | 
			
		||||
 | 
			
		||||
    def to_json_serializeable(self, backrefs=False, relationships=False, filter_by_privacy_settings=False):
 | 
			
		||||
 
 | 
			
		||||
@@ -192,7 +192,7 @@
 | 
			
		||||
        <div class="input-field">
 | 
			
		||||
          <i class="material-icons prefix">badge</i>
 | 
			
		||||
          <select id="share-link-modal-corpus-follower-role-select">
 | 
			
		||||
            {% for cfr in cfrs %}
 | 
			
		||||
            {% for cfr in cfrs if cfr.name != 'Anonymous' %}
 | 
			
		||||
            <option value="{{ cfr.name }}">{{ cfr.name }}</option>
 | 
			
		||||
            {% endfor %}
 | 
			
		||||
          </select>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user